agenten in simulierten umgebungen landminensuche ii stefan fleischer stephan kramer alexander simons...

66
Agenten in simulierten Agenten in simulierten Umgebungen Umgebungen dminensuche II dminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1 Agenten in simulierten Umgebungen -1

Upload: franziska-gaubatz

Post on 05-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Agenten in simulierten Agenten in simulierten UmgebungenUmgebungen

Landminensuche IILandminensuche II

Stefan Fleischer

Stephan Kramer

Alexander Simons

Agenten in simulierten Umgebungen -1-Agenten in simulierten Umgebungen -1-

Page 2: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Gliederung (I)Gliederung (I)

Agenten in simulierten Umgebungen -2-Agenten in simulierten Umgebungen -2-

2. Ansätze2. Ansätze1. Systematische Suche2. Kommunikation3. Zentrale Informationsverwaltung

4. Befehlshabender Roboter

1. Wiederholung: Robbi1. Wiederholung: Robbi1. Was Robbi kann…2. „Warum bin ich so dumm?“3. Offensichtliche Verbesserungsmöglichkeiten

Page 3: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Gliederung (II)Gliederung (II)

Agenten in simulierten Umgebungen -3-Agenten in simulierten Umgebungen -3-

3. Realisierung: Schritt für Schritt3. Realisierung: Schritt für Schritt 1. Rundumcheck 2. „Wo war ich schon, wo will ich hin?“

3. Wegfindung1. Einführung

2. Der Dijkstra-Algorithmus3. Best-First-Search4. Der A*-Algorithmus

4. Kommunikation1. Flooding vs. Verteiler

Page 4: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Gliederung (III)Gliederung (III)

Agenten in simulierten Umgebungen -4-Agenten in simulierten Umgebungen -4-

5. Der „Commander“ 1. Verwaltung und Verteilung von

Informationen1. Roboter meldet sich an

2. Roboter meldet sich ab3. Roboter entdeckt unerforschtes Land4. Roboter ändert seine Position

2. Behandlung von Fehlinformationen3. Einzelne Einsatzgebiete

1. Ermittlung geeigneter Einsatzgebiete2. Zuweisung der Einsatzgebiete

Page 5: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Gliederung (IV)Gliederung (IV)

Agenten in simulierten Umgebungen -5-Agenten in simulierten Umgebungen -5-

4. Effektivität der verwendeten Methoden4. Effektivität der verwendeten Methoden

5. Weitere - nicht realisierte - Möglichkeiten5. Weitere - nicht realisierte - Möglichkeiten

6. Beurteilung der Simulationsumgebung6. Beurteilung der Simulationsumgebung

7. Alternative Simulationsideen7. Alternative Simulationsideen

Page 6: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

1.1. Wiederholung: RobbiWiederholung: Robbi

Agenten in simulierten Umgebungen -6-Agenten in simulierten Umgebungen -6-

1.1 Was Robbi kann…• zu untersuchende Felder werden zunächst

mit dem Stoßsensor überprüft…

• …falls kein Hindernis identifiziert wird,

verwendet Robbi den Metalldetektor

• Karten, in denen ausschließlich Metallminen

hinterlegt sind, werden von Robbi vollständig

„aufgedeckt“ (Ausnahmen)

Page 7: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

1. Wiederholung: Robbi1. Wiederholung: Robbi

1.1 Was Robbi kann…1.1 Was Robbi kann…

1. Wiederholung Robbi

1. Was Robbi kann…

2. „Warum bin ich so dumm?“

3. Offensichtliche Verbesserungs-

möglichkeiten

• trifft Robbi auf eine Mine, kontaktiert er

umgehend seinen Agentenkollegen, um ihm

die Position der gefundenen Mine mitzuteilen

• Beispiel: Metallkarte.map (Hans und Herse )

Start:

• gefundene Minen und Hindernisse werden rot

eingefärbt

Agenten in simulierten Umgebungen -7-Agenten in simulierten Umgebungen -7-

Page 8: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

1. Wiederholung: Robbi1. Wiederholung: Robbi

1.2 „Warum bin ich so dumm?“1.2 „Warum bin ich so dumm?“

1. Wiederholung Robbi

1. Was Robbi kann…

2. „Warum bin ich so dumm?“

3. Offensichtliche Verbesserungs-

möglichkeiten

Agenten in simulierten Umgebungen -8-Agenten in simulierten Umgebungen -8-

