Künstliche Intelligenz und Maschinelles Lernen in Computerspielen DI Michael Pfeiffer...

Post on 06-Apr-2016

218 views 2 download

Tags:

Transcript of Künstliche Intelligenz und Maschinelles Lernen in Computerspielen DI Michael Pfeiffer...

Künstliche Intelligenz und Maschinelles Lernen in

Computerspielen

DI Michael Pfeifferpfeiffer@igi.tugraz.at

Institut für Grundlagen der Informationsverarbeitung

Maschinelles Lernen A, WS 2003/2004

Überblick Einführung Spieltheorie Minimax – Suche Lernen in Spielen Reinforcement Learning

Warum Spiele? „Computer Games are the biggest AI success story to date“ [Schaeffer]

„Game Playing is to AI as Grand Prix motor racing is to the car industry“ [Russell, Norvig]

„Programming computers to play games helps understanding the mechanisms of understanding intellectual behaviour. We assume that these newer techniques will be applied to real life situations in the future, and the effort devoted to games will decrease. Perhaps we have not yet reached this turning point, and so we may still have much to learn from the study of games“ [Samuel, 1960]

Erfolgsstories (1) Deep Blue vs.

Kasparov (1997)

Chinook vs. Tinsley (1994)

Erfolgsstories (2) Reversi (Othello)

Programm Logistello: kein Mensch nimmt Herausforderung an (letzte WM: 6-0 für Programm)

Komplett gelöste Spiele 4 Gewinnt (1988) Go-Moku (~ 5 Gewinnt) (1994) Mühle (1995) Awari (2002) Dame (wahrscheinlich 2004) etc.

Warum besteht Interesse an Spielen? Interessante und „bequeme“

Testprobleme für neue Methoden der KI Intellektuelle Herausforderung Wirtschaftliches Interesse

Kommerzielle Spiele

Aktuelle Forschung an Spielen (1) Kongress „Advances in Computer Games 10“

24-27 November 2003, Graz Parallel mit Computer-Schach-WM und Olympiade Veranstaltet von ICGA (www.icga.org)

Zentren der Spiele – Forschung University of Alberta, Edmonton (Kanada) Universität Maastricht (Niederlande) Japan ...

Aktuelle Forschung an Spielen (2) Konzentration auf Brettspiele

Schach Go

Konzentration auf Suchtechniken Verbesserungen von bekannten Techniken Machine Learning eher „exotisch“

Überblick Einführung Spieltheorie Minimax – Suche Lernen in Spielen Reinforcement Learning

Spieltheorie (1) Teilgebiet der Mathematik

Kommt ursprünglich aus Analyse von Gesellschaftsspielen

Wird u.A. für wirtschaftliche Fragen oft eingesetzt Optimierungsproblem:

Mit welcher Strategie maximiert man den eigenen Gewinn, unter Berücksichtigung von anderen Mitspielern / Gegnern?

Spieltheorie (2) Definition: Nichtkooperatives Spiel

Spielermenge I = {1, ..., n} Strategiemengen Si

Auszahlungsfunktion hi: S1... Sn R

Auszahlung für einen Spieler hängt von Strategien aller Spieler ab

Spieler agieren rational Jeder Spieler versucht seine Auszahlung zu maximieren unter

Kenntnis der Möglichkeiten der anderen

Spieltheorie (3) Matrix – Spiele, Nullsummenspiele

G NG -2 -5

-2 -1

N -1 0

-5 0

„Gefangenendilemma“G ... Gestehen

N ... Nicht Gestehen

Stein Papier Schere

Stein 0 -1 1

Papier 1 0 -1

Schere -1 1 0

Stein-Papier-Schere (RoShamBo)

Nullsummenspiel

Nash - Gleichgewicht „Lösung“ von Spielen

Wahl von Strategien, sodass sich kein Spieler einseitig verbessern kann

Z.B. Gefangenendilemma: (G, G) ist Nash-Ggw. In RoShamBo z.B. existiert kein Nash-Ggw. in

reinen Strategien Abhilfe: Gemischte Strategien:

Wahrscheinlichkeitsverteilung auf allen Strategien Erwartete Auszahlung Z.B. in RoShamBo: optimal ist gleichverteilte Auswahl

von Strategien (1/3 Stein, 1/3 Papier, 1/3 Schere)

Minimax - Prinzip Für Nullsummenspiele

Zwei Spieler Max und Min Positive Auszahlung ist gut für Max Beide Aktionen werden gleichzeitig gewählt

