Projektseminar: Neuroinformatik und Agenten - Lernende Systeme
Neuroinformatik und Agenten - Robotfußballer
Projektseminar im WiSe 2006/07
W.-M. Lippe / D. Lammers
Zustand der Seite: DRAFT
Aktuelles
14. Juli 2006 / DL:
Inhalt ergänzt
Juli 2006 / DL:
Seite erstellt
Schwerpunktbereiche des Projektseminars
Unter Neuroinformatik wird das Zusammenwachsen der Bereiche
Künstliche Neuronale Netze, Fuzzy-Logic, Genetische Algorithmen
und Chaostheorie verstanden. Im Rahmen des Seminars werden
in einer spezialisierten Softwareagenten-Umgebung - dem Soccer-Server -
insbesondere die Bereiche Anwendung von Softcomputing und
unüberwachtes Lernen bei Künstlichen Neuronalen Netzen
behandelt.
Aufbauend auf die im Sommer 2006 entwickelten Strukturen
(Soccer-Mannschaft in Java, Interfaces für die Einbindung der
KI) gibt es dabei mehrere interessante Entwicklungsmöglichkeiten:
Übergang zum 3D-Simulator
Im Sommer hatten wir uns aus technischen Gründen bei
der Realisierung einer Mannschaft für den
2D-Soccer-Simulator entschieden. Mehr aktuelle Forschung
beschäftigt sich aber zur Zeit mit dem
3D-Simulator. Grundprginzipien und Rumpfmannschaft bleiben
dabei im wesentlichen gleich, da sich aber die Spiel-/Ballphysik
ändert, ändert sich insbesondere an den "intuitiven" Stellen
- also an den Stellen, an denen KI besonders erfolgreich
sein könnte - etwas.
KI auf unterschiedlichen Niveaus,
Vergleich klassischer KI mit NN/Fuzzy,
Vergleich unterschiedlicher Lernansätze
Man darf nicht glauben, das ein einziges NN einen Spieler
steuert. Ein Spieler ist zunächst mal ein relativ klassisch
programmierter Softwareagent, der an einigen Stellen für
Entscheidungen ggf. neuronale Netze zu Rate zieht: wie
fest schiesse ich, wohin ziele ich, ...
Man kann nun Situationen in unterschiedliche Niveaus
lernen lassen: eher "muskulär" wie in den Beispielen oben,
oder auch auf der Taktik-Ebene (Mit wem spiele ich ggf. Doppelpass?
Gehe ich mit in den Angriff, oder halte ich mich eher abwehrbereit?)
Je nach Modellierung der Welt können sich für diese
unterschiedlichen Niveaus unterschiedliche
Techniken/Lernregeln/Paramter-Kombinationen eigenen, das
gilt es zu untersuchen.
Trainer und Spielkommentator
Im Soccer-Server ist vorgesehen, das Trainer-Agenten
und Kommentator-Agenten das Spiel beobachten und analysieren.
Trainer können dann versuchen, ihre Mannschaft auf Gegner einzustellen,
und Spielkommentatoren müssen natürlich das Publikum mitreissen.
Spielanalyse kann natürlich während des Spiels als auch nachträglich
gemacht werden. All das ist bei uns noch nicht angegangen worden.
Technische Grundlagen, verwendete System
Die virtuellen Fußballer spielen auf einen Multi-Agenten-Server,
dem Robocup Soccer Simulation Server.
Die Spieler kommunizieren mit dem Server via definiertem (Internet-)Protokoll.
Entwicklungsumgebungen bzw. Baukästen für
Neuronale Netze / Fuzzy Logic stehen in mehreren Varianten zur Verfügung, z.B. durch eine
am Lehrstuhl Lippe entwickelte Software (Java),
einige Varianten lassen sich auch gut in Matlab behandeln. Am
FB10 ist das auf den Linux-Arbeitsplätzen überall direkt
verfügbar, auf angemeldeten Windowssystemen kann es via
sms-Paket (Systemsteuerung->Run Advertises Programs)
installiert werden, auf externen Windowssystemen kann es gemäß
Anleitung aus dem ZIV-Archiv
installiert
werden.
Lernziele, Termine, Arbeitsablauf
Neben den eigentlichen Ergebnis soll als Ergebnis vor allem ein
Lernprozess erfolgen: Zusammenarbeit in einer Gruppe, ggf. unter
Zeitdruck, mit ggf. unscharf formulierten Zielen,
Zwischenergebnissen, Deadlines, Kundenerwartungen, diversen
Präsentationen, etc. Dazu gehört auch eine gewisse
Selbstorganisation der Gruppe. Wir stellen dazu einen Raum und
Arbeitsplätze, im optimalen Fall für die Laufzeit des Seminars
vollzeit.
Teilnehmer sollten auch damit rechnen, das ein sehr
wesentlicher Teil ihrer Arbeitskraft und -zeit in der Projekt
einfließt, also deutlich mehr als für ein normales
Seminar. Termine für (regelmäßige) Treffen mit den "Kunden",
also den Seminarveranstaltern, werden dann on the fly
vereinbart.
Was ist eigentlich ein (Software-)agent?
Ein Softwareagent ist ein Stück Software, das mehr oder
weniger folgende Eigenschaften hat: Nach Übermittlung der
Aufgabe handelt der Agent autonom und proaktiv, zur Lösung der
Aufgabe kommuniziert er mit anderen Agenten und
ggf. handelt er reaktiv in seiner Umwelt,
er ist eventuell mobil, kann
sich veränderten Umfeldern und Fragestellungen
anpassen, lernt im Laufe seines Lebenszyklus
dazu, insgesamt wirkt sein Handeln auf einen Beobachter
intelligent.
Allgemeine Bedingungen
Leistungsnachweis
Projektseminarschein (11/16CP) durch ausreichende Mitwirkung an
Projektorganisation, Design und Implementierung,
Projektdokumentation, Protokoll der Treffen, Abschlussbericht und
Präsentation.
Termine
Das Projektseminar startet zu Beginn der Vorlesungszeit des Wintersemesterm 2006/07,
und wird sich erfahrungsgemäß bis zum Beginn der Vorlesungszeit Sommersemester 2007
hinziehen.
Die Teilnehmer sollten durchgängig im Projektseminarraum am Projekt arbeiten,
regelmässige Besprechungstermine werden dann vereinbart.
Für WIler:
Prof. Becker ist zwar zur Zeit nicht zu erreichen, aber
Prof. Lippe versichert unter Bezug auf Prof. Kuchen, das die WI
das Projektseminar akzeptieren wird.