Online Imitation and Adaptation in Modern Computer Games

Werbung
Einführung in Heuristische Suche
Steffen Priesterjahn
FG Wissensbasierte Systeme
Universität Paderborn
Dienstag, 3. Juni 2008
Steffen Priesterjahn
Beispiele
FG Wissensbasierte Systeme
Universität Paderborn
2
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Überblick
Intelligente Suche
Rundenbasierte Spiele
FG Wissensbasierte Systeme
Universität Paderborn
3
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Grundlagen
• Es muss ein Rätsel / Puzzle / Problem gelöst werden
• Wie kann ein Computer diese Aufgabe lösen?
• Beispiele:
•
•
•
•
•
•
TSP
SAT
8er Puzzle
8 Damen Problem,
Labyrinth
…
FG Wissensbasierte Systeme
Universität Paderborn
4
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Erster Schritt: Analyse des Problems
•
•
•
•
•
Beispiel: 8er Puzzle
Spielfeld 3x3-Felder mit jeweils einem Teil (1,…,8,0)
Eine Startkonfiguration (zufällig)
Eine Zielkonfiguration
Übergänge zwischen den Konfigurationen:
leeres Feld nach oben, unten, links oder rechts
• Gesucht:
Folge von Transformation von Start- zu Zielkonfiguration
2
8
1
5
2
6
3
6
4
7
8
FG Wissensbasierte Systeme
Universität Paderborn
1
4
5
1
2
3
3
4
5
6
7
7
8
5
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Problem
Ein Problem besteht aus
FG Wissensbasierte Systeme
Universität Paderborn
6
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel: (8er Puzzle)
• Suchraum: S = alle Permutationen aus {1,…,8,0}, die sich durch
Transformationen aus (1,2,…,8,0) erreichen lassen
• Transformationen, z.B.:
t( (1, 2, 3, 4, 0, 6, 7, 5, 8) ) = {
(1, 2, 3, 0, 4, 6,
(1, 2, 3, 4, 6, 0,
(1, 0, 3, 4, 2, 6,
(1, 2, 3, 4, 5, 6,
7, 5, 8),
7, 5, 8),
7, 5, 8),
7, 0, 8) }
1
2
3
4
5
6
7
8
• Beispiel für eine Bewertungsfunktion:
f(x) = (x0-1)2 + (x1-2)2 + (x2-3)2 + (x3-4)2 + (x4-5)2
f(x) + (x5-6)2 + (x6-7)2 + (x7-8)2 + (x8-0)2
• Constraint: keins
FG Wissensbasierte Systeme
Universität Paderborn
7
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Suchräume
• Beinhalten alle möglichen Einzelzustände bzw. Teillösungen eines Problems
• Unterschiedliche Modellierungen
• Iterativ:
• enthält nur Elemente mit vollständigen Lösungskandidaten
• Transformationen verändern die Lösungskandidaten
• Inkrementell:
• Enthält Elemente mit unvollständigen Teillösungen (0 ≤ m ≤ n Komponenten)
• Es existiert ein Startelement mit 0 oder 1 Komponent(en)
• Jede Transformation fügt eine Komponente hinzu
FG Wissensbasierte Systeme
Universität Paderborn
8
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Greedy Algorithmen
• Greedy = gierig
• Naiver Lösungsansatz:
• Wähle ein/das Startelement
• Führe eine Transformation aus, die den meisten momentanen Gewinn (einfache
Bewertungsfunktion) bringt
• Terminiere wenn
• die Maximale Komponentenanzahl erreicht ist.
(inkrementell)
• eine weitere Transformation keinen Gewinn bringt.
(iterativ)
• Gute Lösungen für einfache Probleme
• Lösung ist meist nicht optimal
FG Wissensbasierte Systeme
Universität Paderborn
9
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Greedy: Beispiel TSP
• Traveling Salesman Problem
• Suche die kürzeste Rundtour
durch mehrere Städte.
• NP-vollständig
• 20 Städte: (19*… *2*1)/2 Möglichkeiten
60 822 550 204 416 000 Routen
• Greedy-Algorithmus:
• Starte in einer beliebigen Stadt
• Gehe immer zur nächstgelegenen,
noch nicht besuchten Stadt.
FG Wissensbasierte Systeme
Universität Paderborn
10
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Greedy: Beispiel TSP (II)
FG Wissensbasierte Systeme
Universität Paderborn
11
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Lokale Suche
• Meist iterativer Lösungsraum
• Durchsucht den Suchraum, indem immer von einem Element zu einem
Nachbarn weitergegangen wird.
• Verfahren:
•
•
•
•
Zufallssuche
Hill-Climbing
Simulated Annealing
Evolutioniäre Algorithmen
• "parallele, gesteuerte Zufallssuche"
• Nachbarschaft definiert durch Mutation
• Steuerung durch Selektion
FG Wissensbasierte Systeme
Universität Paderborn
12
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Graphsearch
• Suchräume als Graphen
• Lösungskandidaten = Knoten
• Transformationen = Kanten
• Der so entstanden Graph heißt Zustandsgraph.
• Suchbaum
• Wähle einen Startzustand = Wurzel
• Füge alle neuen Folgezustände
des aktuellen Zustands als Nachfolger an
• generieren = Knoten das erste Mal erzeugen
• explorieren = Knoten bewerten
• expandieren = Nachfolger des Knotens anlegen
• Es gibt verschieden Arten einen solchen Baum anzulegen.
FG Wissensbasierte Systeme
Universität Paderborn
13
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Tiefensuche
• Betrachte zuerst immer alle Nachfolger, bevor ein Nachbarknoten betrachtet
wird.
FG Wissensbasierte Systeme
Universität Paderborn
14
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel: Labyrinth
FG Wissensbasierte Systeme
Universität Paderborn
15
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel: Labyrinth (II)
"Immer an der rechten Wand entlang" = Tiefensuche
FG Wissensbasierte Systeme
Universität Paderborn
16
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Breitensuche
• Betrachte zuerst alle Nachfolger eines Knotens, bevor deren Nachfolger
betrachtet werden.
FG Wissensbasierte Systeme
Universität Paderborn
17
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Probleme
• Tiefensuche
• Es werden erst viele Zweige des Baumes expandiert, bis die Lösung gefunden wird.
• Häufig zu aufwendig
• Breitensuche
• Es werden viele unnötige Zweige parallel mitbetrachtet.
• Häufig zu aufwendig
FG Wissensbasierte Systeme
Universität Paderborn
18
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Heuristische Suchverfahren
• heuristiko, (alt-)griechisch: "ich finde"
• Allgemein:
• Intelligentes Schätzen
• Gute Daumenregel
• Präziser:
• Strategie zu Verwendung verfügbaren Wissens zur Kontrolle des
Problemlösungsprozesses.
• 2 Varianten:
• Benutzung vom problembedingtem Wissen und Erfahrung, zur Beschleunigung der
Problemlösung.
• Beschleunigung der Problemlösung, indem auf Optimalität verzichtet wird.
FG Wissensbasierte Systeme
Universität Paderborn
19
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Graphsearch-Algorithmen
• Gebräuchliche Implementation
• 2 Listen
• OPEN – Liste aller generierten, aber noch nicht expandierten Knoten
• CLOSED – Liste alle bereits expandierten Knoten
• Bewertungsfunktion f
CLOSED
OPEN
FG Wissensbasierte Systeme
Universität Paderborn
20
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Best First
FG Wissensbasierte Systeme
Universität Paderborn
21
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Best First (II)
• Verzögerte Terminierung bei BF*
• Gefundene Lösung muss sich mit den Bewertungen aller Teillösungen auf OPEN
messen.
• Ein eventuell besserer Lösungspfad kann noch weiterverfolgt werden.
• Findet IMMER die bzgl. f optimale Lösung
• Die Bewertungsfunktion f bestimmt die Performance des Algorithmus.
• f stellt häufig die Kosten dar, um zu einem Zielzustand zu gelangen  Minimierung
der Kosten
• f = Tiefe im Baum  Breitensuche
FG Wissensbasierte Systeme
Universität Paderborn
22
Steffen Priesterjahn
Dienstag, 3. Juni 2008
A*-Verfahren
• Spezielles BF*-Verfahren
• Betrachtet nicht nur bisherige Kosten, sondern schätzt auch zukünftige Kosten
ab.
• Bisherige Kosten für Knoten n: g(n)
• Zukünftige Kosten für Knoten n
• Genaue Kosten: h*(n)
• Abgeschätzte Kosten: h(n)
• Bewertung des Knotens n
f(n) = g(n) + h(n)
FG Wissensbasierte Systeme
Universität Paderborn
23
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Heuristik des A*-Verfahrens
• h(n) heißt Heuristik des A*-Verfahrens
• Für ein zulässiges A*-Verfahren muss gelten:
h(n) ≤ h*(n)
• Es gilt außerdem:
• h(n) = 0 für Lösungen
• h(n) = ∞ für Dead-End-Knoten
• h(n) ≥ h(n') wenn n' Nachfolger von n ist
• Einfachste Heuristik: h(n) = 0
• Beste Heuristik: h(n) = h*(n)
FG Wissensbasierte Systeme
Universität Paderborn
24
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel: 8er Puzzle
• Iterativer Lösungsraum
• Knoten = Eine Belegung des Spiels
• Kanten führen zu Belegungen, die durch Verschieben des leeren Feldes (oben,
unten, links, rechts) entstehen
• Start mit zufälliger (lösbarer) Belegung
• Bisherige Kosten g = Anzahl an Zügen
= Tiefe im Entscheidungsbaum
• Heuristik h: "Manhattan-Distanz"
FG Wissensbasierte Systeme
Universität Paderborn
25
2
8
1
5
6
3
4
7
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel: 8er-Puzzle
• Manhattan-Distanz, Beispiel:
8
2
1
5
6
3
4
7
8
1
5
15
Distanz: 2 + 1 = 3
Distanz: 1
Distanz: 1 + 1 = 2
• Das leere Feld wird nicht betrachtet!
• Die Manhattan-Distanz ist immer kleiner als die tatsächlich noch gebrauchte
Anzahl an Zügen.
• Also:
f(n) = Tiefe von n + Manhattan-Distanz
FG Wissensbasierte Systeme
Universität Paderborn
26
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel: 8er Puzzle
1 2 3
7 4 6
5 8
4
5
1 2 3
4 6
7 5 8
1 2 3
4 6
7 5 8
3
5
1 2 3
4
6
7 5 8
2
1 2 3
4 5 6
7
8
1
3
2 3
1 4 6
7 5 8
4
+0
FG Wissensbasierte Systeme
Universität Paderborn
1
3
4 2 6
7 5 8
3
5
5
+1
+2
27
1 2 3
4 5 6
7 8
0
3
3
1 2 3
4 5 6
7 8
2
5
+3
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Überblick
Intelligente Suche
Rundenbasierte Spiele
FG Wissensbasierte Systeme
Universität Paderborn
28
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Grundlagen
• Wir betrachten rundenbasierte Spiele für 2 Spieler.
• Zum Beispiel:
•
•
•
•
•
•
Tic Tac Toe
Vier Gewinnt
Dame
Mühle
Schach
…
• Es gibt auch Graphsearch-Verfahren, für solche Probleme. (z.B. General Best
First)
FG Wissensbasierte Systeme
Universität Paderborn
29
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Und-Oder-Graphen
• Gerichtet
• 2 Kantensorten
• Oder-Kanten (normale Kanten)
• Und-Kanten (werden alle gleichzeitig benutzt)
FG Wissensbasierte Systeme
Universität Paderborn
30
Steffen Priesterjahn
Dienstag, 3. Juni 2008
MINIMAX-Spiele
•
•
•
•
•
2 Spieler: MIN und MAX
Es ist eine Anfangsstellung des Spiels definiert
Die Spieler verändern abwechselnd die Spielstellung (Zug)
MAX hat immer den ersten Zug
Nach endlich vielen Zügen wird stets eine Spielstellung ohne
Fortsetzungsmöglichkeiten erreicht
• Bewertung der Endstellung:
• WIN
• DRAW
• LOSS
FG Wissensbasierte Systeme
Universität Paderborn
(-1)
(-0)
(-1)
- MAX hat gewonnen
- unentschieden
- MIN hat gewonnen
31
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Spielbäume
• MINIMAX-Spiele werden als Und-Oder-Graph modelliert
• Spielbaum = Entscheidungsbaum eines Spiels
MAX
MIN
MAX
FG Wissensbasierte Systeme
Universität Paderborn
32
Steffen Priesterjahn
Dienstag, 3. Juni 2008
MINIMAX-Kontenbewertung
• MAX-Knoten (MAX ist dran)
•
•
•
•
WIN
- falls ein Nachfolger die Markierung WIN hat
DRAW
- kein Nachfolger hat WIN und min. Einer DRAW
LOSS
- falls alle Nachfolger die Markierung LOSS haben
Entspricht dem Maximum der Nachfolger
• MIN-Knoten (MIN ist dran)
•
•
•
•
WIN
- falls alle Nachfolger die Markierung WIN haben
DRAW
- kein Nachfolger hat LOSS und min. Einer DRAW
LOSS
- falls ein Nachfolger die Markierung LOSS hat
Entspricht dem Minimum der Nachfolger
FG Wissensbasierte Systeme
Universität Paderborn
33
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Spielstrategie
•
Eine Spielstrategie für MAX ist ein Spielbaum, der die folgenden Eigenschaften erfüllt:
•
•
•
•
•
Der Startknoten gehört dazu.
Für jeden MAX-Knoten gehört ein Nachfolger dazu.
Für jeden MIN-Knoten gehören alle Nachfolger dazu.
Eine Spielstrategie für MIN wird analog definiert.
Bei einer Gewinnstrategie für MAX sind alle Blätter mit WIN markiert.
FG Wissensbasierte Systeme
Universität Paderborn
34
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel: Tic Tac Toe
- MAX (erster Zug)
- MIN
FG Wissensbasierte Systeme
Universität Paderborn
35
Steffen Priesterjahn
Dienstag, 3. Juni 2008
MINIMAX-Heuristiken
• Problem:
Bei den meisten Spielen ist der Zustandsraum zu groß um ihn vollständig zu
erkunden.
• Dame: ca. 1040 Knoten
• Schach: ca. 10120 Knoten
• Lösung:
• Berechne die möglichen Nachfolgezustände bis zu einer bestimmten Tiefe…
• …und verwende eine Heuristik zur Bewertung der Blätter.
FG Wissensbasierte Systeme
Universität Paderborn
36
Steffen Priesterjahn
Dienstag, 3. Juni 2008
MINIMAX-Heuristiken (II)
• Bewertung mit geordneten Werten (z.B. aus , , )
• MAX will die Bewertung maximieren.
• Bewertung der Blätter durch die Heuristik
• Innere Knoten
• MAX-Knoten: Maximum der Nachfolger
• MIN-Knoten: Minimum der Nachfolger
FG Wissensbasierte Systeme
Universität Paderborn
37
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel
10
10
2
10
14
10
10
9
11
9
2
14
12
14
13
15
13
20
2
14
5
1
2
4
3
1
3
20
22
20
21
- MAX-Knoten
- MIN-Knoten
FG Wissensbasierte Systeme
Universität Paderborn
38
Steffen Priesterjahn
Dienstag, 3. Juni 2008
MINIMAX-Algorithmus
(Depth First Variante)
MINIMAX(n):
if is_leaf(n) then
return h(n);
else
foreach n' in successors(n) do
v(n') = MINIMAX(n');
h(n) - Heuristik
v(n) - Bewertung
if nodeType(n) = MAX then
return max{ v(n') | n'  successors(n) }
else
return min{ v(n') | n'  successors(n) }
FG Wissensbasierte Systeme
Universität Paderborn
39
Steffen Priesterjahn
Dienstag, 3. Juni 2008
--Suche
• Die Suche kann beschleunigt werden, indem unnötige Knoten nicht betrachtet
werden.
•
-Schranke
• Untere Schranke für MIN-Knoten
• Die Nachfolger eines MIN-Knotens n brauchen nicht betrachtet werden, wenn
v(n) ≤ 
•
-Schranke
• Obere Schranke für MAX-Knoten
• Die Nachfolger eines MAX-Knotens n brauchen nicht betrachtet werden, wenn
v(n) ≥ 
FG Wissensbasierte Systeme
Universität Paderborn
40
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Beispiel: --Suche
10
10
5
10
14
10
10
9
11
9
5
14
12
14
5
15
13
14
5
4
2
4
1
3
22
20
21
- MAX-Knoten
- MIN-Knoten
FG Wissensbasierte Systeme
Universität Paderborn
41
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Ausblick
• Viele Strategien setzen auf MINIMAX auf
• unterstützt durch Datenbanken
• unterstützt durch bessere Schätzfunktionen
• unterstützt durch risikoreichere Strategieauswahl
• Weiterführend: Spieltheorie
• Suche nach Nash-Equilibrien
• Gleichgewicht aller Spieler
• Für keine Spieler ist es von Vorteil seine Strategie zu ändern
• Probleme
• Equilibrien sind schwer zu bestimmen
• Mehrere Equlibrien (nicht alle Pareto-optimal)
• Nur bei relativ einfachen Spielen handhabbar
FG Wissensbasierte Systeme
Universität Paderborn
42
Steffen Priesterjahn
Dienstag, 3. Juni 2008
Herunterladen