Classifier Systems und Defensive Strategies. Seminar Lernen in Spielen

Ähnliche Dokumente
Genetische Algorithmen. Uwe Reichel IPS, LMU München 8. Juli 2008

Anwendung genetischer Algorithmen zur Lösung des n Dame Problems und zur Optimierung von Autoprofilen

Genetische Programmierung

10. Vorlesung Stochastische Optimierung

Fuzzy Movement. Dirk Güldner. Seminar: Knowledge Engineering und Lernen in Spielen. TU-Darmstadt, SS 2006,

b) Nennen Sie vier hinreichende Bedingungen für Evolution. b) Anzahl fortlaufender Einsen von rechts. c) Sind in a) oder b) Plateaus enthalten?

Genetische Algorithmen

Genetische und Evolutionäre Algorithmen (Vol. 1)

Reinforcement Learning

Synthese Eingebetteter Systeme. Übung 6

Rule-Based Systems. Technische Universität Darmstadt Knowledge Engineering Group

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

Evolutionäre Robotik

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen

Sortieren und Suchen. Jens Wächtler Hallo Welt! -Seminar LS 2

b) Nennen Sie vier hinreichende Bedingungen für Evolution. b) Anzahl fortlaufender Einsen von rechts. c) Sind in a) oder b) Plateaus enthalten?

3. Das Reinforcement Lernproblem

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Kodierung Genetische Algorithmen und Simulated Annealing

TUD Computer Poker Challenge

Genetische Algorithmen

Reinforcement Learning

Classification and Regression Trees. Markus Müller

VERHANDLUNGSTRATEGIEN VON SOFTWARE AGENTEN. Henrik Brauer

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick

General Video Game AI Competition 2016

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Seminar. Knowledge Engineering und Lernen in Spielen. Reinforcement Learning to Play Tetris. TU - Darmstadt Mustafa Gökhan Sögüt, Harald Matussek 1

GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness

AI in Computer Games. Übersicht. Motivation. Vorteile der Spielumgebung. Techniken. Anforderungen

Hauptseminar Repräsentationen für Optimierungsalgorithmen

Alex J. Champandard: AI Game Development, Chapters Shooting and Aimining

General Video Game AI Competition 2017

Evolution und Algorithmen

InformatiCup 2009 EvolutionConsole

Combining Manual Feedback with Subsequent MDP Reward Signals for Reinforcement Learning W. Bradley Knox und Peter Stone

Super-Mario Knowledge Engineering und Lernen in Spielen

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

Evolution im Computer

Evolutionäre / Genetische Algorithmen. Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre / Genetische Algorithmen (2) Beispiel

2. Beispiel: n-armiger Bandit

Einsatz von Reinforcement Learning in der Modellfahrzeugnavigation

Optimierung und Entwurf mit Evolutionären Algorithmen

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Warum konvergieren Genetische Algorithmen gegen ein Optimum?

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

Künstliche Intelligenz

Adaptive Resonance Theory

Genetische Algorithmen

Optimierung auf rekonfigurierbaren Rechensystemen

Konzepte der AI Neuronale Netze

Genetische Algorithmen von der Evolution lernen

Wissensrepräsentation

Reinforcement Learning

Reinforcement Learning

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

Genetisches Programmieren einfacher Roboterfähigkeiten

Grundlagen der Künstlichen Intelligenz

Der genetische Algorithmus

Mathematische Grundlagen III

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Lernen von optimalen Strategien

INTELLIGENTE DATENANALYSE IN MATLAB. Evaluation & Exploitation von Modellen

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Seminar Verkehrsinformatik Offline-Optimierung der Lichtsignal-Koordinierung mittels genetischer Algorithmen

INTELLIGENTE DATENANALYSE IN MATLAB. Evaluation & Exploitation von Modellen

Finanzmarktprognose mit neuronalen Netzen

Case-Based Reasoning und anderen Inferenzmechanismen

Objektorientierte Programmierung II

