Projektseminar: Neuroinformatik und Agenten - Lernende Systeme
Neuroinformatik und Agenten - Robotfußballer im virtuellen Raum
Projektseminar im SoSe 2007
W.-M. Lippe / D. Lammers
Zustand der Seite: DRAFT
Aktuelles
April 2007/DL
Im Sommersemester findet das Projektseminar nicht statt.
Das Projekt wird voraussichtlich im Wintersemester 2007/08 fortgesetzt.
Jan 2007 / 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 3D-Soccer-Server -
insbesondere die Bereiche Anwendung von Softcomputing und
Lernen mit Künstlichen Neuronalen Netzen
behandelt.
Nach einigen vobereitenden Seminaren haben wir uns ab Sommer 2006
intensiver mit der Entwicklung einer eigenen Mannschaft
für die Simulationsliga beschäftigt.
Im Sommersemester 2006 war dann eine Mannschaft für die 2D-Simulation
fertiggestellt, die nocht nicht weltmeisterlich spielte, aber
durchaus gehobenes Spielniveau bot.
Nun beschäftigen sich mit der 2D-SoccerWelt schon viele Arbeitgruppen
intensiv und lange, und Fortschritt findet nur noch in kleinen Schritten
statt.
Auch aus dem Grund haben wir uns im Wintersemester 06/07
für die Entwicklung einer 3D-Mannschaft entschlossen. Hier
gelten wieder ganz anderer Regeln und Gesetzmäßigkeiten, und
man kann schneller ein konkurrenzfähigfes Niveeau errreichen - hoffen wir.
Trotzdem haben wir uns nicht zur German Open angemeldet - zum
Zeitpunkt der Anmeldungfrist war unklar, ob unserer Mannschaft
einigermassen sinnvoll spielen würde. Zudem ist die Mannschaft
noch etwas algorithmenlastig - wenig KI, wenig Lernen, wenig
Flexibilität. Genau hier möchten wir mit zwei möglichen Punkten
fortsetzen:
KI auf unterschiedlichen Niveaus,
Vergleich Algorithmen / klassische 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 sind eigente Programme, die über ein
Kommunikationsprotokoll über einem Multi-Agenten-Server in einer
Simulationsumgebung spielen.
Die beiden entwickelten Mannschaften sind (mit Eclipse) in
Java erstellt, die Basis-Kommunikation erfolgt über
eingebundenen C++-Routinen. Das Umfeld für das Neuronale Netz
ist ebenfalls über Java-Klassen realisiert.
Als Groupware wird BSCW verwendet.
Für die diversen Server und Programme stehen Systeme und
Arbeitsplätze in einem Projektseminarraum zur Verfügung.
Zielgruppe
Zielgruppe des Projektseminars sind im wesentlichen Studierende
mit Abschluss Diplom-Informatik.
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.
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 (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 Sommersemesterm 2007,
und wird sich erfahrungsgemäß bis zum Beginn der Vorlesungszeit des folgenden Semesters hinziehen.
Interessenten mögen sich bitte
frühzeitig bei Dietmar Lammers anmelden,
am besten per EMail,
mit Angabe von Name, Email, Matrikelnummer, Studienfach. Eine
Vorbesprechung findet dann nach Absprache mit den Interessenten
Ende Januar / Anfang Februar statt.