Was Robbi allerdings nicht kann…Was Robbi allerdings nicht kann…

• …Minen ohne Metallgehalt aufspüren

• …sich die Felder merken, die er bereits

überprüft hat

• …sich den Weg merken, den er zurückgelegt hat

• …sich den kürzesten Weg „überlegen“

• …die Karte untereinander „aufteilen“

Page 9: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

1. Wiederholung: Robbi1. Wiederholung: Robbi

1.3 Offensichtliche1.3 Offensichtliche VerbesserungsmöglichkeitenVerbesserungsmöglichkeiten

1. Wiederholung Robbi

1. Was Robbi kann…

2. „Warum bin ich so dumm?“

3. Offensichtliche Verbesserungs-

möglichkeiten

Agenten in simulierten Umgebungen -9-Agenten in simulierten Umgebungen -9-

Verbesserung der Intelligenz der Roboter durch:

• effiziente Wegfindungsalgorithmen (Der

A*-Algorithmus, Kap. 3.3)

• effizientere Informationsverwaltung (bereits

kontrollierte Felder merken,… Kap. 3.2)

• verbesserte Kommunikation (Kap. 3.4)

• Arbeitsteilung (Der „Commander“, Kap. 3.5)

Page 10: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

2. Ansätze2. Ansätze

2.1 Systematische Suche

Agenten in simulierten Umgebungen -10-Agenten in simulierten Umgebungen -10-

• Roboter sollten zunächst die angrenzenden

Felder kontrollieren…

• …sofern sie noch nicht kontrolliert wurden

• hat der Roboter sämtliche (8) umliegenden

Felder überprüft, muss er sich zu einem

geeigneten neuen Feld bewegen

Page 11: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

2.2 Kommunikation2.2 Kommunikation

Agenten in simulierten Umgebungen -11-Agenten in simulierten Umgebungen -11-

2. Ansätze2. Ansätze 2. Ansätze

1. Systematische Suche

2. Kommunikation

3. Zentrale Informationsverwaltung

4. Befehlshabender Roboter

• Roboter müssen sich einander mitteilen und

ihre Karten abgleichen

• Welche Felder wurden kontrolliert?

• Welche Beschaffenheit besitzen die Felder?

• Minen?

• Hindernisse?

• Wasser?

Page 12: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

2.3 Zentrale Informations-2.3 Zentrale Informations- verwaltungverwaltung

Agenten in simulierten Umgebungen -12-Agenten in simulierten Umgebungen -12-

2. Ansätze2. Ansätze 2. Ansätze

1. Systematische Suche

2. Kommunikation

3. Zentrale Informationsverwaltung

4. Befehlshabender Roboter

• Roboter speichern ihre „Version“ der Karte

(lokale Datenverwaltung)…

• …jedoch wird eine fehlerfreie Version der

Karte an zentraler Stelle gespeichert

• z.B. Zusammenstoß von Robotern

Page 13: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

2.4 Befehlshabender 2.4 Befehlshabender RoboterRoboter

Agenten in simulierten Umgebungen -13-Agenten in simulierten Umgebungen -13-

2. Ansätze2. Ansätze 2. Ansätze

1. Systematische Suche

2. Kommunikation

3. Zentrale Informationsverwaltung

4. Befehlshabender Roboter

• verwaltet die gemeinsame Karte

• verantwortlich für die Aufteilung der Karte

zwischen den Robotern

Page 14: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3. Realisierung3. Realisierung

3.1 Rundumcheck

Agenten in simulierten Umgebungen -14-Agenten in simulierten Umgebungen -14-

3. Realisierung

1. Rundumcheck

2. „Wo war ich schon,…“

3. Wegfindung

4. Kommunikation

5. Der „Commander“

Page 15: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.2 „Wo war ich schon, ...“3.2 „Wo war ich schon, ...“

Agenten in simulierten Umgebungen -15-Agenten in simulierten Umgebungen -15-

3. Realisierung3. Realisierung3. Realisierung

1. Rundumcheck

2. „Wo war ich schon,…“

3. Wegfindung

4. Kommunikation

5. Der „Commander“

Page 16: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.2 „…wo will ich hin?“3.2 „…wo will ich hin?“

Agenten in simulierten Umgebungen -16-Agenten in simulierten Umgebungen -16-

3. Realisierung3. Realisierung

• Alle benachbarten Felder gecheckt

Positionswechsel

• Als neue Position eignen sich Felder, die…

