84
Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten, Daniel Beckmann, Philip Harborth, Philipp Kühl, Marcel Scheibmayer, Thomas Waldeyer 26. September 2006

Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Embed Size (px)

Citation preview

Page 1: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Die WWUScorchersRealisierung einer RoboCup Soccer Server Mannschaft

Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“Robin Baumgarten, Daniel Beckmann, Philip Harborth, Philipp Kühl, Marcel Scheibmayer, Thomas Waldeyer

26. September 2006

Page 2: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 2

Gliederung

● Einleitung● Aufbau der Mannschaft● Nutzung künstlicher Intelligenz● Bewertung und Zusammenfassung

Page 3: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 3

Überblick

● RoboCup– Zielsetzung: humanoide Roboterfußballmannschaft im Jahr

2050, die gegen aktuellen Weltmeister gewinnt– Verschiedene Ligen, unter anderem die Simulationsliga– Multiagentensimulation!

● Spieler– Erfüllen die Voraussetzungen eines Agenten

(autonom, proaktiv, reaktiv, kommunikativ, lernfähig, […]) ● Neuroinformatik

– Einsatz und Nutzung von künstlicher Intelligenz beim RoboCup:Entscheidungsfindung in den softwarerealisierten Spielern

Page 4: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 4

Projektübersicht

● Projektvorgaben:– Entwicklung einer konkurrenzfähige Mannschaft

für den RoboCup in Java– Nutzung von künstlicher Intelligenz

● Herausforderungen:– Projektplanung, -koordination und -durchführung

● Aufgabendefinition, -verteilung und –durchführung● Ablaufplanung, -kontrolle

– Stetiger Austausch zwischen den Seminarteilnehmern– Evolutionäres, inkrementelles Modell (stufenweise,

Einbeziehung gewonnener Erfahrungen in die Entwicklung)

Page 5: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 5

Projektablauf

● Vorüberlegung, Projektumriss, Planung ● Aufbau der Mannschaft

– Basisfunktionen, essentielle Klassen– Evolutionäre und inkrementelle Entwicklung– Spiel ohne KI

● Integration der KI in die Mannschaft– Einarbeitung in, Nutzung und Einsatz von künstlicher Intelligenz– Spiel mit KI

● Bewertung der Mannschaft– Kritische Betrachtung der Mannschaft– Vergleich „mit KI vs. ohne KI“

Page 6: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 6

Gliederung

● Einleitung● Aufbau der Mannschaft● Nutzung künstlicher Intelligenz● Bewertung und Zusammenfassung

– Ablauf und Anordnung der Java-Pakete– basics– communication– information– objects– logic

Page 7: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 7

Überblick über die Java -Pakete

basics

communication

information objects

logic trainer

logic.tactics

logic.moves

errorBackpropagationNet

Page 8: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 8

basics – Start des Teams

basics

communication

information objects

logic trainer

logic.tactics

logic.moves

errorBackpropagationNet

Page 9: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 9

basics – Start des Teams

● StarteTeam– erzeugt und initialisiert 11 Spieler– meldet Mannschaft am Soccer Server an– danach autonomes Handeln jedes einzelnen Spielers

● PlayerControl– initiiert alle benötigten Objekte des Spielers

● Tools– enthält verschiedene Methoden, die global genutzt werden– z.B. Berechnung der Entfernung zwischen zwei Punkten

Page 10: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 10

communication – Aufbau der Kommunikation mit dem

Server

basics

communication

information objects

logic trainer

logic.tactics

logic.moves

errorBackpropagationNet

Page 11: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 11

communication – Aufbau der Kommunikation mit dem

Server● Communicator

– hält die Kommunikation zwischen Client (Spieler) und Server aufrecht

– sendet und empfängt Daten-Strings ● Sender

– nimmt Sendedaten entgegen und leitet sie zum Commmunicator● Receiver

– „horcht“, ob Communicator Daten-Strings empfängt– leitet diese sofort an den MessageParser weiter

● MessageParser– syntaktische Verarbeitung der Daten-Strings– Informationen als String -> Informationen als Zahlenwerte (float

…)

Page 12: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 12

information – Verarbeitung der

Informationen

basics

communication

information objects

logic trainer

logic.tactics

logic.moves

