Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003.

Ähnliche Präsentationen


Präsentation zum Thema: "Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003."—  Präsentation transkript:

1 Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

2 Aufgabenstellung Computerspielumgebung: Boxkampf Spielfläche: 6 x 6 Felder 2 Boxer im Ring 6 mögliche Aktionen Rundenmodus

3 Boxer Merkmale Fitness Wie gut kann der Boxer den Schlägen des anderen ausweichen, welcher Boxer darf seine Aktion zuerst ausführen. Trefferpunkte Wie lange braucht man um den Boxer zu besiegen. Schlaghärte Welchen Schaden richtet ein Schlag des Boxers an.

4 Boxer - Attribute Attribute Geschicklichkeit Fitness Konstitution Trefferpunkte Stärke Schlaghärte 18 Punkte sind auf diese drei Attribute zu verteilen (min. 4 und max. 10 Punkte pro Attribut)

5 Aktionen Mögliche Bewegungen Ein Schritt nach vorne Ein Schritt zurück nach rechts drehen nach links drehen Sonstige Aktionen zuschlagen blocken

6 Perception Position des Gegners nach vorne {-2;-1; 0; 1; 2} zur Seite {-2;-1; 0; 1; 2} Position des Randes nach vorne {-1; 0; 1} zur Seite {-1; 0; 1} Rundenablauf Schneller als der Gegner {True; False} 360 mögliche Perceptions da die Positionen (-2,-2), (-2,2), (2,-2), (2,2) und (0,0) nicht zugelassen werden.

7 Ziele der Projektarbeit Strategien für verschiedene Boxertypen Mit Hilfe von ML Algorithmen sollen Strategien für den Boxkampf entwickelt werden. Besonderes Augenmerk soll auf das arbeiten mit Hidden States gelegt werden.

8 Lernumgebung Überblick Umsetzung des Regelwerks Einbindung von verschiedenen Boxerklassen Grafische Darstellung Testumgebung Aufzeichnung von Boxkämpfen

9 Lernumgebung Regelwerk Klasse EasyRules Ausführung der Aktionen Move Forward/Backward, Turn Left/Right Punch, Block, None Änderung der einzelnen Boxerzustände Hitpoints, Fitness, Position

10 Lernumgebung Boxerklassen Basisklasse Boxer Attribute und Position Constitution, Strength, Dexterity X, Y, Direction Abstrakte Methoden act(), getReward() reset(), won(), lost()

11 Lernumgebung Grafische Darstellung Visuelle Darstellung des Boxkampfes Manuelle Steuerung der Boxer Anzeige der aktuellen Attributswerte Starten von Einzelkämpfen, Testserien oder Aufzeichnungen

12 Benchmark Boxer Angriffsmodus Zum Gegner Laufen Gegner boxen Verteidigungsmodus Vom Gegner entfernen Je nach Fitnessstand wird einer der beiden Modi ausgeführt.

13 Instance Based State Identification Algorithmus: Original: Paper: R. Andrew McCallum, "Hidden state and Reinforcement Learning with Instance-Based State Identification", University of Rochester "Hidden state and Reinforcement Learning with Instance-Based State Identification", Verwendet wird eine angepasste Version

14 Grundlage des Algorithmus States Ein Tripel aus Beobachtung (perception) Aktion (action) Belohnung (reward) Liste Eine Liste in der alle aufgetretenen states chronologisch geordnet gespeichert werden.

15 Ablauf des Algorithmus Endlosschleife mit fünf Schritten 1.Nearest Neighbours finden 2.Q-Werte berechnen 3.Aktion wählen 4.Aktion ausführen 5.Q-Werte aktualisieren

16 Schritt eins Nearest Neighbours finden Neuer State wird erstellt Liste vergangener states wird überprüft Verwendete Formel: Beispiel:

17 Schritt zwei Q-Werte berechnen Q-Wert für jede Aktion: Berechnung über alle Q Werte der k-NN welche die Aktion ausgeführt haben

18 Schritt drei Aktion wählen Exploitation Die Aktion mit dem höchsten Q Wert wird ausgewählt Wahrscheinlichkeit dieser Auswahl: 1- Exploration Eine zufällige Aktion wird ausgeführt Wahrscheinlichkeit dieser Auswahl:

19 Schritt vier Aktion ausführen Die gewählte Aktion wird ausgeführt Der Reward wird berechnet reward = (ErzT – ErhT)*10 reward = (ErzT – ErhT)*20 +AP-GP-FV*2 wobei: ErzT Erzielte TrefferAP Angriffsposition ErhT Erhaltene TrefferFV Fitness Verlust GP Gefährdete Position Der so berechnete Reward wird im aktuellen state gespeichert

20 Schritt fünf Q-Werte aktualisieren Q-Wert des aktuellen states berechnen (standard Q-learning) Q-Werte der states berechnen die für diese Aktion gewählt haben

21 Verbesserungen Sinkendes Epsilon Das im Algorithmus verwendete Epsilon sinkt nach bei jedem explorativen Schritt um die Performance zu erhöhen Variables Epsilon Wie sinkendes Epsilon Epsilon wird aber erhöht, wenn viele Kämpfe hintereinander verloren gehen

22 Greedy Algorithmus Modifizierter Q Learning Algorithmus Arbeitet wie der Instance Based State Identification Algorithmus bei dem die match length n für alle vergangenen states <= 1 gesetzt wird Nimmt keine Rücksicht auf hidden states

23 Testaufbau ML Boxer und leichter Gegner Attribute: Geschicklichkeit: 6 Konstitution: 6 Stärke: 6 Trefferpunkte: 32 Schwerer Gegner Attribute: Geschicklichkeit: 4 Konstitution: 9 Stärke: 5 Trefferpunkte: 38 Pro Test wurden fünf Serien mit 1000 Kämpfen durchgeführt und die Ergebnisse gemittelt.

24 Testergebnisse Interessante Resultate: Greedy Instance Based State Identification Prototyp Instance Based State Identification Verbesserung mit variablem Epsilon

25 Greedy Algorithmus Leichterer Gegner

26 Instance Based State Identification Prototyp Algorithmus (leichter Gegner)

27 Instance Based State Identification Variables Epsilon (leichter Gegner)

28 Greedy Algorithmus Schwerer Gegner

29 Instance Based State Identification Prototyp Algorithmus (schwerer Gegner)

30 Instance Based State Identification Variables Epsilon (schwerer Gegner)

31 Probleme des Algorithmus Kurzes Gedächtnis Liste gespeicherter States endlich Überschreiben alter States notwendig Lösungsansatz Gedächtnis einführen (Liste die gute Sequenzen speichert)

32 XCS Übersicht Stewart W. Wilson, Classifier Fitness based on Accuracy 1995Classifier Fitness based on Accuracy Stewart W. Wilson, Generalization in the XCS Classifier System, 1998Generalization in the XCS Classifier System Martin Butz, An algorithmic description of XCS, 2000An algorithmic description of XCS Voraussetzung: Markov-Umgebung Learning Classifier System (LCS)

33 XCS Interaktion mit der Lernumgebung Sensory Input Action Reward Flag End of Problem

34 XCS Classifier Systeme Population von Classifiern entspricht dem Wissen des Agenten Classifier bestehen aus Condition-, Action- und Parameterwerten Reproduktion und Neugenerierung von Classifiern durch einen genetischen Algorithmus Deterministische Action-Wahl durch Payoff- Vorhersage für die einzelnen Classiffier durch Q- Learning Ansatz Exploration durch den GA und durch probabilistische Action-Wahl

35 XCS Classifier Condition-Action-Prediction Regel Condition: Für welchen Input wird der Classifier angewendet? (matching condition) Action: Welche Aktion wird bei Wahl des Classifiers ausgeführt? Prediction: Wie hoch wird der Payoff sein, falls der Classifier matcht und seine Aktion gewählt wird? Weitere Parameter: Error, Fitness, Experience,...

36

37 XCS genetischer Algorithmus Wahl von zwei Classifiern mittels Roulette- Wheel-Selection (gewichtet mit Fitness-Werten) Erzeugung zweier Klone Anwendung von Two-Point-Crossover mit Wahrscheinlichkeit X Anwendung von Mutation auf einzelne Sensoreinheiten mit Wahrscheinlichkeit Y Aufnahme der Klone in die Population Löschen von Classifiern falls Maximalpopulation erreicht wird.