Monte Carlo Methoden

Pairwise Naive Bayes Classifier

Data Mining und Maschinelles Lernen

Optimierung. Vorlesung 12

Populationsbasierte Suche. Evolutionäre Algorithmen (1)

Seminar Künstliche Intelligenz WS 2013/14 Grundlagen des Maschinellen Lernens

Übungsklausur Algorithmen I

Dynamische Geometrie & Komplexitätstheorie. Céline Schöne und Gunther Kraut

Artificial Intelligence. Was ist das? Was kann das?

Informatik II, SS 2014

Übung Algorithmen I

Vorhersage der RNA-Sekundärstruktur

Genetische Algorithmen

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Clustering. Clustering:

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Algorithmen auf Zeichenketten

Grundlagen: Algorithmen und Datenstrukturen

Zeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany

Automatische Rekonstruktion und Spezifizierung von Attributnamen in Webtabellen

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen

Statistische Sprachmodelle

Einführung in die medizinische Bildverarbeitung WS 12/13

Klausur Algorithmen und Datenstrukturen I WS 05/06

General Video Game AI Competition 2016

Transkript:

Classifier Systems und Defensive Strategies Seminar Lernen in Spielen 3.06.2006

Inhalt Learning Classifier Systems Definition und Repräsentation Architektur Vor und Nachteile Verteidigungsstrategien mit genetischen Algorithmen Repräsentation der Aktionsparameter bei Rocket Jumping und Ausweichen von Raketen Genetische Operatoren Evolution und Anwendung Beispielimplementierung in Quake II Lernen in Spielen 2

Learning Classifier Systems (LCS) LCS kombinieren drei Techniken der künstlichen Intelligenz Genetische Algorithmen Regelbasierte Systeme Reinforcement Lernen Sie können die beste Aktion in der gegeben Situation lernen Das Klassifizierungsproblem lösen Lernen in Spielen 3

Repräsentation von LCS Ein Satz von Regeln, die Klassifizierer genannt werden Jeder Klassifizierer besteht aus zwei Teilen Head (die Eingabedaten verwerten) Body (eine geeignete Reaktion finden) Zusätzliche Informationen von den Regeln gespeichert Nutzen abschätzen Fehlerwahrscheinlichkeit voraussagen Lernen in Spielen 4

Head und Body Verarbeitung der Eingabe (Head) Modellierung des Klassifizierers mit 3 Werten: 0, und # (don t care) Damit wird eine Generalisierung ermöglicht Ein Match liegt vor, sobald ein Korrespondierendes Bit oder # ist. Aktionen des Klassifizierers (Body) Keine Generalisierung notwendig 0, Lernen in Spielen 5

Weitere Attribute des LCS Vorhersage (prediction) korrespondiert mit erwartetem Ertrag (return) Über die Zeit aufsummierter Lohn (reward) Güte des Klassifizierers auf lange Sicht Geschätzte Genauigkeit (accuracy) Konsistenz des Klassifizierers wird bestimmt Niedrige accuracy Schlecht bei Vorhersagen Hohe accuracy Gutes Verständnis der Welt Ein Faktor für die fitness wird gesucht Früher: Vorhersage des return Das System wird daran gemessen, wie gut es denkt, dass es ist. Führt nicht zu optimalem Ergebnis. Warum? Heute: accuracy Lernen in Spielen 6

Architektur des LCS Population (Klassifizierer) Genetischer Algorithmus Vorhersage Array Sensorische Eingabe Vergleich (Matching) Vergleichsmenge (Match set) Vorhersage (Prediction) Aktionsauswahl Reward t+ Reinforcement Lernen Aktionsmenge Filterung Vorhergesagtes Ergebnis Aktion 7