• …noch nicht betreten wurden

chooseFieldInVicinity

• …noch gar nicht erforscht wurden

chooseFieldInWorkingArea

3. Realisierung

1. Rundumcheck

2. „Wo war ich schon,…“

3. Wegfindung

4. Kommunikation

5. Der „Commander“

Page 17: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.2 „…wo will ich hin?“3.2 „…wo will ich hin?“

Agenten in simulierten Umgebungen -17-Agenten in simulierten Umgebungen -17-

3. Realisierung3. Realisierung3. Realisierung

1. Rundumcheck

2. „Wo war ich schon,…“

3. Wegfindung

4. Kommunikation

5. Der „Commander“

Page 18: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.2 „…wo will ich hin?“3.2 „…wo will ich hin?“

Agenten in simulierten Umgebungen -18-Agenten in simulierten Umgebungen -18-

3. Realisierung3. Realisierung3. Realisierung

1. Rundumcheck

2. „Wo war ich schon,…“

3. Wegfindung

4. Kommunikation

5. Der „Commander“

Page 19: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung3.3 Wegfindung

Agenten in simulierten Umgebungen -19-Agenten in simulierten Umgebungen -19-

3. Realisierung3. Realisierung3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

3.3.1 Einführung: „Warum Wegfindung?“3.3.1 Einführung: „Warum Wegfindung?“

Start

Ziel

Problem:Problem:

Ineffiziente Wegfindungs-

algorithmen bleiben im

Hindernis „hängen“!

Page 20: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: Einführung3.3 Wegfindung: Einführung

Agenten in simulierten Umgebungen -20-Agenten in simulierten Umgebungen -20-

3. Realisierung3. Realisierung

„Sichtradius“

• Hindernis wird zu spät bemerkt• Weg ist ineffizient

• ein guter Wegfindungs-

algorithmus betritt das „U“-

Hindernis nur, wenn sich das

Ziel dort befindet

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 21: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: Einführung3.3 Wegfindung: Einführung

Agenten in simulierten Umgebungen -21-Agenten in simulierten Umgebungen -21-

3. Realisierung3. Realisierung

Die Algorithmen:Die Algorithmen:

• ...basieren auf Graphen im

mathematischen Sinn (Knoten, Kanten,...)

• Karten können als Graphen angesehen

werden (Entfernungen zwischen den

einzelnen Feldern entsprechen den

Bewertungen der Kanten)

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 22: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung3.3 Wegfindung

Agenten in simulierten Umgebungen -22-Agenten in simulierten Umgebungen -22-

3. Realisierung3. Realisierung

3.3.2 Der Dijkstra-Algorithmus3.3.2 Der Dijkstra-Algorithmus

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 23: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: Dijkstra3.3 Wegfindung: Dijkstra

Agenten in simulierten Umgebungen -23-Agenten in simulierten Umgebungen -23-

3. Realisierung3. Realisierung

Beispiel!

• ausgehend von einem Startknoten wird der

jeweils kürzeste, erreichbare Knoten

ausgewählt...

Soll heißen:Soll heißen:

• ...bis der Zielknoten erreicht ist!

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 24: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: Dijkstra3.3 Wegfindung: Dijkstra

Agenten in simulierten Umgebungen -24-Agenten in simulierten Umgebungen -24-

3. Realisierung3. Realisierung

Fazit:Fazit:

• gieriger Algorithmus: Aus-

wahl des nächstgelegenen,

erreichbaren Knotens

• der Algorithmus ist optimal,

solange keine Kante nega-

tive Kosten besitzt

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 25: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: Dijkstra3.3 Wegfindung: Dijkstra

Agenten in simulierten Umgebungen -25-Agenten in simulierten Umgebungen -25-

3. Realisierung3. Realisierung

Fazit:Fazit:

• der Algorithmus ist jedoch

nicht optimal effizient: Es

werden zu viele Knoten

expandiert!

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 26: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung3.3 Wegfindung

Agenten in simulierten Umgebungen -26-Agenten in simulierten Umgebungen -26-

3. Realisierung3. Realisierung

3.3.2 Best-First-Search3.3.2 Best-First-Search

• funktioniert ähnlich wie der Dijkstra-

Algorithmus...

• ...er verwendet jedoch eine Heuristik, aus

der hervorgeht, wie nah jeder Knoten vom

Zielknoten entfernt ist

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 27: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: BF-Search3.3 Wegfindung: BF-Search

