html5-img
1 / 54

Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung

Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung. Anglberger Harald Brandl Stephan. Mai 2003. Aufgabenstellung. Computerspielumgebung: Boxkampf Spielfläche: 6 x 6 Felder 2 Boxer im Ring 6 mögliche Aktionen Rundenmodus. Boxer. Merkmale Fitness

abel
Download Presentation

Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Mögliche Bewegungen Ein Schritt nach vorne Ein Schritt zurück nach rechts drehen nach links drehen Sonstige Aktionen zuschlagen blocken Aktionen

  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. LernumgebungRegelwerk • Klasse ‚EasyRules‘ • Ausführung der Aktionen • Move Forward/Backward, Turn Left/Right • Punch, Block, None • Änderung der einzelnen Boxerzustände • Hitpoints, Fitness, Position

  10. LernumgebungBoxerklassen • Basisklasse ‚Boxer‘ • Attribute und Position • Constitution, Strength, Dexterity • X, Y, Direction • Abstrakte Methoden • act(), getReward() • reset(), won(), lost()

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

  12. Angriffsmodus Zum Gegner Laufen Gegner boxen Verteidigungsmodus Vom Gegner entfernen Benchmark Boxer 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 LearningwithInstance-BasedState Identification", University of Rochester • 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 • Nearest Neighbours finden • Q-Werte berechnen • Aktion wählen • Aktion ausführen • 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-e • Exploration • Eine zufällige Aktion wird ausgeführt • Wahrscheinlichkeit dieser Auswahl: e

  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*2wobei: ErzT Erzielte Treffer AP Angriffsposition ErhT Erhaltene Treffer FV 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. 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 Testaufbau Pro Test wurden fünf Serien mit 1000 Kämpfen durchgeführt und die Ergebnisse gemittelt.

  24. Testergebnisse • Interessante Resultate: • Greedy • Instance Based State IdentificationPrototyp • Instance Based State IdentificationVerbesserung 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‚ 1995 • Stewart W. Wilson, Generalization in the XCS Classifier System, 1998 • Martin Butz, An algorithmic description of XCS, 2000 • Voraussetzung: Markov-Umgebung • Learning Classifier System (LCS)

  33. XCSInteraktion mit der Lernumgebung • Sensory Input • Action • Reward • Flag ‚End of Problem‘

  34. XCSClassifier 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. XCSClassifier • 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. XCSgenetischer 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.

  37. XCSGeneralisation • 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

  38. XCSFitness 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

  39. XCSTestaufbau • 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

  40. XCSTestergebnisse Anwendung von XCS auf den leichten Gegner

  41. XCSTestergebnisse Anwendung von XCS auf den schweren Gegner

  42. XCSBeobachtungen • Ungenügende Performance beim schweren Gegner • Es ist generell schwer eine Siegstrategie durch Exploration zu finden • Das System ist auf Hidden States nicht ausgelegt

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

  44. XCSMAufbau • 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

  45. XCSMTestaufbau • 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

  46. XCSMTestergebnisse Anwendung von XCSM auf den leichten Gegner

  47. XCSMTestergebnisse Anwendung von XCSM auf den schweren Gegner

  48. XCSMBeobachtungen • 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

  49. XCSMTestergebnisse Anwendung von XCSM mit ‚improved Exploration‘auf den schweren Gegner

More Related