Vor und Nachteile LCS gut für die Schätzung des benifits von Aktionen Die besten Aktionen werden verwertet Wissen über die Welt ist i.d.r gut funktionierendes Lernv. Wissen des Entwicklers kann einfließen Binäre Repräsentation ist komplex Schlecht zu lesen Input häufig nicht binär (Fließkommazahlen, Arrays) müssen (umständlich) konvertiert werden Erweiterung: Symbolmenge statt Binärwerte Vielfältige Einsatzmöglichkeiten in Spielen Anpassung in Online Anwendungen Kontrollprobleme häufigste Anwendungsform Das können Regel Lerner allerdings auch gut Fazit: Fast überall einsetzbar, aber sehr hoher Ressourcenverbrauch Anwendung: Obstacle Avoidance, Waffenauswahl In der Praxis sind andere Techniken meist eher angebracht Lernen in Spielen 8

Beispiel in dem LCS fast vorkommen: Creatures 3 Classifier System vorhanden allerdings hard coded Klassifizierung aller Kreaturen Genetische Algorithmen im Spiel umgesetzt Zufallsgenerierung Mutation Phänotyp/Genotyp zusätzlich: Gehirn etc. Lernen in Spielen 9

Bsp. Classifier System family genus species name url Rock near Norn pool Masha 2 Norn door cutaway Masha 3 Norn hump cutaway Masha 4 Norn entrance to burrow Masha 3 0 5500 tables chani 3 0 550 grabber chani 3 0 5502 chest chani 4 male norn Masha 4 2 female norn Masha 4 000 pending serstel Lernen in Spielen 0

Creatures Screenshot Lernen in Spielen

Inhalt Learning Classifier Systems Definition und Repräsentation Architektur Vor und Nachteile Verteidigungsstrategien mit genetischen Algorithmen Repräsentation der Aktionsparameter bei Rocket Jumping und Ausweichen von Raketen Genetische Operatoren Evolution und Anwendung Beispielimplementierung in Quake II Lernen in Spielen 2

Adaptive Verteidigung mit genetischen Algorithmen Verteidigungsstrategien neben Angriffsstrategien auch wichtig für realistisches Spielen Raketen ausweichen (Laufen oder Springen) Rocket Jumping Genetische Algorithmen zur Manipulation von Aktionssequenzen Lernen in Spielen 3

Aktionen und Parameter Eine Teilmenge aller möglichen Aktionen als Aktionsmenge (z.b. nur grobe Richtung) Einfacher zu entwickeln Macht das Lernen schneller Manche Aktionen sind gegebene Parameter Nur wenige parameterlose Aktionen Das was und das wie werden getrennt Kombination der Parameter als Sequenzen von Aktionen Lernen in Spielen 4

Bsp. Aktionsmenge Aktion Parameter Rakete Look Move Fire Richtung Gewichte Mögliche Kollision Erwarteter Einschlag Jump Spieler Timing Relativ Offset zur vorherigen Aktion Absolut Unabhängig von anderen Aktionen Drei Richtungsmöglichkeiten Lernen in Spielen 5

Genetische Operatoren Die Basis Operatoren für genetische Algorithmen werden eingesetzt Zufällige Generation Time offset Fließkommazahl mit MAX (z.b. 2 Sek.) Aktionstyp Zufällig generiertes Symbol (z.b. Move) Parameter Abhängig von Aktionen (z.b. weg von Rakete) Kreuzen (Crossover) Ein Punkt Kreuzung Zufälliger Split zwischen 2 Eltern und Zusammensetzen von 2 Kindern (in Bsp. verwendet) Große Wahrscheinlichkeit für gute Sequenzen nach der Kreuzung zusammenzubleiben Mutation 2 Arten von Mutation Die Länge einer Sequenz durch Hinzufügen oder Wegnehmen von Aktionen verändern Die Aktionen selbst werden durch Verändern der Werte mutiert Lernen in Spielen 6