errorBackpropagationNet

Page 13: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 13

information

Page 14: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 14

information - AuralProcessor

● Nachrichten vom Schiedsrichter– Z.B. KICK_OFF_L, GOAL_R, OFFSIDE_R, HALF_TIME, TIME_UP

● Nachrichten von anderen Spielern

Page 15: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 15

information - BodyProcessor

● Erhält jeden Tick Daten● Spielerrelevante Eigenschaften, z.B.

– Stamina– Kopfdrehung– Geschwindigkeit– Sehqualität– Blickwinkel

Page 16: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 16

information - ParamProcessor

● Grundlegende Variablen werden übermittelt, z.B.– Breite des Tors– Eigene Rückennummer– Seite des Spielers

Page 17: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 17

information - VisualProcessor

● Sammelt alle ‚gesehenen‘ Daten des Spielers:– Flaggen– Linien– Andere Spieler– Ball

● Jedes Objekt wird durch Winkel und Entfernung festgelegt

● Daten sind verrauscht

Page 18: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 18

information - VisualProcessor

● Lokalisierung: Umwandeln der relativen Positionsangaben in absolute

– Bestimmung der Drehung– Bestimmung der x-, y-Koordinaten

Page 19: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 19

information - VisualProcessor

● Bestimmung der Drehung:– Voraussetzung: Zu jedem Zeitpunkt des Spiels ist eine Linie

sichtbar– Übergabe einer Linie:

● Entfernung zum Schnittpunkt mit der Blickrichtungshalbgerade

● Winkel zwischen Blickrichtungshalbgerade und Linie

Page 20: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 20

information - VisualProcessor

D is tanz

S p ie lfe ld lin ieS p ie ler

W in k e l

Stu fenw inkel

9 0 °-

Page 21: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 21

information - VisualProcessor

● Bestimmung der Koordinaten:– Um den Fehler durch Verrauschen zu minimieren, bestimme

eigene Position anhand aller gesehener Flaggen– Dazu:

● Schlage Position vor● Bestimme Entfernung und Winkel, die die Flaggen dort

hätten● Differenz zu den gemessenen Daten ergibt Fehlerwert

Page 22: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 22

information - VisualProcessor

Fehlergebirge bei festen Eingabedaten:

Page 23: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 23

information - VisualProcessor

● Auftretendes ‚Fehlergebirge‘ ist ‚glatt‘:– Es gibt keine lokalen Minima außer dem globalen Minimum

● Bergsteigeralgorithmus konvergiert gegen dieses globale Minimum

● Absolute Positionen anderer Objekte können nun direkt bestimmt werden

Page 24: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 24

information - Status

● Zentrale Schnittstelle für alle Informationen, die der Spieler besitzt

● Empfängt Daten von den Processoren, und speichert sie in adäquaten Strukturen

Page 25: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 25

objects – Bereitstellung der Daten

basics

communication

information objects

logic trainer

logic.tactics

logic.moves

errorBackpropagationNet

Page 26: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 26

objects

Page 27: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 27

objects

● Enthält die Klassen:– GameObject– FieldObject– Line– Flag– MobileObject– Ball– Player– Self– Game

Page 28: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 28

objects

● Objekte dienen der geordneten Speicherung der durch die Prozessoren gewonnenen Daten

● Einige Objekte enthalten weiterverarbeitende Methoden:

– Ballbesitz– Bestimmung der Bewegungsrichtung und Geschwindigkeit

Page 29: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 29

objects – Der Ball

● Ballbesitz:– In zukünftigen Positionen des Balles wird nahster Spieler

bestimmt– Abhängig von Entfernung werden Teams Punkte

gutgeschrieben– Punkteverhältnis ergibt Ballbesitzverhältnis– Unsicherheitsfaktor

Page 30: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 30

objects – Der Ball

e ig e n e r S p ie le rB all

Page 31: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 31

objects – Der Ball

e ig e n e r S p ie le rB all

B all in 1 0 T ic k s

Page 32: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 32

objects – Der Ball

e ig e n e r S p ie le rB al l

B all in 2 0 T ick s

Page 33: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 33

objects – Der Ball

e ig e n e r S p ie le rB all

B all in 3 0 T ic k s

Page 34: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 34

objects – Der Ball

