Universität Bielefeld Universität Bielefeld - Technische Fakultät - AG WBS


Multiagentensysteme - Eine praktische Einführung

Blockseminar im Grund- und Hauptstudium, Sommersemester 2005

Termin: 25.7.-29.7.2005, täglich von 10 - 17 Uhr
Raum: C01-277/281
Beginn: 25.07.2005, 10 Uhr ct.
Veranstalter: Christian Becker, Thies Pfeiffer

Link zum Eintrag der Veranstaltung im eKVV

Open-Source Software "Breve" für die Programmierung von Agenten in einer OpenGL-3D-Umgebung:

Zum Runterladen des Sofwarepakets gibt's hier einen Link zum Breve-Projekt

Inhalt/Kommentar:

In Ergänzung zum theoretischen Seminar "Multiagentensysteme" dient dieses Seminar dazu, erste praktische Erfahrungen im Umgang mit Theorien der Multiagentensysteme zu sammeln. Zudem werden Grundlagen der 3D-Programmierung vermittelt, da angefangen bei Einzelagenten bis hin zu konkurierenden Agententeams eine virtuelle 3D-Welt bevölkert wird. Wir werden auf dem Open-Source Softwarepaket "Breve" aufbauend Theorien zur Kommunikation, Koordination und Kooperation anwenden. Um die imperative Interpretersprache "Steve" kennenzulernen, die zur Programmierung in Breve genutzt wird, gehen wir als Erstes das Braitenberg-Tutorial mit euch Schritt für Schritt durch, um danach beispielhaft das "Mars Explorer Experiment" von Luc Steels zu simulieren, wie es in "An Introduction to MultiAgent Systems" beschrieben wird. Abschliessend werden wir ein Turnier aller Agententeams paarweise gegeneinander durchführen.

Voraussetzungen/Vorkenntnisse:

Explizite Vorkenntnisse werden nicht verlangt, erwünscht ist allerdings ein aktives Interesse an der Thematik der Künstlichen Intelligenz und Programmiererfahrung in Java ist von Vorteil. Das Blockseminar richtet sich an Studierende des Grund- und Hauptstudiums.

Scheinkriterien:


Ergebnisse:

Als Abschluss des Blockseminars wurde ein one-on-one Turnier in der Mars-Explorer-World durchgeführt. Dabei bestand jedes Team von Gold-sammelnden Agenten aus vier Teammitgliedern und je zwei Teams spielten paarweise gegeneinander. Eine Runde war nach 300 Sekunden zu Ende und da die Agenten kontinuierlich Energie verloren, mussten sie auf ihren Energievorrat achten und ihn ggf. durch Verzehr eines aufgesammelten Goldstücks wieder auffüllen. Für jeden überlebenden Agenten gab es drei Punkte und jedes zum Mutterschiff gebrachte Goldstück zählte einen Punkt. Jeder Agent verfügte über unendlich viele "radioaktive Brotkrumen", die zur indirekten Kommunikation dienen konnten, da jeder Agent pro Sekunde ein bis zwei davon fallen lassen bzw. jederzeit einen "Brotkrumen" seines eigenen Teams aufsammeln konnte. Ausserdem waren die Agenten mit einem gerichteten "Sonar" mit kurzer Reichweite ausgestattet, über welches sie Objekte in ihrer direkten Umgebung wahrnehmen konnten (Linien in den Screenshots).
Beispielhaft folgen nun Screenshots eines Spieles zwischen zwei Teams, die im Abstand von je 60 Sekunden zueinander aufgenommen wurden:
WumpusVSAntLions Start Startaufstellung:
  • Team Wumpus grün.
  • Team Antlions rot.
  • Alle Agenten starten vom Mutterschiff ihres Teams aus in zufälliger Richtung.
  • Die weißen Kugeln stellen das einzusammelnde Gold dar.
  • Die gelben Kästen sind Wände.
  • Die Wahrnehmung der Agenten wird durch rote Linien visualisiert.
  • Punktestand 12:12. Pro Agent drei Punkte.
Nach 60 Sekunden:
  • Gleichstand, es bleibt spannend.
  • Alle Agenten sind noch am Leben und beide Teams haben je fünf Goldstücke eingesammelt.
  • Erste "Traces" sind entstanden, die sich allerdings Performanz-bedingt nach 120 Sekunden von allein auflösen werden.
120 Sekunden nach dem Start:
  • Die Antlions haben bereits beide Anhäufungen "entdeckt", wie an den "Traces" zu erkennen.
  • Einen Wumpus hat es erwischt: Ohne Energie bleibt er dunkelgrün "auf der Strecke". Deshalb 20:15 für die Antlions.
Wieder 60 Sekunden später:
  • Die Wumpileins haben die Ost-West-Achse für sich entdeckt.
  • Einem Antlion geht gleich der Sprit aus, denn bereits abgelieferte Goldstücke können nicht mehr "verzehrt" werden.
  • Zwischenstand: 22 : 17 für die Antlions.
240 Sekunden nach Spielbeginn:
  • Der "Ausreisser" wildert im Territorium der Wumpileins.
  • Zwei Antlions haben jetzt arge Probleme.
  • Fünf Punkte Vorsprung für die Antlions und noch eine Minute zu spielen.
Schluss, aus und vorbei:
  • Endstand: 17 : 19 für Team Wumpus.
  • Von den Antlions haben nur zwei überlebt, von den Wumpileins jedoch 3.
  • Dafür hat ein Antlion eindeutig die weiteste Strecke in feindliches Gebiet mit Mut und Tatendrang zurückgelegt.

Die Endergebnisse im Überblick:

Antlions Lighttaker Miyamoto Smiley Agent_Mops Exception Killaz Retro Pizza Killas Deadlocker thim iXtrihm WumpusRevival Punktzahl Gew. Spiele
Antlions X 13 20 22 14 10 17 15 14 17 142 8
Light taker 12 X 15 16 7 12 15 7 11 12 107 4
Miyamoto 12 17 X 8 19 13 14 22 19 6 130 6
Smiley 6 6 9 X 14 17 12 7 13 9 93 6
Agent_Mops 12 13 17 12 X 24 7 7 13 15 120 4
Exception Killaz 5 4 8 3 9 X 8 3 8 6 54 0
Retro Pizza Killers 11 19 5 8 10 16 X 9 9 17 104 5
Deadlocker 12 7 5 6 9 13 10 X 8 9 79 4
thim iXtrihm 18 10 4 11 11 14 7 9 X 10 94 3
WumpusRevival 14 11 7 11 14 9 11 3 18 X 98 4

Wir gratulieren herzlich dem glorreichen Gewinnerteam Antlions!


Literatur:


Christian Becker,
Thies Pfeiffer,

16.08.2005