Agenten in simulierten Umgebungen Landminensuche II Stefan Fleischer Stephan Kramer Alexander Simons...

Preview:

Citation preview

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-

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

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

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

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

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)

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-

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“

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)

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

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?

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

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

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“

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“

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“

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“

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“

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“!

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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“

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“

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“

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“

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

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

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

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

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

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

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

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

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

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

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

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

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?

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?

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

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

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

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

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

• ???

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

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

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, …

• ???

Agenten in simulierten Agenten in simulierten UmgebungenUmgebungen

Stefan Fleischer

Stephan Kramer

Alexander Simons

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

Recommended