● Ballgeschwindigkeit und –bewegungsrichtung– Da erfasste Daten verrauscht sind, ist Ballposition ungenau

● Abweichungen von einigen Metern sind möglich– Bestimmung der Geschwindigkeit und Richtung über zwei

aufeinander folgende Positionen schlecht– Daher: Alternative mit Überprüfung, ob Ball gekickt

Page 35: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 35

objects – Der Ball

● Ballgeschwindigkeit und –bewegungsrichtung– Dazu Berücksichtigung von mehreren Faktoren:

● Steht ein anderer Spieler nah am Ball?● Steht der eigene Spieler nah am Ball und hat ein KICK-

Befehl gesendet?● Hat der Ball den Pfosten berührt?● Tritt zusätzlich noch eine große Geschwindigkeits- oder

Richtungsänderung auf, wird Ball als gekickt erkannt.

Page 36: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 36

objects – Der Ball

● Ballgeschwindigkeit und –bewegungsrichtung– Falls Ball als gekickt erkannt wurde:

● Speichere Position des Balles als Kickposition● Soll zu einem späteren Zeitpunkt Bewegungsrichtung

bestimmt werden, so durch Winkel der Ballposition mit Kickposition

● Ballgeschwindigkeit: Mittele alle errechneten Geschwindigkeiten ab Kickzeitpunkt (Beschleunigung berücksichtigt)

Page 37: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 37

objects – andere Spieler

● Speicherung der anderen Spieler– Fast nie alle Spieler im Blickfeld, oft keine Rückennummern

erkennbar– Daher: Zwei Speicherstrukturen

● Temporäre Liste von allen gesehenen Spielern ohne erkannte Rückennummer

● Feste Liste mit allen Spielern– Aktualisiert Spieler, falls Rückennummer erkannt wird– Falls nur ungefähre Position benötigt wird, kann Position

auch einige Zeit nach Verlassen des Blickfeldes geschätzt werden

Page 38: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 38

Überblick über die Java -Pakete

basics

communication

information objects

logic trainer

logic.tactics

logic.moves

errorBackpropagationNet

Page 39: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 39

logic

● Das Paket logic enthält folgende Unterpakete und Klassen: – logic.Strategy– logic.tactics.*– logic.Operation– logic.moves.*– logic.BasicFunctions

Page 40: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 40

logic.Strategy

● Eigenständiger Thread auf höchster Entscheidungsebene:

– Entscheidet abhängig vom Spielverlauf über die Taktik der Spieler

– „globale“ Entscheidungen– Erfordert „feste“ Informationen

Page 41: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 41

logic.tactics.*

● Eigenständiger Thread:– Wird von der Informationsverarbeitung angestoßen– Entscheidet jede Runde über den konkreten Spielzug eines

Spielers– Verschiedene Positionen besitzen unterschiedliche Taktiken– Grundverhalten sind bei allen Spielern gleich.– Realisierung durch Vererbung in Java.

Page 42: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 42

Klassendiagramm logic.tactics.*

Page 43: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 43

Entscheidungsfindung (1)

● Entscheidung über das Verhalten des Spielers abhängig von 3 Fällen:– Spieler im Ballbesitz– Team im Ballbesitz– Gegner im Ballbesitz

● Feste Spielzüge bei Team/Gegner im Ballbesitz● Interessantester Fall: Eigener Ballbesitz

Page 44: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 44

Entscheidungsfindung (2)

Page 45: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 45

Danger-System (1)

● Drei möglichen Aktionen bei eigenem Ballbesitz:– Dribbeln– Passen– Torschuss

● Entscheidungsfindung durch Danger-System

Page 46: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 46

Danger-System (2)

● Bestimmung des Danger-Wertes:1. Betrachtung zukünftiger Ballpositionen2. Bestimmung eines Grundwertes3. Multiplikation mit einem Positions-Faktor („positionRating“)4. Manuelle Anpassung des Wertes für spezielle Situationen

Page 47: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 47

Danger-System (3)

● Danger-Wert beschreibt Güte einer Aktion.● Bei eigenem Ballbesitz werden folgende Danger-Werte

berechnet:– Dribbling-Danger– Pass-Danger– GoalKick-Danger

