I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

51
I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem

Transcript of I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Page 1: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

I. M., Christian Lange, U. P.

Rescue team simulation

Multiagentensystem

Page 2: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Gliederung

1) Aufgabe Agenten Unterschiede/Funktion

2) Umsetzung3) Entity-Package4) Control-Package5) GUI-Package

Page 3: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Gliederung

5) (No)CollisionNoCoordination Agenten

6) search-Algorithmus7) (No)CollisionCoordination Agenten8) Erweiterungen, Verbesserungen9) Programmvorstellung10) Ergebnisse der Simulation

Page 4: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Aufgabe MAS zum Retten von Unfallopfern Survivor

Verschlechtert seinen Gesundheitszustand mit einer Wahrscheinlichkeit von 60% je Zeiteinheit

Ausgangsgesundheit globaler Parameter Agent

Random NoCollisionNoCoordination CollisionNoCoordination NoCollisionCoordination CollisionCoordination

Page 5: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Agenten RandomRandom

Bewegen sich zufällig Strafversetzung beim Kollidieren mit

anderen Agenten Survivor gerettet durch Betreten des

Feldes

AA S

Page 6: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Agenten NoCollisionNoCoordination / NoCollisionNoCoordination /

CollisionNoCoordinationCollisionNoCoordination Bewegen sich mittels intelligente

Algorithmen Kollisionen

Vermeiden Strafversetzung

Survivor werden gerettet durch Betreten des Survivor-Feldes

AA S

Page 7: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Agenten NoCollisionCoordination / NoCollisionCoordination /

CollisionCoordinationCollisionCoordination Bewegen sich mittels intelligente

Algorithmen Kollisionen

Vermeiden Strafversetzung

Rettet den Survivor durch Umkreisen dieses

A A

A S

A A

A A A

A S A

A A A

A A A

S A

A A

Page 8: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Aufgabe Einstellungen

Anzahl der Agenten Anzahl der Survivor Größe des Feldes Episoden

Eine Episode beendet, wenn alle Survivor gerettet worden sind

StatistikStatistik Durchschnittliche Rettungszeit Durchschnittliche gerettete Survivor je

Agentenart

Page 9: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Umsetzung Erarbeiten der Agentenfunktionalität Recherche nach ähnlichen Projekten

Sehr komplexe Algorithmen Klassendiagramm erstellt

- Implementierung des Simulators

Aufgabenverteilung

Page 10: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Aufgabenverteilung

I. M.I. M. U. P.U. P. Christian Christian LangeLange

Erstellen des CollisionManagerErstellen der NoCollisionNoCoordination/ CollisionNoCoordination AgentenImplementieren der abstracten Agenten, Teams

Team Agenten (NoCollisionCoordination/ CollisionCoordination Agenten)Erweiterung Rescued Manager

Grafische Darstellung der Welt und der AgentenGrafische Auswertung der ErgebnisseImplementieren der abstracten Agenten, Welt, Surviors, Random Agenten, Rescued Manager

Page 11: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Entwicklungsumgebung Java 1.5 Update 9

Plattformunabhängig Eclipse 3.2.1

Freeware Bibliotheken

JFreeChart

Page 12: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Entity-Package

Page 13: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

World Klasse, welche die Welt repräsentiert

kapselt Teams und Survivor Enthält das „Spielfeld“

Field-Objekte Was befindet sich auf dem Feld? Was ist der Zustand des Feldes?

explored?

Page 14: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Team

Ein Team für jede Agentenart Enthält die Agenten Besitzt die „TeamWorld“ Steuert Agenten und gibt Anweisungen

des Systems weiter Stellt globale Teamvariablen bereit Kommunikation innerhalb des Teams Teams konkurrieren

Page 15: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Agent & Survivor Agent

ID Aktuelle Position Zielpositon nearestSurvivor

Survivor ID Gesundheitszustand rescued

Page 16: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Control-Package

Page 17: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Control-Klassen „RescueSystem“

steuert den Ablauf in einem Zeitschritt & in den Episoden

ruft die Manager auf Manager

„CollisionManager“ Prüft, ob Kollisionen und löst diese

„RescuedManager“ Prüft, ob Survivors gerettet wurden

Page 18: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

„RescueSystem“ steuert den Ablauf

Nachricht an die Teams Agenten „sollen sich umschauen“ & ihre „Wunschposition“

Aufruf „CollisionManager“ Nachricht an die Teams

Agenten auf nächste Position updaten der World/TeamWorld

Felder setzen (durch Teams) „RescuedManager“ Gesundheitszustand der Survivors verändern GUI neu zeichnen

Page 19: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

GUI-Package

Page 20: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

GUI Swing JMenuBar JToolBar JTabbedPane JPanel