Agenten in simulierten Umgebungen -27-Agenten in simulierten Umgebungen -27-

3. Realisierung3. Realisierung

• nicht derjenige Knoten wird expandiert, der

die geringste Entfernung zum Startknoten

aufweist, sondern derjenige, der am

nächsten am Zielknoten liegt

Beispiel!

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 28: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: BF-Search3.3 Wegfindung: BF-Search

Agenten in simulierten Umgebungen -28-Agenten in simulierten Umgebungen -28-

3. Realisierung3. Realisierung

Fazit:Fazit:

• die Lösung muss nicht

optimal sein

• der Algorithmus ist schneller

als der Dijkstra-Algorithmus:

Er expandiert weniger

Knoten

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 29: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung3.3 Wegfindung

Agenten in simulierten Umgebungen -29-Agenten in simulierten Umgebungen -29-

3. Realisierung3. Realisierung

3.3.3 Der A*-Algorithmus3.3.3 Der A*-Algorithmus

• Kombination von Dijkstra und BFS:

Es werden Knoten expandiert, die sich...

• ...möglichst nahe am Startknoten und...

• Bewertungsfunktion: f(n) = g(n) + h(n)

• ...möglichst nahe am Zielknoten befinden

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 30: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -30-Agenten in simulierten Umgebungen -30-

3. Realisierung3. Realisierung

• f(n): geschätzte Kosten für die optimale

Lösung durch n

• n: zu expandierender Knoten

• g(n): Pfadkosten (vom Startkosten zu n)

• h(n): geschätzte Kosten des optimalen

Pfades von n zu einem Zielknoten

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 31: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -31-Agenten in simulierten Umgebungen -31-

3. Realisierung3. Realisierung

• wobei h*(n) die tatsächlichen

(unbekannten) Kosten des optimalen

Pfades von n zum Zielknoten sind

(„zulässige Heuristik“)

Beispiel!

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

• für die Schätzung h(n) muss gelten:

h(n) h*(n)

Page 32: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -32-Agenten in simulierten Umgebungen -32-

3. Realisierung3. Realisierung

Fazit:Fazit:

• mit dem A*-Algorithmus

werden wesentlich weniger

Knoten expandiert als mit

dem Dijkstra-Algorithmus

• A* nutzt die Vorteile der

Verwendung einer Heuristik

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 33: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -33-Agenten in simulierten Umgebungen -33-

3. Realisierung3. Realisierung

Fazit:Fazit:

• A* ist optimal effizient für

jede beliebige Heuristik-

funktion

• Algorithmen, die weniger

Knoten expandieren, gehen

das Risiko ein, die optimale

Lösung zu übersehen

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 34: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -34-Agenten in simulierten Umgebungen -34-

3. Realisierung3. Realisierung

Fazit:Fazit:

• im einfachsten Fall, werden

genau so viele Knoten

expandiert,

wie beim BFS-

Algorithmus

= !!!

3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 35: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -35-Agenten in simulierten Umgebungen -35-

3. Realisierung3. Realisierung3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 36: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -36-Agenten in simulierten Umgebungen -36-

3. Realisierung3. Realisierung3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 37: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -37-Agenten in simulierten Umgebungen -37-

3. Realisierung3. Realisierung3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 38: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.3 Wegfindung: A*-Algorithmus3.3 Wegfindung: A*-Algorithmus

Agenten in simulierten Umgebungen -38-Agenten in simulierten Umgebungen -38-

3. Realisierung3. Realisierung3. Realisierung

3. Wegfindung

1. Einführung

2. Dijkstra

3. Best-First-Search

4. A*-Algorithmus

Page 39: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.4 Kommunikation3.4 Kommunikation

Agenten in simulierten Umgebungen -39-Agenten in simulierten Umgebungen -39-

3. Realisierung3. Realisierung3. Realisierung

4. Kommunikation

4.1 Flooding vs. Verteiler

5. Der „Commander“

• sendMessage und receiveMessage erwarten

bzw. liefern Nachrichten in Form von Strings

• Je nach Art der Nachricht müssen die einzelnen

Daten auf unterschiedliche Weise in dem String

abgelegt werden

• Overhead bezüglich Programmieraufwand

und Quellcode

Einheitliche Schnittstelle

Page 40: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.4 Kommunikation3.4 Kommunikation

Agenten in simulierten Umgebungen -40-Agenten in simulierten Umgebungen -40-

