Kapitel 3 Adversariale Suche Allgemeines Minimax-Algorithmus α-β-pruning Bewertungsfunktionen Mehrspieler-Spiele Spiele mit Zufallskomponenten Kapitel 3 Adversariale Suche p. 1
Allgemeines Adversariale Suchprobleme (auch Spiele genannt): in einer Welt vorausplanen, in der andere gegen uns planen. Spiele sind interessante Studienobjekte: klare Problemformulierung: einfache Zustände; kleine Zahl von Aktionen, deren Ergebnisse durch genaue Regeln definiert schwierig zu lösen Bsp. Schach: durchschnittlicher Verzweigungsfaktor 35; Spiele benötigen oft 50 Züge pro Spieler 35 100 100 154 Knoten im Suchbaum (Suchraum hat etwa 10 40 Knoten) möglichst optimale Entscheidung unter Zeitlimitierung treffen Kapitel 3 Adversariale Suche p. 2
Allgemeines Fokus des Kapitels: 2-Personen Spiele mit vollständiger Information Typische Beispiele: Brettspiele, wo sämtliche relevanten Informationen (Position der Figuren) jederzeit den beiden Spielern zugänglich sind. Die Spieler, MAX und MIN genannt, ziehen abwechselnd. Es existieren keine stochastischen Einflussgrößen, z.b. Würfeln. Das Ziel eines jeden Spielers ist zu gewinnen. MAX beginnt und es soll eine Strategie entwickelt werden, die MAX zum Sieg verhilft. Kapitel 3 Adversariale Suche p. 3
Allgemeines Suchbaum für ein Spiel: Ebene a: Situation zum Zeitpunkt 1; MAX ist am Zug. Ebene b: alle möglichen Situationen zum Zeitpunkt 2, nachdem MAX gezogen hat. Nun ist MIN am Zug. Ebene c: alle möglichen Situationen zum Zeitpunkt 3, nachdem MIN gezogen hat. Nun ist wieder MAX am Zug. Kapitel 3 Adversariale Suche p. 4
Allgemeines Beispiel: Nim-Spiel Stapel mit n Münzen am Anfang (hier n = 7) 1 Zug = Teilung des Stapels in zwei ungleiche Teile Niederlage, wenn ein Spieler nicht mehr ziehen kann Darstellung einer Situation durch ein Tripel: (n 1,..., n k, Spieler am Zug) n 1,..., n k : Anzahl der Münzen in den verschiedenen Stapeln Kapitel 3 Adversariale Suche p. 5
Allgemeines Suchgraph: Kapitel 3 Adversariale Suche p. 6
Allgemeines Suchbaum: Wenn MAX beginnt, kann MIN immer gewinnen! Kapitel 3 Adversariale Suche p. 7
Allgemeines Vollständige Darstellung/Suche des Suchbaums nicht möglich MAX beschränkt den Spielbaum und berechnet die möglichen Züge nur bis zu einer vorgegebenen Tiefe. Der optimale Zug für MAX wird aufgrund dieser beschränkten Suche ausgewählt. Annahme: Beide Spieler spielen optimal. Unter allen Zugmöglichkeiten zieht MIN denjenigen, der für MAX am ungünstigsten ist. Unter allen Zugmöglichkeiten zieht MAX denjenigen, der für MAX am günstigsten ist. Ziel: finde eine Siegesstrategie für MAX bei einem unfehlbaren Gegner Kapitel 3 Adversariale Suche p. 8
Minimax-Algorithmus Bewertung e(p): für Situation p (auch negativ möglich). Je größer der Wert von e(p), desto besser ist die Situation p für MAX. Durch Rückrechnen der Werte von e(p) aus tieferen Ebenen ergibt sich eine genauere Beurteilung der Spielsituation, als wenn man e(p) direkt auf die Nachfolger des Wurzelknotens anwenden würde. Kapitel 3 Adversariale Suche p. 9
Minimax-Algorithmus Kapitel 3 Adversariale Suche p. 10
Minimax-Algorithmus Beispiel: Tic-Tac-Toe Tiefe 2 des Suchbaums e(p) = (Anzahl Spalten, Zeilen und Diagonalen, die MAX noch vollständig einnehmen kann) - (Anzahl Spalten, Zeilen und Diagonalen, die MIN noch vollständig einnehmen kann) e(p) = falls Gewinnstellung für MAX e(p) = falls Gewinnstellung für MIN Kapitel 3 Adversariale Suche p. 11
Minimax-Algorithmus Kapitel 3 Adversariale Suche p. 12
Minimax-Algorithmus Kapitel 3 Adversariale Suche p. 13
Minimax-Algorithmus Kapitel 3 Adversariale Suche p. 14
Minimax-Algorithmus Allgemein: Bewertungsfunktion e(p) für Endzustände Tic-Tac-Toe: e(p) = (- ) für Gewinnstellung MAX (MIN) Backgammon: Punktzahl reicht von +192 bis -192 Rekursive Formulierung von Minimax: Kapitel 3 Adversariale Suche p. 15
Minimax-Algorithmus d: Suchtiefe; b: Anzahl erlaubter Züge in jedem Punkt Zeitkomplexität: O(b d ) Speicherkomplexität: O(bd) Was passiert, wenn MIN nicht optimal spielt? Für jeden Spielbaum ist der von MAX unter Verwendung von Minimax- Entscheidungen gegen ein suboptimales MIN erhaltene Bewertung nie kleiner als die Bewertung, die erzielt wird, wenn gegen ein optimales MIN gespielt wird. Es gibt andere Strategien gegen suboptimale Gegner, die besser als die Minimax-Strategie sind; aber diese Strategien sind i.a. schlechter gegen optimale Gegner. Kapitel 3 Adversariale Suche p. 16
α-β-pruning Minimax generiert/bewertet alle Knoten im Suchbaum. Bestimmte Teile des Suchbaums müssen allerdings gar nicht betrachtet werden. Kapitel 3 Adversariale Suche p. 17
α-β-pruning Regel für α-β-pruning: Suche unterhalb eines MIN-Knotens abbrechen, falls ein Nachfolger existiert mit Bewertung kleiner oder gleich der unteren Schranke des Vorgängers Suche unterhalb eines MAX-Knotens abbrechen, falls ein Nachfolger existiert mit Bewertung größer oder gleich der oberen Schranke des Vorgängers Beispiel: Kapitel 3 Adversariale Suche p. 18
α-β-pruning Range of possible values [-,+ ] [-, + ] Kapitel 3 Adversariale Suche p. 19
α-β-pruning [-,+ ] [-,3] Kapitel 3 Adversariale Suche p. 20
α-β-pruning [-,+ ] [-,3] Kapitel 3 Adversariale Suche p. 21
α-β-pruning [3,+ ] [3,3] Kapitel 3 Adversariale Suche p. 22
α-β-pruning [3,+ ] This node is worse for MAX [3,3] [-,2] Kapitel 3 Adversariale Suche p. 23
α-β-pruning [3,14], [3,3] [-,2] [-,14] Kapitel 3 Adversariale Suche p. 24
α-β-pruning [3,5], [3,3] [,2] [-,5] Kapitel 3 Adversariale Suche p. 25
α-β-pruning [3,3] [3,3] [,2] [2,2] Kapitel 3 Adversariale Suche p. 26
α-β-pruning Kapitel 3 Adversariale Suche p. 27
α-β-pruning Kapitel 3 Adversariale Suche p. 28
α-β-pruning Why is it called α-β? α is the value of the best (i.e., highestvalue) choice found so far at any choice point along the path for MAX If v is worse than α, MAX will avoid it prune that branch Similarly, β is the value of the best (i.e., highest-value) choice found so far at any choice point along the path for MIN Kapitel 3 Adversariale Suche p. 29
α-β-pruning Seien d = Tiefe des Suchbaums b = Verzweigungsfaktor des Baums s = Anzahl der erzeugten Blattknoten Bei α-β-pruning wird im schlechtesten Fall der komplette Suchbaum erzeugt, d.h. s = b d.. Im besten Fall gilt: D.h. im besten Fall werden nur etwa soviele Knoten expandiert, wie für einen Suchbaum der halben Tiefe bei einer Suche ohne α-β- Pruning Verdoppelung der Suchtiefe. Kapitel 3 Adversariale Suche p. 30
α-β-pruning α-β-pruning beeinflusst das Ergebnis nicht! Komplette Teilbäume können gestutzt werden. Effektivität des α-β-pruning hängt wesentlich von der Reihenfolge ab, in der die Nachfolger ausgewertet werden Es könnte sinnvoll sein, zuerst die Nachfolger auszuprobieren, die wahrscheinlich die besten/schlechtesten Werte (je nach MIN/MAX) erbringen. A simple example of the value of reasoning about which computations are relevant (a form of meta-reasoning). Kapitel 3 Adversariale Suche p. 31
Bewertungsfunktionen Bewertungsfunktion: Schätzung des erwarteten Nutzens des Spiels von einer bestimmten Position aus. Leistung eines Spielprogramms entscheidend von der Bewertungsfunktion abhängig. Anforderungen: hohe Recheneffizienz mit den tatsächlichen Gewinnwahrscheinlichkeiten korrelieren Konstruktion: Funktionsmerkmale Schach: einzelne Figurenarten 1, 2,..., n numerische Beiträge aus den Funktionsmerkmalen f 1, f 2,..., f n gewichtete Linearfunktion als Bewertungsfunktion Schachbücher für Anfänger geben geschätzte Materialwerte (Gewichte w i ) für jede Figur an: Bauer = 1, Springer = Läufer = 3, Turm = 5, Dame = 9. Kapitel 3 Adversariale Suche p. 32
Bewertungsfunktionen nichtlineare Kombination Lineare Bewertungsfunktion ignoriert wichtige Informationen über Interaktion der Figuren, Kontext etc. Z.B. Läufer sind im Endspiel leistungsfähiger, weil sie viel Platz für ihr Manöver haben; ein Läuferpaar könnte mehr wert wein als das Doppelte eines einzelnen Läufers. nichtlineare Kombination der Funktionsmerkmale Kapitel 3 Adversariale Suche p. 33
Mehrspieler-Spiele Erweiterung von Minimax auf Mehrspieler-Spiele: Wir müssen den einzelnen Wert für jeden Knoten durch einen Vektor ersetzen. Für Endzustände zeigt dieser Vektor den Nutzen des Zustands aus der Perspektive der einzelnen Spieler an. Beispiel: Die ersten drei Schichten eines Spielbaums mit Spieler A/B/C. Jeder Knoten ist mit den Werten aus Perspektive der einzelnen Spieler beschriftet. Der beste Zug ist an der Wurzel markiert. Kapitel 3 Adversariale Suche p. 34
Mehrspieler-Spiele Freund oder Feind? Mehrspieler-Spiele werfen interessante konzeptionelle Fragen auf. Sie beinhalten z.b. häufig Zusammenschlüsse (Allianzen) unter den Spielern, egal ob formell oder informell. Allianzen werden im Laufe des Spiels geschlossen und aufgelöst. Kapitel 3 Adversariale Suche p. 35
Spiele mit Zufallskomponenten Beispiel: Backgammon. In der gezeigten Position hat Weiß 6-5 gewürfelt und kann unter vier erlaubten Zügen wählen. chance nodes Possible moves (5-10,5-11), (5-11,19-24), (5-10,10-16), (5-11,11-16) [1,1], [6,6] chance 1/36, all other chance 1/18 Can not calculate definite minimax value, only expected value Kapitel 3 Adversariale Suche p. 36
Spiele mit Zufallskomponenten An Zufallsknoten können wir keine definitiven Minmax-Werte bestimmen. Stattdessen können wir nur den erwarteten Wert über alle möglichen Würfelzahlen berechnen. Kapitel 3 Adversariale Suche p. 37
Spiele mit Zufallskomponenten An Zufallsknoten können wir keine definitiven Minmax-Werte bestimmen. Stattdessen können wir nur den erwarteten Wert über alle möglichen Würfelzahlen berechnen. Beispiel: Left, A1 wins; right A2 wins. Outcome of evaluation function may change when values are scaled differently. Kapitel 3 Adversariale Suche p. 38
Final remarks Deterministic games in practice: Checkers: Chinook (http://webdocs.cs.ualberta.ca/~chinook/) ended 40-year-reign of human world champion and won as the first program the World Championship in 1994 (based on a precomputed endgame database defining perfect play for all positions involving 8 or fewer pieces on the board, a total of 444 billion positions). This feat is recognized by the Guinness Book of World Records. Chess: Deep Blue defeated human world champion Garry Kasparov in a six-game match in 1997. Deep Blue searches 200 million positions per second and uses very sophisticated evaluation. Othello: human champions refuse to compete against computers, who are too good. Go: human champions refuse to compete against computers, who are too bad. In go, b > 300, so most programs use pattern knowledge bases to suggest plausible moves. Kapitel 3 Adversariale Suche p. 39
Final remarks Der spektakulärste Erfolg ist wohl der Sieg von Deep Blue über Schachweltmeister Garry Kasparov in einem Schaukampf über sechs Partien in 1997. Kasparov schrieb: Entscheidend in dem Kampf war Spiel 2, das eine Kerbe in meinem Gedächtnis hinterlassen hat... Wir haben etwas gesehen, das unsere wildesten Erwartungen weit übertraf, wie gut ein Computer langfristige Konsequenzen seiner Positionsentscheidungen vorhersehen kann. Die Maschine weigerte sich, an eine Position zu ziehen, die einen Kurzzeitvorteil erbringt und zeigte ein sehr menschliches Gespür für Gefahr. Kapitel 3 Adversariale Suche p. 40
Final remarks Games are fun to work on They illustrate several important points about AI Perfection is unattainable approximation Good idea to think about what to think about Uncertainty constrains the assignment of values to states Games are to AI as grand prix racing is to automobile design Aktuelle Spielprogramme sind unerhört schnelle und unglaublich gut ausgerüstete Maschinen, die sehr komplexe Techniken enthalten, aber sie sind nicht besonders nützlich für die Praxis. Einige Forscher denken, Spiele seien irrelevant für den Mainstream der KI, aber mit Sicherheit werden sie weiterhin für Aufsehen sorgen und ständige Neuerungen hervorrufen, die später auch von der ausgedehnteren Community übernommen werden. Kapitel 3 Adversariale Suche p. 41