Page 21: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Einstellungen Anzahl der Agenten Sichtweite Wahrscheinlichkeit Gesundheitszustand Anzahl der Survivor Anzahl der Episode und die Pausenzeit

Page 22: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Statistiken 3 Arten Implementiert

Ø gerettete Survivors je Agent pro Episode je Team pro Episode

Ø Zeit für das Retten eines Survivors Exportieren und Drucken der

Diagramme

Page 23: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Ines Moosdorf, Christian Lange, Ulrike Plötner

(No)CollisionNoCoordinationAgent

I. M.

AA S

Page 24: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Einleitung

NoCollisionNoCoordination &CollisionNoCoordination

Beide gleiche Art, um Survivor zu befreien

haben beide gleiche Algorithmen Unterschied nur bei Kollisionskonfliktlösen Sind keine Individualisten, sondern

kommunizieren

Page 25: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Ablauf Agent

Sensorik

Überlegung

Aktorik

Page 26: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Sensorik

Agent: lookAround()

schaut sich x Kästchen weit um trägt Entdeckungen in TeamWorld ein

Page 27: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Überlegung

Team: findDestinations() kürzeste Wege für alle Agenten zu

allen Survivors ermittelt Utilities übergibt diese Daten dem Agenten

Agent: berechnet daraus „Expected Utilities“und bestimmt damit seinen optimalen Survivor

Page 28: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Berechnung „Expected Utility“

= Probability x UtilityP.. ProbabilityS.. Summe aller kürzesten Wege eines Agentenk.. Kürzester Weg zum aktuellen Survivor

Utility.. Kehrwert des Gesundheitszustand des

Survivors

S

kSP

health

1

Page 29: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Kommunikation zwischen den Agenten wird vom Team angestoßen klären, wer welchen Survivor bekommt für jeden Survivor ein Agent (s=a) wenn weniger Survivor als Agenten

die besten laufen zu den Survivors & die restlichen durchsuchen andere Felder (search())

wenn noch kein Survivor Agent ruft search()-Methode auf

Page 30: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Kommunikation zwischen den Agenten - Details

Page 31: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Nächster Schritt Agenten, die einen Survivor

festzugeordnet bekommen haben: Nächste Position: Feld, welches näher

am Survivor dran ist als ihr aktuelles Feld

Agenten, die keinen Survivor haben: search()-Algorithmus:

solange in eine Richtung gerade aus laufen, bis sie gegen eine Wand laufen

Page 32: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Kollisionsprüfung

CollisionManager Control-Klasse solveCollisions()

Page 33: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Aktorik Team: moveAllAgents()

Ruft move() der Agenten auf ändert Status der Felder in der

TeamWorld und in der „echten“ Welt Änderung in der Umgebung

Agent: move() Gewünschte Position wird zur

aktuellen Position Änderung im Agenten

Page 34: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

TODO – (No)CollisionNoCoordination

search()-Algorithmus nicht optimal NoCollision-Agenten

Kollisionsalgorithmus

Page 35: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Ines Moosdorf, Christian Lange, Ulrike Plötner

(No)CollisionCoordinationAgent

U. P.

A A

A S

A A

A A A

A S A

A A A

A A A

S A

A A

Page 36: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Ablauf

lookAround

findDestinations

move

Page 37: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

findDestination

findDestination

search

if no survivor found

else

coordinateRescue

Page 38: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

search

definiere geradeaus

laufe geradeaus

while possible

not possible

Page 39: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Grundgedanken

Einteilung der Agenten in Rettungsteams

ANIM – AgentsNotInMission SNIM – SurvivorsNotInMission SIM – SurvivorsInMission

Page 40: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

findDestinations()

findDestinations() {

checkDisappearedSurvivors();

checkNewSurvivors();

coordinateRescue();

}

Page 41: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

coordinateRescue()

SIM: calcNextPositionRescueTeam() Bildung der Rettungsteams aus ANIM

wenn es SNIM gibt: calcAgentsForRescue() calcShortestWays() putPrioritySurviovrInMission()

Page 42: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Erweiterungen

CollisionManager Sichtweite der Agenten

momentan können sie hinter Mauern sehen

Page 43: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Erweiterungen

Page 44: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Verbesserungen

search-Algorithmus Coordination-Agents:

flexiblere Teams prioritySurvivor

Page 45: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Programmvorstellung

Page 46: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Ergebnisse der Simulation

Page 47: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Ergebnisse der Simulation

Page 48: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.

Ergebnisse der Simulation Größe 30x30 2 RandomAgents 1 CollisionNoCoordinationAgent 3 CollisionCoordinationAgent Sichtweite 2 Survivors 30 Episoden 10

Page 49: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.
Page 50: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.
Page 51: I. M., Christian Lange, U. P. Rescue team simulation Multiagentensystem.