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

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

Embed Size (px)

Citation preview

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

Verwendung von Maschinellem Lernen

in einer einfachen Computerspielumgebung

Anglberger HaraldBrandl Stephan

Mai 2003

Page 2: 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

Page 3: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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.

Page 4: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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)

Page 5: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Aktionen Mögliche

Bewegungen

• Ein Schritt nach vorne• Ein Schritt zurück• nach rechts drehen• nach links drehen

Sonstige Aktionen

• zuschlagen• blocken

Page 6: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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.

Page 7: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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.

Page 8: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

LernumgebungÜberblick

Umsetzung des Regelwerks Einbindung von verschiedenen

Boxerklassen Grafische Darstellung Testumgebung Aufzeichnung von Boxkämpfen

Page 9: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

LernumgebungRegelwerk

Klasse ‚EasyRules‘ Ausführung der Aktionen

• Move Forward/Backward, Turn Left/Right

• Punch, Block, None Änderung der einzelnen

Boxerzustände• Hitpoints, Fitness, Position

Page 10: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

LernumgebungBoxerklassen

Basisklasse ‚Boxer‘ Attribute und Position

• Constitution, Strength, Dexterity• X, Y, Direction

Abstrakte Methoden• act(), getReward()• reset(), won(), lost()

Page 11: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

LernumgebungGrafische Darstellung

Visuelle Darstellung des Boxkampfes

Manuelle Steuerung der Boxer Anzeige der aktuellen

Attributswerte Starten von Einzelkämpfen,

Testserien oder Aufzeichnungen

Page 12: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Benchmark Boxer Angriffsmodus

• Zum Gegner Laufen

• Gegner boxen

Verteidigungsmodus

• Vom Gegner entfernen

Je nach Fitnessstand wird einer der beiden Modi ausgeführt.

Page 13: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Instance Based State Identification Algorithmus:

• Original:• Paper:

R. Andrew McCallum, "Hidden state and Reinforcement Learning with Instance-Based State Identification", University of Rochester

• Verwendet wird eine angepasste Version

Page 14: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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.

Page 15: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Ablauf des Algorithmus Endlosschleife mit fünf Schritten

1. Nearest Neighbours finden2. Q-Werte berechnen3. Aktion wählen4. Aktion ausführen5. Q-Werte aktualisieren

Page 16: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Schritt eins Nearest Neighbours finden

• Neuer State wird erstellt• Liste vergangener states wird überprüft• Verwendete Formel:

• Beispiel:

Page 17: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 18: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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:

Page 19: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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 Treffer AP AngriffspositionErhT Erhaltene Treffer FV Fitness VerlustGP Gefährdete Position

• Der so berechnete Reward wird im aktuellen state gespeichert

Page 20: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 21: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 22: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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“

Page 23: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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.

Page 24: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Testergebnisse Interessante Resultate:

• Greedy• Instance Based State Identification

Prototyp• Instance Based State Identification

Verbesserung mit variablem Epsilon

Page 25: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Greedy Algorithmus Leichterer Gegner

Page 26: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Instance Based State Identification Prototyp Algorithmus (leichter

Gegner)

Page 27: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Instance Based State Identification Variables Epsilon (leichter Gegner)

Page 28: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Greedy Algorithmus Schwerer Gegner

Page 29: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Instance Based State Identification Prototyp Algorithmus (schwerer

Gegner)

Page 30: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

Instance Based State Identification Variables Epsilon (schwerer Gegner)

Page 31: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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)

Page 32: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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)

Page 33: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSInteraktion mit der Lernumgebung

Sensory Input

Action

Reward

Flag ‚End of Problem‘

Lt 1,0

naat ,,1

Rt

Page 34: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 35: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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,...

LC #,1,0

naaA ,,1

Page 36: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003
Page 37: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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.

Page 38: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 39: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 40: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 41: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSTestergebnisse

Anwendung von XCS auf den leichten Gegner

Page 42: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSTestergebnisse

Anwendung von XCS auf den schweren Gegner

Page 43: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 44: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSMÜberblick

Pier Luca Lanzi, Toward Optimal Classifier System Performance in Non-Markov Environments, 2000

Erweiterung von XCS auf Non-Markov Umgebungen

Page 45: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 46: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 47: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSMTestergebnisse

Anwendung von XCSM auf den leichten Gegner

Page 48: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSMTestergebnisse

Anwendung von XCSM auf den schweren Gegner

Page 49: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

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

Page 50: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSMTestergebnisse

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

Page 51: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSM randomisierte StartsTestaufbau

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

Page 52: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSM randomisierte Starts Testergebnisse

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

Page 53: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSM randomisierte Starts Testergebnisse

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

Page 54: Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003

XCSMVerbesserungen

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)