Max wählt jene Strategie, die bei optimalem Verhalten von Min die größtmögliche Auszahlung liefert

Min wählt jene Strategie, die bei optimalem Verhalten von Max die kleinstmögliche Auszahlung liefert

Funktioniert auch bei Spielen mit mehreren Zügen Spielbäume

Überblick Einführung Spieltheorie Minimax – Suche Lernen in Spielen Reinforcement Learning

Game Trees1

Anfangszustand Operatoren: legale Spielzüge Endbedingungen Auszahlungsfunktion

Anfangszustand plus wiederholte Anwendung der Operatoren bis Endzustand erreicht ist bildet einen Game Tree (mit Bewertungen)

1: Quelle: [Russell, Norvig: Artificial Intelligence: A Modern Approach] (in LBS erhältlich)

Beispiel: Tic-Tac-Toe

Minimax - Algorithmus1. Bewerte alle Endzustände2. Gehe ein Level hoch und bewerte dort alle

Zustände In Min-Knoten: Wert ist Minimum-Wert aller Nachfolger In Max-Knoten: Wert ist Maximum-Wert aller Nachfolger Wiederhole diesen Schritt bis Root erreicht

3. Wähle Aktion (als Max): wähle jene Aktion, die in den am höchsten bewerteten Zustand führt

Beispiel für Minimax:

Komplexität: O(bm) b ... Legale Züge pro Blatt, „Branching Factor“ m ... Maximale Tiefe des Suchbaums

Eigenschaften von Minimax Findet bei endlichem Baum immer optimale

Lösung gegen optimalen Gegner Dadurch manchmal zu „konservativ“

Exponentielle Laufzeit Für die meisten Spiele unbrauchbar

Z.B. Schach: b=35, m=50 (pro Spieler) ca. 35100 Knoten im Spielbaum

Macht keine Unterscheidung zwischen „unsinnigen“ und „sinnvollen“ Zügen

Bewertungs - Funktionen Idee: Beschränke Suchtiefe

Minimax nicht bis zum Ende ausführen Suche nach gewisser Tiefe abbrechen Bewerte Zustände in dieser Ebene heuristisch mit einer

Bewertungsfunktion (Evaluation Function) Berechne damit Minimax-Wert für aktuellen Zustand

Bewertungsfunktion Muss auf Endzuständen mit Auszahlungsfunktion übereinstimmen Muss effizient berechenbar sein Muss die Gewinnchancen in jedem Zustand möglichst genau

wiedergeben

Bewertung von Spielsituationen (1)

Bewertungsfunktion muss viele Features der momentanen Situation in einen Wert packen z.B. Materialwert, Zugmöglichkeiten für König, etc.

Bewertung von Spielsituationen (2) Typische Bewertungs-Funktion:

Gewichtete Linearkombination von Features

Was sind Features? Bekannte, wichtige Bewertungskriterien z.B. Anzahl von Figuren, Schach (ja/nein), etc.

Woher kommen Gewichte? Expertenwissen Lernen!

nn fwfwfwV ...2211

Unvollständige Suche Frage: Wie tief sucht man?

Gegeben durch Laufzeitbeschränkung Quiescence Search:

Bewerte nur Positionen, in denen keine großen Veränderungen mehr möglich sind (sonst suche weiter)

Horizont Problem: durch ungenügende Suche glaubt man, einen schlechten Zug

vermeiden zu können, zögert ihn aber nur hinaus

Suchtiefe Spielstärke! Suchtiefe wird kleiner, je mehr Zweige man besuchen muss Wie kann man die Anzahl von Zweigen beschränken?

- - Pruning : Bester (größter) Max-Wert bisher : Bester (kleinster) Min-Wert bisher

Wenn in Min-Knoten ein kleinerer Wert als berechnet wird Prune

Wenn in Max-Knoten ein größerer Wert als berechnet wird Prune

Prune: berechne keine weiteren Nachfolger in diesem Knoten

Beispiel: - - Pruning

Effizienz hängt von Reihenfolge der durchsuchten Knoten ab Move Ordering bringt Verbesserung

Spiele mit Zufallsfaktor Füge Zufalls-Knoten in

Game Tree ein Für jedes mögliche Zufallsereignis

bilde eigenen Pfad vom Zufallsknoten aus

ExpectiMiniMax – Algorithmus Ähnlich wie MiniMax Bei Zufallsknoten bilde Erwartungswert Dadurch noch mehr Pfade zu

