DAInamite

RoboCup Simulation 2D

Kontakt: Dipl.-Inform. Axel Heßler
Website: http://www.dainamite.de/

 

Die Robocup-Simulationsliga ist ein ideales Testbett, um neue Verfahren der künstlichen Intelligenz und des maschinellen Lernens zu entwickeln und zu erforschen. Besonders von Vorteil ist, dass das Problemfeld leicht zu erfassen ist (Fußball), die Problemstellung aber hinreichend komplex ist, und daher genügend Raum für neue und bessere Verfahren bietet. Der Wettkampf-Gedanke liefert zusätzliche Motivation, um die Ergebnisse nicht nur messbar, sondern auch möglichst optimal zu gestalten.

DAInamite ist ein Robocup-Team für die 2D Simulation League, und wurde in einem Anwendungsprojekt für Multiagenten-Systeme im Wintersemester 2004 an der TU Berlin entwickelt. Anders als die meisten Teams ist DAInamite in Java implementiert, da insbesondere an der TU Berlin diese Sprache weiter verbreitet ist, und somit einem größeren Spektrum an Studenten zugänglich gemacht werden kann. Neben den Forschungs- und Lehraktivitäten nimmt das Team auch seit 2006 an den offiziellen Weltmeisterschaften teil.  Gleich im ersten Versuch qualifizierte sich das Team für die offizielle Robocup Weltmeisterschaft in Bremen und belegte dort den 9. Platz. Somit ist DAInamite das erste Java-basierte Team, das erfolgreich an einer Robocup-WM teilgenommen hat.

Ziel

Eine Zielstellung bei der Implementierung des DAInamite-Frameworks ist, eine Plattform zu erlangen, die es erlaubt, sofort neue Ansätze zu implementieren und zu evaluieren. Erst diese Eigenschaft erlaubt es, das Framework für Lehre und Forschung effizient einsetzen zu können. Darauf aufbauend sollen neue wissenschaftliche Resultate in Form von Lehrveranstaltungen und Diplomarbeiten erarbeitet werden. Im Vordergrund stehen dabei Koordinations- und Lernverfahren (Reinforcement Learning) sowie neue Ansätze für Agenten-Architekturen in komplexen und dynamischen Systemen.

Realisierung

Zunächst galt es, eine Agenten-Architektur zu definieren und zu implementieren, die den Anforderungen der Simulationsliga gerecht wird. Im Kern ist die Simulationsumgebung eine Client-Server Architektur, wobei jeder Agent die Kontrolle über einen Spieler (Client) übernimmt, und ein zentraler Server die Umwelt simuliert. 

Darauf aufbauend benötigt jeder Spieler ein Weltmodell (sein Wissen über die Umwelt), Fähigkeiten (z.B. Dribblen) und taktisches Wissen (z.B. dynamische Rollen, Entscheidungsfunktionen). Diese Konzepte wurden modular und im Falle der taktischen Entscheidungsfunktion leicht erweiterbar in das Framework integriert. Ein weiterer wichtiger Aspekt ist die Visualisierung der Agenten und ihrer Eigenschaften, um implementiertes Verhalten besser testen zu können. Aus diesem Grund wurde ein Monitor in das Framework integriert, der mit Analyse-Tools angereichert worden ist.