agenten in simulierten umgebungen landminensuche ii stefan fleischer stephan kramer alexander simons...
TRANSCRIPT
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-