3. Realisierung3. Realisierung3. Realisierung

4. Kommunikation

4.1 Flooding vs. Verteiler

5. Der „Commander“

Page 41: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.4 Kommunikation3.4 Kommunikation

Agenten in simulierten Umgebungen -41-Agenten in simulierten Umgebungen -41-

3. Realisierung3. Realisierung3. Realisierung

4. Kommunikation

4.1 Flooding vs. Verteiler

5. Der „Commander“

Page 42: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.4 Kommunikation3.4 Kommunikation

Agenten in simulierten Umgebungen -42-Agenten in simulierten Umgebungen -42-

3. Realisierung3. Realisierung3. Realisierung

4. Kommunikation

4.1 Flooding vs. Verteiler

5. Der „Commander“

Page 43: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.4 Kommunikation3.4 Kommunikation

Agenten in simulierten Umgebungen -43-Agenten in simulierten Umgebungen -43-

3. Realisierung3. Realisierung

3.4.1 Flooding vs. Verteiler3.4.1 Flooding vs. Verteiler

3. Realisierung

4. Kommunikation

4.1 Flooding vs. Verteiler

5. Der „Commander“

Page 44: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5 Der Commander3.5 Der Commander

Agenten in simulierten Umgebungen -44-Agenten in simulierten Umgebungen -44-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Sucht keine Minen, …

• …sondern dient als Verwalter und Verteiler

von Informationen, …

• …teilt die Karte in einzelne Einsatzgebiete auf…• …und weist jedem Roboter eines dieser

Gebiete zu

Page 45: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -45-Agenten in simulierten Umgebungen -45-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Roboter meldet sich an

• Roboter entdeckt unerforschtes Land

• Roboter ändert seine Position

• Roboter meldet sich ab

Page 46: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -46-Agenten in simulierten Umgebungen -46-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Der „Commander“ führt eine Liste aller Roboter

Page 47: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -47-Agenten in simulierten Umgebungen -47-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Roboter entdeckt unerforschtes Land

Page 48: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -48-Agenten in simulierten Umgebungen -48-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Der „Commander“ aktualisiert die Karte und

benachrichtigt alle anderen Roboter

Page 49: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -49-Agenten in simulierten Umgebungen -49-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Roboter ändert seine Position

Page 50: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -50-Agenten in simulierten Umgebungen -50-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Der „Commander“ aktualisiert die Karte und die Position

des Absenders und benachrichtigt alle anderen Roboter

Page 51: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -51-Agenten in simulierten Umgebungen -51-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Roboter meldet sich an

Page 52: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -52-Agenten in simulierten Umgebungen -52-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Der „Commander“ nimmt den Roboter in seine List auf

Page 53: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -53-Agenten in simulierten Umgebungen -53-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Roboter meldet sich ab

Page 54: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Verwaltung und Verteilung3.5.1 Verwaltung und Verteilung von Informationenvon Informationen

Agenten in simulierten Umgebungen -54-Agenten in simulierten Umgebungen -54-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Der „Commander“ entfernt den

Roboter aus seiner Liste

Page 55: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Behandlung von3.5.1 Behandlung von FehlinformationenFehlinformationen

Agenten in simulierten Umgebungen -55-Agenten in simulierten Umgebungen -55-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Einzelne Roboter wissen nichts voneinander

• Trifft ein Roboter einen anderen, hält er

diesen für ein Hindernis und benachrichtigt

den „Commander“

• Der „Commander“ identifiziert diese

Fehlinformation und schickt die Nachricht

an den Absender zurück

Page 56: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Behandlung von3.5.1 Behandlung von FehlinformationenFehlinformationen

Agenten in simulierten Umgebungen -56-Agenten in simulierten Umgebungen -56-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Wurde ein Roboter als Hindernis angesehen?

Page 57: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Behandlung von3.5.1 Behandlung von FehlinformationenFehlinformationen

Agenten in simulierten Umgebungen -57-Agenten in simulierten Umgebungen -57-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Wurde ein Roboter als Hindernis angesehen?

Page 58: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Einzelne3.5.1 Einzelne EinsatzgebieteEinsatzgebiete

Agenten in simulierten Umgebungen -58-Agenten in simulierten Umgebungen -58-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

• Einteilung der Karte in Einsatzgebiete

• „Flinsch-Einsatzgebiet-Zerlegungs-Algorithmus“

Gebiet in mindestens so viele Teile zerlegen,