● Die Position mit dem jeweils geringsten Danger-Wert wird ausgewählt und übergeben.

Page 48: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 48

Danger-System (4)

● Vergleich der Danger-Werte Entscheidungsfindung

● Vorteile dieses Systems:– Flexibel– Leicht anpassbar– Lösungen für alle Situationen

Page 49: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 49

logic.Operation

● Bindeglied zwischen logic.tactics und logic.moves:– „Kapselt“ Spielzüge– Ermöglicht rundenübergreifende Spielzüge– Kontrolliert Nackensteuerung

Page 50: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 50

logic.moves.*

● Klassen setzen komplexere Bewegungsabläufe um:– Informationen von Status/Taktik– Berechnung zusätzlicher Informationen– Aufruf von Basisfunktionen

● Zu komplex für Basisfunktionen

Page 51: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 51

logic.Moves.*

● Folgende Spielzüge wurden implementiert:– Goalkick– Dribbling– Pass– GoTo– ReceivePass– InterceptBall– CoverOpponent– GoalieMoves– SearchBall– Shouts

Page 52: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 52

Beispiel: Dribbeln (1)

Page 53: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 53

Beispiel: Dribbeln (2)

Page 54: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 54

Beispiel: Dribbeln (3)

Page 55: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 55

Beispiel: Dribbeln (4)

Page 56: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 56

Beispiel: Dribbeln (5)

Page 57: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 57

logic.BasicFunctions

● Kommunikation mit Server durch Grundbefehle● Weitere Aufgaben:

– Überprüft die Gültigkeit der übergebenen Argumente– Berechnet tatsächlichen Drehmoment bei turn– Korrigiert ggf. Werte im Status

Page 58: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 58

Gliederung

● Einleitung● Aufbau der Mannschaft● Nutzung künstlicher Intelligenz● Bewertung und Zusammenfassung– trainer

– errorBackpropagation

Page 59: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 59

Nutzung künstlicher Intelligenz

● Verhalten der Spieler soll durch den Einsatz von KI verbessert werden

– z.B. optimales Ballabfangen● Vorraussetzungen:

– Ein- und Ausgabe – Parameter festlegen– Daten sammeln– KI Methode auswählen

● Tools: MFOSS, Neurodimension, Joone Eigene Implementierung eines KNN mit Hilfe anderer

Ansätze

erfolglos !

Page 60: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 60

Überblick über die Java -Pakete

basics

communication

information objects

logic trainer

logic.tactics

logic.moves

errorBackpropagationNet

Page 61: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 61

Der Trainer

● Schaffung von Trainingssituationen mit Hilfe des Trainers

– Online-Coach vs. Offline-Coach– Anmeldung beim Server wie jeder Spieler– Kommunikation über eigenen Port– Trainer erhält unverzerrte Daten– Alle Objekt sichtbar und beeinflussbar:

● Spielerpositionen verändern, Spielerbewegung vorgeben● Ballposition verändern, Richtung und Geschwindigkeit

vorgeben

Einfaches Erschaffung von Trainingssituationen

Page 62: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 62

Der Trainer

Page 63: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 63

Der Trainer

● Klassen zur Trainer-Benutzung– TrainerControl

● Initialisierung– TrainerTactic

● Methoden zur Steuerung des Ablaufs der Trainingssituation– TrainerInformation

● Informationsbereitstellung der durch den Trainer gewonnen Daten

– Außerdem eigener MessageParser und MessageReceiver, um Trennung zu Spielerkommunikation zu erreichen

Page 64: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 64

Der Trainer

● Verwendung des Trainers– Beispiel: Ball an bestimmte Position legen und Richtung und

Geschwindigkeit festlegen– Methode MoveBall schickt Nachricht an den Server der die

Aktion durchführt– Ständige Informationen über aktuelle Ball- und

Spielerpositionen können für weitere Berechnungen innerhalb der Trainingssituation verwendet werden (KI-Berechnungen)

– Trainer hat eigenes InformationsStatus-Objekt– StatusObjekt des zu trainierenden Spielers wird übergeben

– Hilfsmethoden: EyeMode, Recover, ChangePlayMode

Page 65: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 65

Trainingsdaten sammeln

● Trennung von Sammeln der Daten und der späteren Berechnung

