![Page 1: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/1.jpg)
Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst
ADVERSIALE SUCHEKapitel V
![Page 2: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/2.jpg)
KI
Suchen Lernen/Schließen
(un-)informiert
lokal
adversial Überwacht
Unüberwacht
Logik
Mit Unsicherheit
Computer Vision
RobotikWahrscheinlichkeiten
Ethik und Risiken
Anwendungen
![Page 3: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/3.jpg)
Suche nach einer „intelligenten“ Lösung
![Page 4: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/4.jpg)
Suche nach einer „intelligenten“ Lösung
• Bisher– Unveränderlicher (statischer) Suchraum:
Nachfolgerzustände nur vom aktuellen Zustand / Knoten abhängig
• „Intelligenter“– Suche mit „Gegenspieler“, Suchende beeinflussen
den Suchraum:• Schnellster Weg von Lübeck nach Berlin von anderen
Autofahrern abhängig: Staugefahr!• Je nach Verkehrsaufkommen unterschiedliche Strecken
optimal (geringste Kosten = Fahrzeit)
![Page 5: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/5.jpg)
• Vorerst Beschränkung auf (besondere) Spiele – Endlich– Deterministisch– Zweipersonen(spiele)– Nullsummen(spiele)– Mit vollständiger Information
• “2-player zero-sum discrete finite determi-nistic games of perfect information”
Zweipersonenspiele
![Page 6: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/6.jpg)
Zweipersonenspiele
• 2-player zero-sum discrete finite deterministic games of perfect information– Two player: …– Zero-sum: in any outcome of any game, Player A’s
gains equal player B’s losses– Discrete: game states / decisions = discrete values– Finite: only a finite number of states / decisions– Deterministic: no chance (no die rolls)– Perfect information: Both players can see the
state, each decision made sequentially
Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 7: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/7.jpg)
Zweipersonenspiele
• 2-player zero-sum discrete finite deterministic games of perfect information?
Not finite
Multiplayer
One player
Stochastic
Hidden
Information
Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 8: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/8.jpg)
Zweipersonenspiele
• Ausgangssituation– Zustände (je nach Spiel)– Nachfolgerfunktion (gemäß Spielregeln)– Startzustand (gemäß Spielregeln)– Zielzustände (gemäß Spielregeln) – Bewertung der Zustände, Nutzenfunktion
![Page 9: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/9.jpg)
Zweipersonenspiele
• Ausgangssituation– Zweipersonenspiel: Spieler A, Spieler B– Nullsummenspiel: Nutzen(A) = -Nutzen(B)– Vollständige Information: alle möglichen Züge des
Gegners sind bekannt• Ziel
– jeder Spieler sucht nach einem Pfad im Suchbaum (Strategie)
– maximiere eigenen Nutzen – egal wie der andere Spieler agiert Wie? Unterstelle, Gegenspieler wählt
stets die beste Alternative!
![Page 10: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/10.jpg)
Suche nach einer „intelligenten“ Lösung
• Beispiel NIM
Spielregel: Beide Spieler nehmen abwechselnd ein,
zwei oder drei Streich-hölzer aus einer Reihe.
Ziel des Spiels: wer das letzte Streichholz nimmt, hat gewonnen.
![Page 11: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/11.jpg)
Suche nach einer „intelligenten“ Lösung
• Beispiel NIM
Was tun?
![Page 12: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/12.jpg)
MINIMAX
• Ablauf:– Sei Spieler zuerst am Zug, dann
• Sucht nach einem Zug, so dass maximal wird• Sucht anschliessend einem Zug, so dass maximal wird• Wegen minimiert • Wir betrachten nur noch den Nutzen von
![Page 13: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/13.jpg)
MINIMAX
• Ablauf:– Die -Funktion ist definiert als
• falls ein Endzustand
• falls Spieler am Zug
• falls Spieler am Zug
• ist Nachfolgerfunktion
![Page 14: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/14.jpg)
XXXX
XX
X
XX
X X
O
OOX O
OO O
O OO
X OX OX O XX X
XX
X XX O X X O X X O X
. . . . . . . . . . . .
. . .
. . .
. . .TERMINAL
XX-1 0 +1Nutzen
Spieler A (X)
Spieler B (O)
Spieler A (X)
Spieler B (O)
MINIMAX
• Ablauf am Beispiel (tic-tac-toe)
Wohin kann A Stein platzieren?
Wohin kann B dann Stein platzieren?
Welches Suchverfahrenliegt zugrunde?
Wohin kann A dann Stein platzieren?
Welche Konsequenzen hinsichtlich Laufzeit undPlatzbedarf?
Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. © Pearson Education, 2003
![Page 15: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/15.jpg)
MINIMAX
3
?
12 8 2 4 6 14 5 2
? ? ?
Nutzen(Endzustand)
Nutzen(Spieler B)
a1
Nutzen(Spieler A)
a2 a3
a1b1 a1b2 a1b3 a2b2 a2b3a2b1 a3b1 a3b2 a3b3
• Beispiel Suchbaum der Höhe 2
3 2 2
3
![Page 16: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/16.jpg)
MINIMAX
3
3
12 8 2 4 6 14 5 2
3 2 2
Nutzen(Endzustand)
Nutzen(Spieler B)
a1
Nutzen(Spieler A)
a2 a3
a1b1 a1b2 a1b3 a2b2 a2b3a2b1 a3b1 a3b2 a3b3
• Beispiel Suchbaum der Höhe 2
![Page 17: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/17.jpg)
MINIMAX
• Beispiel II-NIM– Variation: wer zuletzt zieht
hat verloren
Andrew W. Moore, http://www.autonlab.org/tutorials
Symmetrische Zustände für Spielverlauf irrelevant
![Page 18: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/18.jpg)
MINIMAX
• Beispiel II-NIM– Variation: wer zuletzt zieht
hat verloren
Andrew W. Moore, http://www.autonlab.org/tutorials
ZuständeStartzustand
Nachfolger-funktionZielzustände
Nutzenfunktion
![Page 19: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/19.jpg)
II-Nim Game Tree
(ii ii) A
(i ii) B (- ii) B
(i i) A (- ii) A (- i) A (- i) A (- -) A +1
(- i) B (- -) B -1 (- i) B (- -) B -1 (- -) B -1
(- -) A +1(- -) A +1Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 20: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/20.jpg)
II-Nim Game Tree
(ii ii) A
(i ii) B (- ii) B
(i i) A (- ii) A (- i) A (- i) A (- -) A +1
(- i) B +1 (- -) B -1 (- i) B (- -) B -1 (- -) B -1
(- -) A +1(- -) A +1Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 21: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/21.jpg)
II-Nim Game Tree
(ii ii) A
(i ii) B (- ii) B
(i i) A (- ii) A (- i) A (- i) A (- -) A +1
(- i) B +1 (- -) B -1 (- i) B +1 (- -) B -1 (- -) B -1
(- -) A +1(- -) A +1Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 22: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/22.jpg)
II-Nim Game Tree
(ii ii) A
(i ii) B (- ii) B
(i i) A +1(- ii) A +1 (- i) A -1 (- i) A -1 (- -) A +1
(- i) B +1 (- -) B -1 (- i) B +1 (- -) B -1 (- -) B -1
(- -) A +1(- -) A +1Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 23: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/23.jpg)
II-Nim Game Tree
(ii ii) A
(i ii) B -1 (- ii) B -1
(i i) A +1(- ii) A +1 (- i) A -1 (- i) A -1 (- -) A +1
(- i) B +1 (- -) B -1 (- i) B +1 (- -) B -1 (- -) B -1
(- -) A +1(- -) A +1Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 24: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/24.jpg)
Was tun?
II-Nim Game Tree
(ii ii) A -1
(i ii) B -1 (- ii) B -1
(i i) A +1(- ii) A +1 (- i) A -1 (- i) A -1 (- -) A +1
(- i) B +1 (- -) B -1 (- i) B +1 (- -) B -1 (- -) B -1
(- -) A +1(- -) A +1
Egal ...
Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 25: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/25.jpg)
MINIMAX
• Erweiterung auf mehrere Spieler – Jeder maximiert seinen Nutzen
max
max
max
![Page 26: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/26.jpg)
MINIMAX
• Zusammenfassung– Führt Tiefensuche durch den gesamten
Zustandsraum durch– Ist in der einfachsten Form auf Zweipersonen-
spiele anwendbar, kann aber auf -Personenspiele erweitert werden (jeder Spieler maximiert dann seinen Teil der Nutzenfunktion)
![Page 27: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/27.jpg)
MINIMAX
• Zusammenfassung– Algorithmus:
• fmax(Zustand Z):falls Z = Endzustand, gib Nutzen(Z) zurücksonst gib das Maximum über alle fmin der Nachfolger von Zustand Z zurück
• fmin(Zustand Z):falls Z = Endzustand, gib Nutzen(Z) zurücksonst gib das Minimum über alle fmax der Nachfolger von Zustand Z zurück
• Minimax(Startzustand S)gib eine Aktion zurück, so dass der Nutzen des damit verbundenen Nachfolgezustandes = fmax(S)
![Page 28: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/28.jpg)
MINIMAX
Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. © Pearson Education, 2003
![Page 29: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/29.jpg)
MINIMAX
• Eigenschaften– Vollständigkeit:
• ja, für endlichen Suchbaum– Optimalität:
• Ja, gegen optimalen Gegner– Zeitkomplexität: O(bm)
• Alle Knoten bewerten ...– Raumkomplexität: O(bm)
• Tiefensuche
Oft sehr groß, z.B. Schach mit 35 be-trachteten Möglich-keiten je Zug und 100 Halbzügen: 35100 (> 10154) Knoten
![Page 30: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/30.jpg)
Alpha-Beta-Pruning
Suchraum sehr, sehr, sehr groß …
![Page 31: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/31.jpg)
Alpha-Beta-Pruning
• Spiel gegen „optimalen Gegner“– Je nach Spieler wird immer Minimum / Maximum
der Optionen gewählt• Idee:
– Werte geben obere (Minimum) bzw. untere (Maximum) Schranke für den Nutzen an
– Vergleich mit den Schranken– Größere (Minimum) / kleinere (Maximum)
Unterbäume werden „abgeschnitten“– Branch-and-bound
![Page 32: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/32.jpg)
Alpha-Beta-Pruning
3
?
12 8 2 4 6 14 5 2
? ? ?
Nutzen(Endzustand)
Nutzen(Spieler B)
a1
Nutzen(Spieler A)
a2 a3
a1b1 a1b2 a1b3 a2b2 a2b3a2b1 a3b1 a3b2 a3b3
• Beispiel Suchbaum der Höhe 2
3
min(2,…)3 > 2 ≥ …
![Page 33: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/33.jpg)
Alpha-Beta-Pruning
3
3=max(3,?<=2,2)
12 8 2 4 6 14 5 2
3=min(3,12,8) 2>=min(2,?,?) 2=min(14,5,2)
Nutzen(Endzustand)
Nutzen(Spieler B)
a1
Nutzen(Spieler A)
a2 a3
a1b1 a1b2 a1b3 a2b2 a2b3a2b1 a3b1 a3b2 a3b3
• Beispiel (Spielbaum der Höhe 2)
![Page 34: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/34.jpg)
Alpha-Beta-Pruning
• Algorithmus nutzt zwei Parameter– = den besten (maximalen) Wert für einen Zug
von Spieler A– = den besten (minimalen) Wert für einen Zug
von Spieler B• und werden ständig aktualisiert• Wenn ≥ gibt es einen anderen Pfad für
Spieler A, der genauso gut oder besser ist!(B wählt Pfad zu , A wählt Pfad zu )
![Page 35: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/35.jpg)
Alpha-Beta-Pruning
• Algorithmus:– fmax(Zustand Z, , ):
falls Z = Endzustand, gib Nutzen(Z) zurücksonst bestimme sukzessive
• Das Maximum über alle fmin der Nachfolger von Zustand Z
• Falls ein fmin >= (d.h. der Wert des aktuellen Knoten ist größer als der kleinste in das Minimum einfließende Wert eines Knotens), gib den aktuellen Wert des Maximums zurück (RETURN)
• aktualisiere
Nach jedem Knoten testen!
![Page 36: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/36.jpg)
Alpha-Beta-Pruning
• Algorithmus:– fmin(Zustand Z, , ):
falls Z = Endzustand, gib Nutzen(Z) zurücksonst bestimme sukzessive
• Das Minimum über alle fmax der Nachfolger von Zustand Z
• Falls ein fmax <= (d.h. der Wert des aktuellen Knoten ist kleiner als der größte in das Maximum einfließende Wert eines Knotens), gib den aktuellen Wert des Minimums zurück (RETURN)
• aktualisiere
Nach jedem Knoten testen!
![Page 37: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/37.jpg)
Alpha-Beta-Pruning
• Algorithmus – Alpha-beta-search(Startzustand S)
gibt eine Aktion zurück, so dass der Nutzen des Nachfolgezustandes = fmax(S, -, +)
![Page 38: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/38.jpg)
Alpha-Beta-Pruning
Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. © Pearson Education, 2003
![Page 39: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/39.jpg)
Alpha-Beta-Pruning
Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. © Pearson Education, 2003
![Page 40: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/40.jpg)
Alpha-Beta-Pruning
3 12 8 2 4 6 14 5 2Nutzen(Endzustand)
Nutzen(Spieler B)
Nutzen(Spieler A)
• Beispiel
[- , min{+, 3}]
[- , min{3, 12}]
[- , min{3, 8}]
3[3, min{+, 2}]
[3, min{2, 4}]
[3, min{2, 6}]
[3, min{+, 14}]
[3, min{14, 5}]
[3, min{5, 2}]
[max{- , 3}, +]
[max{3, 2}, +]
[max{3, 2}, +]
min-Knoten:
Andere Implementierung: erst , dann Bedingung verletzt
![Page 41: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/41.jpg)
Alpha-Beta-Pruning
3
max( 3, =max(-,3),2, =max(3,2),2 =max(3,2), )
12 8 2 4 6 14 5 2
min( 3, =min(+,3),12, =min(3,12),8, =min(3,8) )
min( 2, 2<==3 ... EXIT min( 14, =min(+,14),5, =min(14,5),2, 2<==3 … EXIT
Nutzen(Endzustand)
Nutzen(Spieler B)
a1
Nutzen(Spieler A)
a2 a3
a1b1 a1b2 a1b3 a2b2 a2b3a2b1 a3b1 a3b2 a3b3
• Beispiel
![Page 42: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/42.jpg)
Alpha-Beta-Pruning
• Zusammenfassung:– Alpha-Beta-Pruning kann Anzahl der betrachteten
Knoten erheblich reduzieren– Reihenfolge der Nachfolgerknoten hat Einfluss auf
Laufzeit – Nachfolgerknoten so sortieren, dass die beste Knoten zuerst untersucht (Heuristik)
– Kann durch Speichern bereits betrachteter Zustände (z.B. in einer ‚hash-table‘) verbessert werden (wie GRAPH-SEARCH)
– Datenstruktur bei Spielen auch als‚transposition table‘ bezeichnet
Läßt sich diese Idee ausbauen?
![Page 43: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/43.jpg)
Alpha-Beta-Pruning
http://de.wikipedia.org/wiki/Alpha-Beta-Suche
BeispielSchachstellung, konstante Suchtiefe von vier Halbzügen (jeder Spieler zieht zweimal)
Algorithmus Bewertungen Cutoffs Anteil der Cutoffs
Rechenzeit in Sekunden
Minimax 28.018.531 0 0,00 % 134,87 sAlphaBeta 2.005.246 136.478 91,50 % 9,88 sAlphaBeta + Zugsortierung 128.307 27.025 99,28 % 0,99 s
![Page 44: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/44.jpg)
Dynamische Programmierung
Suchraum sehr, sehr groß …
![Page 45: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/45.jpg)
Dynamische Programmierung
• Idee: – Für viele Probleme gilt: „optimale Lösungen
enthalten optimale Teillösungen“ (Richard Bellman)
– Bei Spielen• Verschiedene Zugfolgen führen zur gleichen
Spielsituation• Wenn Ergebnis für Spielsituation bekannt („optimal
gelöst“) und gespeichert ist, kann das bekannte Ergebnis verwendet werden ohne erneut zu suchen
![Page 46: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/46.jpg)
Dynamische Programmierung
• Beispiel (Textabgleich, siehe Luger)– String 1: BAADDCABDDA– String 2: BBADCBA– Kosten
• 0 Buchstaben gleich, Position gleich• 1 Position um 1 verschoben• 2 Buchstaben ungleich und verschoben
![Page 47: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/47.jpg)
Dynamische Programmierung
• Beispiel (Textabgleich, siehe Luger)
Luger: Artificial Intelligence, 6th edition. © Pearson Education Limited, 2009
Kosten in (x,y) setzen sich aus den Kosten zu einem “Vor-gängerzustand” und den Kosten in (x,y) zusammen
Kosten in (6,3) =a = Kosten in (6,2)+1 (wg. 1xSchieben)
b = Kosten in (5,3)+1 (wg. 1xSchieben)
c = Kosten in (5,2) + “Einzelkosten” in (6,3)beide geschoben, gleich := 0; ungleich := 2
min(a, b, c)
![Page 48: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/48.jpg)
Dynamische Programmierung
• Beispiel (Textabgleich, siehe Luger)
Luger: Artificial Intelligence, 6th edition. © Pearson Education Limited, 2009
?
?1 ?2 ?3?1?2
?2 ?3?1 ?2
![Page 49: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/49.jpg)
Dynamische Programmierung
• Beispiel (Textabgleich, siehe Luger)
Luger: Artificial Intelligence, 6th edition. © Pearson Education Limited, 2009
Was nun? Eine optimale Lösung läßt sich ausgehendvom Zielzustand finden. Wie?
![Page 50: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/50.jpg)
Dynamische Programmierung
• Beispiel (Textabgleich, siehe Luger)
Luger: Artificial Intelligence, 6th edition. © Pearson Education Limited, 2009
Wähle jeweils die Vorgänger mit minimalen Kosten!(optimale Lösung = optimale Teillösungen …)
![Page 51: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/51.jpg)
Dynamische Programmierung
• Beispiel (Textabgleich, siehe Luger)– String 1: BAADDCABDDA– String 2: BBA DC B A
![Page 52: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/52.jpg)
DP for Chess Endgames
Suppose one has only, say, 4 pieces in total left on the board. With enough compute power you can compute, for all such positions, whether the position is a win for Black, White, or a draw.
Assume N such positions.1. With each state, associate an integer. A state code, so there’s a 1-1
mapping between board positions and integers from 0…N-1.2. Make a big array (2 bits per array entry) of size N. Each element in the
array may have one of three values: • ?: We don’t know who wins from this state• W: We know white’s won from here• B: We know black’s won from here
Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 53: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/53.jpg)
DP for Chess Endgames
3. Mark all terminal states with their values (W or B)4. Look through all states that remain marked with ?.
For states in which W is about to move:• If all successor states are marked B, mark the current state as B.• If any successor state is marked W, mark the current state as W.• Else leave current state unchanged.
For states in which B is about to move:• If all successor states are marked W, mark the current state as W.• If any successor state is marked B, mark the current state as B.• Else leave current state unchanged
5. Goto 4, but stop when one whole iteration of 4 produces no changes.6. Any state remaining at “?” is a state from which no-one can force a win.
Andrew W. Moore, http://www.autonlab.org/tutorials
![Page 54: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/54.jpg)
Suche mit Bewertungsfunktionen
Suchraum sehr groß …
![Page 55: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/55.jpg)
Suche mit Bewertungsfunktionen
• Beobachtung– Ähnlich wie bei uninformierter Suche werden auch
bei Alpha-Beta-Pruning und bei Minimax Pfade bis zu Endknoten verfolgt
– „Dynamische Programmierung“ kann die Suche verkürzen, wird aber schnell aufwendig
– Kann in Analogie zu Heuristiken kann auch bei Spielen eine „Bewertungsfunktion“ zur Nutzen-abschätzung der Züge herangezogen werden?
– Ja ...
![Page 56: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/56.jpg)
Suche mit Bewertungsfunktionen
• Anforderungen an Bewertungsfunktionen– Die Endknoten werden in der gleichen Weise
sortiert wie von der „echten“ Nutzenfunktion– Die Berechnung der Bewertungsfunktion kann
effizient erfolgen– Für alle Knoten die keine Endknoten sind, sollte
die Bewertungsfunktion „stark mit den Gewinnchancen korrelieren“
![Page 57: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/57.jpg)
Suche mit Bewertungsfunktionen
• Bewertungsfunktionen – können z.B. „features“ (Merkmale) des aktuellen
Zustands berechnen• Bsp. (Schach): Anzahl der Bauern, Besitz der Dame …
– Zustände anhand der „features“ kategorisieren– Je Kategorie / Äquivalenzklasse von Zuständen
über viele Spiele die Wahrscheinlichkeit für Spiel-ausgang berechnen, (z.B.) jeweils für
• Gewinn• Verlust• Unentschieden
![Page 58: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/58.jpg)
Suche mit Bewertungsfunktionen
• Bewertungsfunktionen – Alternativ jedem „feature“ Gewicht zugeordnen– Wert der gewichteten linearen Funktion als
Bewertung des Zustandes interpretieren– Beispiel (Schach):
• Bauer = 1• Springer, Läufer = 3• Turm = 5• Dame = 9
![Page 59: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/59.jpg)
Suche mit Bewertungsfunktionen
• Bewertungsfunktionen – Beispiel (Schach):
• Andere „features“ (Stellung, etc.) in „Bauernwerten“ ausgedrücken und in Zielfunktion zusammengefassen:EVAL(s) = w1f1(s) + w2f2(s) + … + wnfn(s)EVAL(s) = 1*Bauern(s) + 3*Springer(s) + … + 9*Dame(s)
– Woher kommen die Gewichte?• Aus Erfahrung (humane Intelligenz)• Durch maschinelles Lernen (später mehr ...)
– Nichtlineare und sich im Zeitverlauf ändernde Funktionen können sinnvoll sein
![Page 60: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/60.jpg)
Suche mit Bewertungsfunktionen
• Pruning (Beschneiden) des Suchbaums– Normaler Ablauf der Alpha-Beta Suche bis zur
Tiefenschranke – Für Zustände in Tiefe wird statt des durch Suche
ermittelten Nutzens nun der Wert der Bewertungsfunktion verwendet
![Page 61: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/61.jpg)
Suche mit Bewertungsfunktionen
• Probleme (Beispiel Schach, siehe AIMA)
Dame sicher, echter Vorteilfür Schwarz.
Weiß kann Dame schlagen,Bewertung?
(a) (b) Weiß am ZugWeiß am Zug
EVAL(Weiß) = 3EVAL(Schwarz) = 3 +3 +1 + 1 = 8
EVAL(Weiß) = 3EVAL(Schwarz) = 3 +3 +1 + 1 = 8
(a) (b) Weiß am ZugWeiß am Zug
EVAL(Weiß) = 3EVAL(Schwarz) = 3 +3 +1 + 1 = 8
EVAL(Weiß) = 3EVAL(Schwarz) = 3 +3 +1 + 1 = 8
+ 9 = 12
![Page 62: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/62.jpg)
Suche mit Bewertungsfunktionen
• Pruning (Beschneiden) des Suchbaums– Feste Tiefenbeschränkung kann zu fehlerhafter
Bewertung führen– Warum? – Bewertung kann sich schnell ändern– Verbesserung
• Möglichkeit schneller Änderungen berücksichtigen• Tiefenbeschränkung nur für „stabile Zustände“
(‚quiescent positions‘ ) verwenden (z.B. keine wertvollen Figuren im nächsten Zug gefährdet)
• Entsprechende Variante der heuristischen Alpha-Beta-Suche auch als ‚quiescence search‘ bezeichnet
![Page 63: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/63.jpg)
• Probleme (Beispiel Schach, siehe AIMA)
Suche mit Bewertungsfunktionen
Schwarz am Zug, was sind die nächsten Züge?
![Page 64: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/64.jpg)
• Probleme (Beispiel Schach, siehe AIMA)
Suche mit Bewertungsfunktionen
12 3
12
13
14
![Page 65: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/65.jpg)
Suche mit Bewertungsfunktionen
• Pruning (Beschneiden) des Suchbaums– Horizont-Effekt: unvermeidbare Ereignisse, die
über den aktuellen Betrachtungshorizont (Tiefen-beschränkung) hinaus vermieden werden können, werden als „vermeidbar“ betrachtet
– Im Beispiel wird Weiß mit Sicherheit eine Dame bekommen, aber die Tiefenschranke schneidet u.U. vorher den Suchbaum ab (auch für Weiß!)
– Ggf. den „besten Zug“ über Tiefenschranke hinaus betrachten (Tiefensuche mit bestem Zug)
![Page 66: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/66.jpg)
EXPECTIMINIMAX
• Viele Spiele haben zufällige Komponente– Das Auftreten verschiedener Spielzüge ist nicht
deterministisch sondern unterliegt einer Wahrscheinlichkeitsverteilung
– Die in den Knoten berechneten Werte stellen keine „sichere Bewertung“, sondern einen Erwartungswert dar
– Im Suchbaum wird dies durch „Zufallsknoten“ dargestellt
![Page 67: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/67.jpg)
EXPECTIMINIMAX
1 2 3 4 5 6 7 8 9 10 11 12
24 23 22 21 20 19 18 17 16 15 14 13
0
25
• Beispiel Backgammon (siehe AIMA)
![Page 68: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/68.jpg)
EXPECTIMINIMAX
CHANCE
MIN
MAX
CHANCE
MAX
. . .
. . .
B
2 1 -1 1-1
. . .1,11/36
1,21/18
TERMINAL
1,21/18
......
.........
......
1,11/36
...
...... ......
...C
. . .
1/186,5 6,6
1/36
1/186,5 6,6
1/36
• Beispiel Backgammon (siehe AIMA)
![Page 69: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/69.jpg)
EXPECTIMINIMAX
• Die EXPECTIMINIMAX-Funktion– Definition (Nf = Nachfolger; n,s sind Zustände)
• NUTZEN(n) falls n Endzustand
• MaxsNf(n) EXPECTIMINIMAX(s) falls Spieler A am Zug
• MinsNf(n) EXPECTIMINIMAX(s) falls Spieler B am Zug
• sNf(n) P(s)*EXPECTIMINIMAX(s) falls n Zufallsknoten
– Laufzeit: O(bmnm) wobei • b = branching factor• n = Anzahl möglicher Ergebnisse des Zufallsereignisses
![Page 70: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/70.jpg)
• Achtung: Nutzenfunktion „richtig“ wählen!
• Gleiche Reihenfolge in der Bewertung• Unterschiedliche Gewichtung / Nutzen
EXPECTIMINIMAX
CHANCE
MIN
MAX
2 2 3 3 1 1 4 4
2 3 1 4
.9 .1 .9 .1
2.1 1.3
20 20 30 30 1 1 400 400
20 30 1 400
.9 .1 .9 .1
21 40.9
A 1 A 2 A 1 A 2
![Page 71: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/71.jpg)
EXPECTIMINIMAX
• Anmerkungen– Standard Alpha-Beta-Pruning ist nicht sinnvoll– Erweiterung: Wertebereich berücksichtigen und
Grenze für den Mittelwert für die Bewertung verwenden
![Page 72: Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V](https://reader036.vdocuments.pub/reader036/viewer/2022062411/570491c61a28ab14218db309/html5/thumbnails/72.jpg)
Deterministic games in practice• Checkers: Chinook ended 40-year-reign of human world
champion Marion Tinsley in 1994. Used a precomputed endgame database defining perfect play for all positions involving 8 or fewer pieces on the board, a total of 444 billion positions.
• Chess: Deep Blue defeated human world champion Garry Kasparov in a six-game match in 1997. Deep Blue searches 200 million positions per second, uses very sophisticated evaluation, and undisclosed methods for extending some lines of search up to 40 ply.
• 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.