Evolutionäre Anpassung Konstante Größe der Population Speichereffizienz zu Beginn: Population zufällig generiert Evolutionsschritte auf Anfrage Jedes Individuum ohne Fitness Wert wird aus der Population gezogen und evolviert Später: 2 Eltern werden mit der Wahrscheinlichkeit ihrer Fitness gekreuzt und ggf. mutiert Entstehende Kinder werden evolviert Entfernen von Individuen Mit Wahrscheinlichkeit von (relative Fitness) Ähnlichkeit mit anderen Sequenzen verstärkt Wahrscheinlichkeit entfernt zu werden Abwägen zwischen Elite und Unterschiedlichkeit Lernen in Spielen 7

Die Fitness berechnen Rocket Jumping Ziel ist es, besonders hoch zu springen Reward steigt quadratisch mit der Höhe Raketen ausweichen Distanz zwischen Spieler und Explosionspunkt maximieren Stehenbleiben (in gewisser Distanz) sollte vermieden werden Unterschied in der Distanz wird maximiert Schaden wird von der Fitness abgezogen Lernen in Spielen 9

Variablen zur Ergebnisoptimierung Lernen in Spielen 2

Anwendung Die vom genetischen Algorithmus gegebenen Kandidaten Sequenzen müssen vom Animat mit konkretem Verhalten getestet werden Rocket Jumping und Raketen ausweichen separat lernen, da diese sowieso unabhängig sind. 2 Alternativen Eine Fitness Funktion, verschiedene Phasen Zwei Fitness Funktionen, die gleichzeitig gelernt werden Ergebnis: Zum Ausweichen vor Raketen wird ein Rocket Jump ausgeführt Lernen in Spielen 23

Evaluation Rocket Jumping wird schnell gelernt, sobald der Animat gelernt hat, dass Raketen den Sprung verbessern Ausweichen wird auch recht schnell gelernt, da die Repräsentation einfach gehalten wurde (allerdings unvollständig) Fitness als Fließkomma Wert zu implementieren ist von großem Nutzen Besser als boolsche Werte LCS wären nicht gut für dieses Problem geeignet. Warum? Lernen in Spielen 24

Umsetzung in Quake II Animat, der Rocket Jumping und Ausweichen lernt ( Kanga ) Schnelle Umsetzung nach etwa 50 Sprüngen hohe Fitness für Rocket Jump Repräsentation mit 2 Fitness Funktionen Praxis etwas schwieriger als Theorie Rocket Jumping verursacht Schaden Lernen dauert etwas länger Raketenwerfer wird benötigt für Rocket Jump Für Ausweichen wird schießender Spieler benötigt Lernen in Spielen 25

Rocket Jumping Fitness Fitness 00000 90000 80000 70000 60000 50000 40000 30000 20000 0000 0 4 7 0 3 6 9 22 25 28 3 34 37 40 43 46 49 Versuche Lernen in Spielen 26

Rocket Jumping Average durchschnittliche Fitness 90000 80000 70000 60000 50000 40000 30000 20000 0000 0 2 3 4 5 6 7 8 9 0 Versuche im 5er Mittel Lernen in Spielen 27

Quellen Alex J. Champandard: AI Game Development, New Riders Publishing, 2003, Chapters 32 (Genetic Algortihms), 33 (Learning classifier systems, 34 (Adaptive defensive strategies) http://aigamedev.com/ und http://aigamedev.com/forum/ (Implementierung der Quake II Bsp. aus dem Buch) http://fear.sourceforge.net/ Foundations for Genuine (Implementierung Quake II teilweise aktueller) Game AI http://en.wikipedia.org/wiki/learning_classifier_system LCS Definition http://lcsweb.cs.bath.ac.uk/papers/reveley2002a Implementierung für Poker LCS http://www.cems.uwe.ac.uk/lcsg/ Group (Anwendungs Bsp.) Learning Classifier Systems Seredynski, F., Cichosz, P., & Klebus, G. P. (995). Learning classifier systems in multi agent environments (http://www.ise.pw.edu.pl/~cichosz/pubs/) eher Spieltheorie http://creatures.wikia.com/wiki/creatures_wiki_homepage Informationen über Creatures Lernen in Spielen 28