durchsuchen Suchtiefe noch stärker beschränkt

Zusammenfassung: MiniMax Wird für fast alle Brettspiele verwendet Spielstärke steigt mit Suchtiefe Hauptprobleme:

Gute Bewertungs-Funktionen Viel Vorwissen notwendig (z.B. Definition der Features)

Frühzeitiges Erkennen unsinniger Pfade Dadurch mehr Zeit für sinnvolle Suche

Beispiel: Deep Blue Massiv Parallele Hardware-Lösung

30 Prozessoren, 480 Schach – Chips Bis zu 330 Mio. Positionen / Sekunde

Evaluation Function Summe von ca. 8000 Feature-Werten Hardware-Evaluation Function

Eröffnungsbuch Von 4 Großmeistern geschrieben Teilweise auf Kasparov spezialisiert

Großmeister-Datenbank 700,000 Spiele gespeichert

Endspiel – Datenbank Perfektes Spiel mit 5 Figuren

Was hat Deep Blue gebracht? Inspiration

„Real-World-Probleme“ sind lösbar! Paralleles Computing

Technologie wird heute für Simulationen von Molekülen in der Pharmazie verwendet

„Werbung“ für Parallele Technologie Kein großer Fortschritt für KI-Techniken!

Trotzdem wichtig für das ganze Gebiet!

Überblick Einführung Spieltheorie Minimax – Suche Lernen in Spielen Reinforcement Learning

Wo wird ML in Spielen eingesetzt? Lernen von Bewertungsfunktionen Lernen von Features Lernen von Pruning-Regeln Klassifizieren von Spielsituationen Lernen von Eröffnungs- und Endspiel-

Büchern Modellieren des Gegners Lernen von ganzen Strategien

Wo wird ML in Spielen eingesetzt? Lernen von Bewertungsfunktionen Lernen von Features Lernen von Pruning-Regeln Klassifizieren von Spielsituationen Lernen von Eröffnungs- und Endspiel-

Büchern Modellieren des Gegners Lernen von ganzen Strategien

Learning to Score Final Positions in Go by Eric van der Werf, H. Jaap van den

Herik, Jos Uiterwijk Univ. Maastricht, Niederlande Präsentiert bei ACG 10, Graz

Themen: Lernen von Bewertungsfunktionen Lernen aus Spieldatenbanken

Kurze Go-Anleitung 2 Spieler Plaziere Steine auf

Kreuzungen von Linien Verbundene Blöcke

werden entfernt, wenn sie an kein freies Feld mehr grenzen

Kein „Selbstmord“ Spieler können passen Ziel: größtes Gebiet

abgrenzen

Probleme in Go Kein Computerprogramm kann

mit Menschen mithalten 1 Mio. $ Preis ausgelaufen

Branching Factor zu hoch für Brute-Force Suche

Sogar Bewerten der Endstellung ist schwierig

Bewerten der Endstellung Spiel endet wenn beide Spieler passen Zähle gefangene Steine +

eingeschlossenes leeres Territorium Spieler mit größtem Gebiet gewinnt

Vor dem Zählen: ermittle Leben und Tod der Blöcke Tote Steine werden vom Brett entfernt Erst dann wird gezählt

Leben und Tod in Go Wann lebt ein

Block? Ein Block lebt, wenn er

auf keine mögliche Weise gefangen werden kann

Z.B. Blöcke mit „Augen“ leben

Alle anderen Blöcke sind tot

all blocks alive

white block is dead

eye

Lernaufgabe Klassifiziere tote Blöcke Lerne aus Datenbank von 9x9 Go

Spielen, die auf Internet Server gesammelt wurden ~ 18,000 Spiele, starke und schwache Gegner Gegeben: nur endgültiger Score der Partie Features sind bekannte geometrische und andere

berechnete Merkmale

Probleme beim Lernen Bewertungsfehler der Spieler

Durch händische Korrektur und Hilfe von GnuGo-Programm Labels generiert sehr aufwendig

Vergleich von Verschiedenen Classifiers Verschiedene Daten-Repräsentation

Classifier Vergleich

Neuronale Netze (Backprop) schneiden am besten ab Auch lineare Classifier sind gut geeignet Nearest Neighbour ungeeignet

n = 10,000 Training Examples

Classifier Training Error (%) Test Error (%) Training Time (s)

Linear 2.2 1.9 0.9