wie es Roboter gibt

Anzahl an horizontalen Grenzen und

vertikalen Grenzen möglichst ausgewogen• Jedem Roboter ein Einsatzgebiet zuweisen

Page 59: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Einzelne3.5.1 Einzelne EinsatzgebieteEinsatzgebiete

Agenten in simulierten Umgebungen -59-Agenten in simulierten Umgebungen -59-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

Page 60: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

3.5.1 Einzelne3.5.1 Einzelne EinsatzgebieteEinsatzgebiete

Agenten in simulierten Umgebungen -60-Agenten in simulierten Umgebungen -60-

3. Realisierung3. Realisierung3. Realisierung

5. Der „Commander“

1. Verwaltung und Verteilung…

2. Behandlung von Fehlinformationen

3. Einzelne Einsatzgebiete

Page 61: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Agenten in simulierten Umgebungen -61-Agenten in simulierten Umgebungen -61-

• A*-Algorithmus als am besten geeignetes

Verfahren zur Wegfindung

3. Realisierung

4. Effektivität der verwendeten…

5. Weitere - nicht realisierte - …

6. Beurteilung der Simulations…

7. Alternative Simulationsideen

4. Effektivität der4. Effektivität der verwendeten Methodenverwendeten Methoden

• Roboter verfügen über eigene

Einsatzgebiete, d.h. sie kommen sich nicht

in die Quere

• Nachrichtenaustausch über Verteiler

effizienter

Page 62: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Agenten in simulierten Umgebungen -62-Agenten in simulierten Umgebungen -62-

• „Intelligentere“ Zuweisung der Einsatzgebiete

3. Realisierung

4. Effektivität der verwendeten…

5. Weitere - nicht realisierte - …

6. Beurteilung der Simulations…

7. Alternative Simulationsideen

5. Weitere - nicht realisierte -5. Weitere - nicht realisierte - MöglichkeitenMöglichkeiten

• Einsatzgebiet komplett gecheckt

neue Einsatzgebiete ermitteln/zuweisen

• Verwendung des optischen

und des Infrarot-Sensors

• Noch nicht erforschte Felder werden in

optimierter Reihenfolge abgearbeitet

• ???

Page 63: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Agenten in simulierten Umgebungen -63-Agenten in simulierten Umgebungen -63-

• PROs:

6. Beurteilung der6. Beurteilung der SimulationsumgebungSimulationsumgebung

• Realisiert FIPA-Standards

• Flexibel (erweiterbar)

• Sehr Einfache Bedienung

3. Realisierung

4. Effektivität der verwendeten…

5. Weitere - nicht realisierte - …

6. Beurteilung der Simulations…

7. Alternative Simulationsideen

• Plattform unabhängig

Page 64: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Agenten in simulierten Umgebungen -64-Agenten in simulierten Umgebungen -64-

• CONTRAs:

6. Beurteilung der6. Beurteilung der SimulationsumgebungSimulationsumgebung

• Allgemein sehr „buggy“

• Teilweise instabil

• Quellcode passt nicht zu vorkompilierten

Klassen Anpassung nicht möglich

3. Realisierung

4. Effektivität der verwendeten…

5. Weitere - nicht realisierte - …

6. Beurteilung der Simulations…

7. Alternative Simulationsideen

• Sehr schöne „spielerische“ Simulation,

doch von der Realität weit entfernt

Page 65: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Agenten in simulierten Umgebungen -65-Agenten in simulierten Umgebungen -65-

• Keine gekachelte Umgebung, …

7. Alternative7. Alternative SimulationsideenSimulationsideen

• …sondern eine auf Vektoren basierende Umgebung

• 3D-Landschaften

• Bekanntes, „verseuchtes“ Terrain

3. Realisierung

4. Effektivität der verwendeten…

5. Weitere - nicht realisierte - …

6. Beurteilung der Simulations…

7. Alternative Simulationsideen

• Verschiedene Missionen/Einsätze

• Bewertung eines Einsatzes (Zeitbedarf,

Energieverbrauch, Materialverlust)

• Pause-Funktion, Replay-Funktion, …

• ???

Page 66: Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons Agenten in simulierten Umgebungen -1-

Agenten in simulierten Agenten in simulierten UmgebungenUmgebungen

Stefan Fleischer

Stephan Kramer

Alexander Simons

Agenten in simulierten Umgebungen -66-Agenten in simulierten Umgebungen -66-