38 XCS Generalisation Condition eines Classifiers kann durch Wildcards (#) mehrere Situationen matchen Ziel: Suche einer Population deren Classifier maximal verallgemeinert sind, aber trotzdem gute Performance bringen Population wird dadurch kompakter Analyse des Lernverhaltens wird einfacher Umsetzung durch geeignete Berechnung der Fitness eines Classifiers

39 XCS Fitness von Classifiern Idee: Fitness wird von der Genauigkeit der Payoff-Vorhersage bestimmt Vermutung: Spezialisierte Classifier sind fitter als allgemeinere Classifier (bessere Chancen im GA sich zu reproduzieren) Aber: allgemeinere Classifier haben öfter die Möglichkeit sich zu reproduzieren, da sie öfter matchen XCS konvergiert gegen genaue (fitte) Classifier, aber genaue Classifier werden durch allgemeinere mit gleicher Fitness geschlagen

40 XCS Testaufbau Eine Testserie löst alternierend Lern- oder Testprobleme Lernprobleme wählen Actions zufällig Testprobleme wählen die Aktion mit der höchsten Payoff Vorhersage Nach gewisser Zeit nur mehr Testprobleme GA nur in Lernproblemen anwenden Covering ist immer aktiv

41 XCS Testergebnisse Anwendung von XCS auf den leichten Gegner

42 XCS Testergebnisse Anwendung von XCS auf den schweren Gegner

43 XCS Beobachtungen Ungenügende Performance beim schweren Gegner Es ist generell schwer eine Siegstrategie durch Exploration zu finden Das System ist auf Hidden States nicht ausgelegt

44 XCSM Überblick Pier Luca Lanzi, Toward Optimal Classifier System Performance in Non-Markov Environments, 2000Toward Optimal Classifier System Performance in Non-Markov Environments Erweiterung von XCS auf Non- Markov Umgebungen

45 XCSM Aufbau Füge Gedächtnis (interner Speicher) in Form eines Bitregisters hinzu Kein explizites Merken von Situationen, sondern unterbewußtes Handeln in Form von internal conditions und actions Internal actions ändern Bitregister Vorgehensweise analog zu XCS, aber internal states und actions werden in die Mengenbildungen mit einbezogen

46 XCSM Testaufbau In Lernproblemen wird nur die externe Aktion zufällig gewählt Ausführen der internen Aktion nur wenn sich der Sensor Input in der nächsten Runde ändert Covering wird auch ausgeführt, falls eine zufällig gewählte Aktionskombination nicht im Prediction Array vorkommt

47 XCSM Testergebnisse Anwendung von XCSM auf den leichten Gegner

48 XCSM Testergebnisse Anwendung von XCSM auf den schweren Gegner

49 XCSM Beobachtungen Einbruch der Siegesquote bei Erreichen der Maximalpopulation gute Classifier werden gelöscht, da sie noch ungenau sind Macht sich vor allem beim schweren Gegner bemerkbar Idee: Bei erfolgreichen Kämpfen werden verstärkt Testprobleme gelöst, um die Classifier fitter zu machen

50 XCSM Testergebnisse Anwendung von XCSM mit improved Explorationauf den schweren Gegner

51 XCSM randomisierte Starts Testaufbau Die Boxer starten nicht an gleicher Position, sondern werden in der ersten Runde zufällig in den Boxring gesetzt Gleiche Testkonfiguration wie bei vorigen Tests

52 XCSM randomisierte Starts Testergebnisse Anwendung von XCSM mit improved Explorationauf den schweren Gegner

53 XCSM randomisierte Starts Testergebnisse Anwendung von XCSM mit improved Explorationauf den schweren Gegner

54 XCSM Verbesserungen Verbesserung des Exploration- Verhaltens Laufzeit spielt bei komplexen Umgebungen mit vielen hidden states eine große Rolle (exponentieller Anstieg des Speicherverhaltens in Abhängigkeit der Rregisterlänge)


Herunterladen ppt "Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003."

Ähnliche Präsentationen


Google-Anzeigen