Log-Linear 1.0 1.2 5.6

Nearest Neighbour

0 10.2 4100

Backprop 0.5 1.0 190

Einfluss der Daten-Repräsentation

PCA: wie viel % Varianz wird beibehalten Hand-Crafted Features sind für gute Performance

notwendig Simples PCA-Preprocessing alleine reicht nicht aus

Test Error (%) using n Training Examples

Hand-Crafted Features

Raw PCA (100%)

PCA (90%)

n = 100 3.6 29.1 22.9 23.3

n = 1000 1.5 13.7 16.7 14.2

n = 10,000 1.0 7.5 9.9 8.9

Zusammenfassung Bewertung von Endpositionen aus großer

Spieldatenbank gelernt 98.9% Genauigkeit

Genauer als Durchschnitts-Spieler Keine Suche notwendig

Geplante Forschung: Machine Learning in nicht-finalen Positionen anwenden Noch größere Datenbanken zum Lernen verwenden

Lernen von Features Woher kommen Features in

Bewertungsfunktionen? Wissen von menschlichen Experten

Ziel: Identifikation von Features automatisieren

Ansatz: Logische Ableitung von Features aus Spielregeln Constructive Induction [Fawcett, 1993]

Lernen von Pruning-Regeln Problem von Minimax: Ganzer Baum muss

durchsucht werden Selective Search:

Prune jene Teilbäume, die höchstwahrscheinlich den Minimax – Wert nicht verändern

ProbCut [Buro, 1995]: Minimax-Wert in verschiedenen Suchtiefen ist korreliert Vorhersage von Minimax-Wert in größerer Tiefe durch Wert

in geringerer Tiefe (mit linearer Regression) Liegt Vorhersage außerhalb Konfidenzintervall Prune

Klassifizieren von Spielsituationen Klassifiziere Brettstellung als

Gewinn in x Zügen Verlust in x Zügen Unentschieden

Wird vor allem für Endspiel eingesetzt

Beispiel in Weka: KR-vs-KP Datensatz

Lernen von Eröffnungsbüchern Verwende große Datenbanken von

gesammelten Spielen Großmeister-Spiele Internet Server Logs

Bewerte Eröffnungszüge nach Ausgang der Partie Spielstärke (ELO-Zahl) des Spielers

Opponent Modelling Spieltheorie geht immer von worst-case aus

Gegner spielt optimale Strategie Konservative Taktik: vermeide Niederlage

Bei Ausnützen von Informationen über Gegner ist bessere Performance möglich Optimale Strategie spielt immer gleich gut, egal wie gut oder

schlecht der Gegner ist Mit Opponent Model: Spieler besiegt schwächere Gegner

öfter als die optimale Strategie

Opponent Modelling in Poker Nichtvollständige

Information Suche nutzlos

Gegner einschätzen Bluffer, konservativ, ...

Lerne aus vorigen Spielen

Lerne aus Setz-Strategie der Gegner

Gegner – Modell prob (Karten | Verhalten)

Verhalten besteht aus Setz-Verhalten des Gegners und anderer verfügbarer Information

Programme Loki und Poki [Billings, 1999] Gewinnen regelmäßig auf Internet Server Noch nicht auf WM – Niveau

RoShamBo (Stein-Papier-Schere): Mit Opponent-Modelling besseres Turnier-Spiel als optimale

Strategie Kann schwache Strategien ausnützen

Learning to Fly [Sammut, et.al. 1992] Supervised Learning für

Strategien-Lernen

Lerne die Steuerung eines Flugzeugs in einem Flugsimulator

Lerne von gesammelten Daten erfahrener Piloten

Trainiere einen C4.5 Entscheidungsbaum

Learning to Fly (2) Attribute sind durch 20 Zustands-

Variablen gegeben (Höhe, Geschwindigkeit, ...)

Target Output ist die Reaktion von 3 Piloten in je 30 Flugversuchen 90.000 Trainingsbeispiele

Mehrere Entscheidungsbäume gelernt: für jede Steuerung einen (z.B. Schub,

Höhenruder, Seitenruder, Landeklappen)

Learning to Fly (3) Beispiel für gelernte

Strategie Schub (Thrust) in

diskrete Stufen eingeteilt z_feet ist Abstand zur

Rollbahn elevation ist Neigung des

Flugzeugs Lerne verschiedene

Regeln für jede Flugphase

Learning to Fly: Ergebnis Programm lernt tatsächlich fliegen Flugkurve ist besser als die der