● „Zwischenspeicher“ MySQL Datenbank auf zentralem Server

● Klasse DbConnector für den Zugriff aus die Datenbank

● Methoden zum Ein- und Ausgeben von Daten

Page 66: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 66

Ansätze anderer Entwicklerteams

● Trainingssituation „Ballabfangen“ bei anderen Teams– Nur 34% positive Situationen, in denen der Ball richtig

abgefangen wurde

Zu wenig Trainingsdaten gesammelt (ca. 4000)

In unserem Training: ca. 120.000 Datensätze gespeichert

Größere Wahrscheinlichkeit eines guten Ballabfangens

Page 67: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 67

Trainingssituation - Ballabfangen

EndDistancePlayerDirection

BallDirection &

BallSpeed

StartDistance

zu früh !

Page 68: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 68

Trainingssituation - Ballabfangen

Optimal !

Page 69: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 69

Trainingssituation - Ballabfangen

EndDistance

zu spät !

Page 70: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 70

0

5

10

15

20

25

30

0 15 30 45 60 75 90

playerDirection

endD

ista

nce

TrainingNeuronales Netz

Trainingsdaten

StartDistance=24, BallDirection=120 und BallSpeed=1,5

Page 71: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 71

Trainingssituation

Page 72: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 72

Überblick über die Java -Pakete

basics

communication

information objects

logic trainer

logic.tactics

logic.moves

errorBackpropagationNet

Page 73: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 73

errorBackpropagationNet

● Aufbau des Error-Backpropagation-Netzes:– 1 Eingabeschicht– 1 versteckte Schicht– 1 Ausgabeschicht – mit jeweils beliebig vielen Neuronen

● Zur Verfügung stehende Methoden:– Initialisieren– Trainieren– Testen– Anwenden

Page 74: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 74

.: :::.:

1. Error-Backpropagation-Netz

.:

?.:

startDistance

ballDirection

ballSpeed

playerDirection

endDistance

Page 75: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 75

Anzahl Neuronen

0

0,001

0,002

0,003

0,004

0,005

0,006

0,007

0,008

0,009

0 10 20 30 40 50 60

Anzahl Neuronen in der versteckten Schicht

MSE

Page 76: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 76

1. Error-Backpropagation-Netz

.:

30.:

startDistance

ballDirection

ballSpeed

playerDirection

endDistance

Page 77: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 77

Anzahl Trainingszyklen

0

0,002

0,004

0,006

0,008

0,01

0,012

0,014

0,016

0 200 400 600 800 1000

Anzahl Trainingszyklen

MSE

Page 78: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 78

0

5

10

15

20

25

30

0 15 30 45 60 75 90

playerDirection

endD

ista

nce

TrainingNeuronales Netz

0

5

10

15

20

25

30

0 15 30 45 60 75 90

playerDirection

endD

ista

nce

TrainingNeuronales Netz

Ergebnis

Minimum

optPlayerDirection

StartDistance=24, BallDirection=120 und BallSpeed=1,5

Page 79: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 79

playerDirection

2. Error-Backpropagation-Netz

.:

30.:

startDistance

ballDirection

ballSpeed

endDistanceoptPlayerDirection

Page 80: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 80

Trainierter Spieler

Page 81: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 81

Gliederung

● Einleitung● Aufbau der Mannschaft● Nutzung künstlicher Intelligenz● Bewertung und Zusammenfassung

Page 82: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 82

Zusammenfassung

● Erfüllte Ziele:– spielfähige und konkurrenzfähige Mannschaft– Einbau von künstlicher Intelligenz

● Aufgetretene Herausforderungen:– Realisierung (nur) durch evolutionären Entwicklungsprozess– Koordination des Teams über den gesamten Zeitraum

● Fazit:„Die WWUScorchers stellen eine Mannschaft mit

umfangreichen Fähigkeiten, integrierter KI und der Option der einfachen Erweiterbarkeit dar.“

Page 83: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 83

Fragen ?

Danke für die Aufmerksamkeit !

Fragen ?

Page 84: Die WWUScorchers Realisierung einer RoboCup Soccer Server Mannschaft Projektseminar: „Neuroinformatik und Agenten - Lernende Systeme“ Robin Baumgarten,

Folie 84

…und jetzt wird gespielt!