erfahrenen Piloten Effekt von Generalisierung Weniger Korrekturen notwendig

Eher „exotische“ Anwendung

Überblick Einführung Spieltheorie Minimax – Suche Lernen in Spielen Reinforcement Learning

Reinforcement Learning (RL) Vorschau auf Maschinelles Lernen B

SS 2004: 2 VO + 1 UE

Themen der Vorlesung: Lernen von Strategien Reinforcement Learning Genetische Algorithmen

Grundidee von Reinforcement Learning Lernen durch Interaktion mit der Umwelt Agent befindet sich in einem Zustand s Agent führt eine Aktion a aus Agent bekommt von der Umwelt einen Reward

r(s, a)

Ziel: Maximiere den langfristigen gesammelten Reward

Lerne dazu eine Bewertung Q(s,a) von Aktionen in jedem möglichen Zustand

Rewards Rewards geben an, wie „gut“ die gewählte Aktion

war Beispiele (aus dem täglichen Leben):

Herdplatte: Kind greift auf heiße Herdplatte Stark negativer „Reward“

Dressur: Hund apportiert geworfenen Stock Belohnung durch Herrchen: positiver „Reward“

Beispiele (aus der KI): Spielende: Spieler gewinnt / verliert das Spiel

Je nach Ausgang positiver / negativer Reward Roboter erreicht sein Ziel / fährt gegen ein Hindernis

Positiv / Negativ

Lernverfahren1. Starte mit beliebiger Strategie2. Führe im momentanen Zustand die von der

aktuellen Strategie vorgeschlagene Aktion aus3. Beobachte Feedback der Umwelt beim Ausführen

einer Aktion (reward, neuer Zustand)4. Verbessere dadurch die geschätzte Bewertung

dieser Aktion im momentanen Zustand5. Ändere die Strategie entsprechend der neuen

Bewertung der Aktionen6. Wiederhole 2. – 5. bis Ende erreicht

Beispiel: Grid - World

Ziel: Gehe in ein graues Eckfeld

Gehen „bringt“ Reward –1 Links: Bewertung der

zufälligen Policy Rechts: Neue Policy, die

auf Bewertung basiert Anfangs völlig zufällige

Policy Mit zunehmender

Erfahrung wird Policy immer besser

Zum Schluss ist sie optimal

TD Gammon [Tesauro, 1995] Größter Erfolg von

Reinforcement Learning Programm spielt auf

Weltmeisterniveau Programm lernt völlig

selbständig Kaum a-priori Wissen

Training durch Spiele gegen sich selbst

TD Gammon: Technik (1) Evaluation Function

Wird durch Neuronales Netzwerk dargestellt

NN gibt die Gewinn-Wahrscheinlichkeit für jede Position an

Kurze ExpectiMiniMax-Suche (2 plies)

Input – Repräsentation binäre Darstellung der

momentanen Brettsituation Später: komplexere

Backgammon-Features

TD Gammon: Technik (2) Training

Spielt Trainingsspiele gegen sich selbst Rewards: +1 für Sieg, –1 für Niederlage, sonst 0 Temporal Difference (TD) Learning verbessert Schätzung

für Nicht-Endpositionen Neuronales Netzwerk wird auf neue Schätzwerte trainiert

(mit Backprop-Algorithmus)

Leistung Steigt mit Anzahl der Trainingsspiele Bis zu 1.5 Mio. Trainingsspiele

TD Gammon: Resultate (1) Original-Version (ohne Vorwissen)

Erreicht Level anderer Programme Mit Verbesserungen

Unter den Top-3 Spielern der Welt (menschlich und Computer)

Anzeichen von Kreativität TD-Gammon spielte Eröffnungszüge anders als

menschliche Großmeister Heute spielen die Menschen die selben Züge!

TD Gammon: Resultate (2) Funktioniert das Konzept immer?

Bei Schach und Go nicht Möglicherweise große Anzahl von

Trainingsspielen mitentscheidend Durch Zufallsfaktor dürfte Backgammon besser

geeignet für Reinforcement Learning sein Warum?

Mehr Zustände werden ausprobiert Bewertung auch für seltene Züge gelernt

Siedler von Catan (1) Beliebtes modernes

Brettspiel (© Klaus Teuber, 1995)

Spielbrett Produktion Bauen Tauschhandel Siegpunkte Taktiken

Siedler von Catan (2) Diplomarbeit [Pfeiffer, 2003]

Lerne Strategie für gesamtes Spiel durch Reinforcement Learning

Probleme 4 Spieler statt nur 2 Hoher Zufallsfaktor Komplexe Spielregeln Unterschiedliche Spielteile (Handeln, Bauen, etc.) Lang- und kurzfristige Planung Verschiedenste Gewinnstrategien Gegnerbeobachtung usw.

Siedler von Catan (3) Vorgangsweise: Hierarchisches RL

Lerne High-level Strategie: gibt langfristiges Ziel an Lerne Low-level Strategie: wie erreicht man das Ziel der

High-level Strategie? Primitive Aktionen: mit Vorwissen ausprogrammiert Self – play: Lernen durch Spielen gegen sich selbst

Komplexer Feature-Raum 494 binäre Attribute Verwende Model-Tree zur Approximation (Verallgemeinerte

Entscheidungsbäume für reellwertige Funktionen)

Siedler von Catan (4) Handeln

Kombination von Vorwissen und Lernen Deterministische Handelsstrategie „Preise“ für den Handel werden aus gelernter

Bewertungsfunktion gelernt Bsp.: Welcher Handel bringt mich dem

momentanen Subgoal am nächsten? Gegner-Modellierung: Wie gut ist ein Handel für

den Gegner?

Siedler von Catan: Ergebnisse Ohne Vorwissen

Schlechter Lernerfolg durch Overfitting Kein Erfolg gegen Menschen

Mit Vorwissen High-level Strategie vorgegeben Schlägt alle vorhergehenden Strategien Gewinnt ca. 20 % gegen Menschen Lernen durch Imitieren der deterministischen Strategie bringt

Verbesserung gegenüber vorherigen Ansätzen

Siedler von Catan: Neue Erkenntnisse Erster Versuch von Reinforcement Learning

für ein Spiel dieser Komplexität Könnte auch bei kommerziellen Spielen anwendbar sein Neue Richtung von Forschung über Spiele

Ansatz kann bei Einbringen von genügend Vorwissen gut funktionieren

„Tabula-Rasa“-Lernen funktioniert nicht Lernen von Teilstrategien funktioniert gut

Kommerzielle Spiele (1) Für Menschen einfacher, für Computer

komplizierter Schach oder Backgammon „liegen“ dem

Computer besser als Ego-Shooter, Sportspiele, Echtzeit-Strategiespiele

Stand der KI in kommerziellen Spielen ist seit min. 10 Jahren (fast) unverändert!

Kommerzielle Spiele (2) Lernen in Kommerziellen Spielen

Fehlerrate zurückdrehen Fixierte Neuronale Netze (kein online Lernen)

Reinforcement Learning in Spielen Creatures Black & White

Kommerzielle Spiele (3) Sehr Großes Potential

Siehe Online Spiele Ziel: Menschen-ähnliche KI

Lernen gehört dazu

Trotz wirtschaftlicher Bedeutung noch wenig Forschung Daher viel Platz für neue Ideen!

Pläne für RL in Computerspielen Robotic Soccer (RoboCup) Bewegungslernen

Rennspiele, Sportspiele (Kommerzielle) Strategiespiele Opponent Modelling

Demnächst: Projekte oder Diplomarbeiten in diesem Bereich

Quellen (1)Papers J. Schaeffer: The Games Computers (and People) play; Advances in

Computers 50:189-266, 2000 J. Fürnkranz: Machine Learning in Games: A Survey; Technical Report

OEFAI-TR-2000-31, 2000 C. Sammut: Learning to Fly, Proceedings of ICML 9, 1992

Bücher J. Schaeffer, J. van den Herik: Chips Challenging Champions; Elsevier

Amsterdam, 2002 Advances in Computer Games: Many Games, Many Challenges;

Proceedings of ACG-10, Kluwer 2003 Russell, Norvig: Artificial Intelligence, A Modern Approach; Prentice

Hall, 1995 (in LBS)

Quellen (2)Online M. Pfeiffer: Machine Learning Applications in Computer Games

(Diplomarbeit), 2003 (www.igi.tugraz.at/cluster/pfeifferDA.pdf) ICGA: International Computer Games Association (www.icga.org) University of Alberta GAMES Group (www.cs.ualberta.ca/~games) Universität Maastricht Computer-Games Group (www

.cs.unimaas.nl/~uiterwyk/cg.html)

Weitere Links auf meiner Homepage: (www.igi.tugraz.at/pfeiffer)