Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V.

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V."—  Präsentation transkript:

1 Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V

2 KI SuchenLernen/Schließen (un-)informiert lokal adversialÜberwacht Unüberwacht Logik Mit Unsicherheit Computer Vision Robotik Wahrscheinlichkeiten Ethik und Risiken Anwendungen

3 Suche nach einer „intelligenten“ Lösung

4 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)

5 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

6 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,

7 Zweipersonenspiele 2-player zero-sum discrete finite deterministic games of perfect information? Not finite Multiplayer One player Stochastic Hidden Information Andrew W. Moore,

8 Zweipersonenspiele Ausgangssituation – Zustände (je nach Spiel) – Nachfolgerfunktion (gemäß Spielregeln) – Startzustand (gemäß Spielregeln) – Zielzustände (gemäß Spielregeln) – Bewertung der Zustände, Nutzenfunktion

9 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!

10 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.

11 Suche nach einer „intelligenten“ Lösung Beispiel NIM Was tun?

12 MINIMAX

13

14 Ablauf am Beispiel (tic-tac-toe) Wohin kann A Stein platzieren? Wohin kann B dann Stein platzieren? Welches Suchverfahren liegt zugrunde? Wohin kann A dann Stein platzieren? Welche Konsequenzen hinsichtlich Laufzeit und Platzbedarf? Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. © Pearson Education, 2003

15 MINIMAX Beispiel Suchbaum der Höhe

16 MINIMAX Beispiel Suchbaum der Höhe 2

17 MINIMAX Beispiel II-NIM – Variation: wer zuletzt zieht hat verloren Andrew W. Moore, Symmetrische Zustände für Spielverlauf irrelevant

18 MINIMAX Beispiel II-NIM – Variation: wer zuletzt zieht hat verloren Andrew W. Moore, Zustände Startzustand Nachfolger- funktion Zielzustände Nutzenfunktion

19 II-Nim Game Tree (ii ii) A (i ii) B (- ii) B (i i) A (- ii) A (- i) A (- -) A +1 (- i) B (- -) B -1(- i) B (- -) B -1 (- -) A +1 Andrew W. Moore,

20 II-Nim Game Tree (ii ii) A (i ii) B (- ii) B (i i) A (- ii) A (- i) A (- -) A +1 (- i) B +1(- -) B -1(- i) B (- -) B -1 (- -) A +1 Andrew W. Moore,

21 II-Nim Game Tree (ii ii) A (i ii) B (- ii) B (i i) A (- ii) A (- i) A (- -) A +1 (- i) B +1(- -) B -1(- i) B +1(- -) B -1 (- -) A +1 Andrew W. Moore,

22 II-Nim Game Tree (ii ii) A (i ii) B (- ii) B (i i) A +1(- ii) A +1(- i) A -1 (- -) A +1 (- i) B +1(- -) B -1(- i) B +1(- -) B -1 (- -) A +1 Andrew W. Moore,

23 II-Nim Game Tree (ii ii) A (i ii) B -1(- ii) B -1 (i i) A +1(- ii) A +1(- i) A -1 (- -) A +1 (- i) B +1(- -) B -1(- i) B +1(- -) B -1 (- -) A +1 Andrew W. Moore,

24 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 (- -) A +1 (- i) B +1(- -) B -1(- i) B +1(- -) B -1 (- -) A +1 Egal... Andrew W. Moore,

25 MINIMAX Erweiterung auf mehrere Spieler – Jeder maximiert seinen Nutzen max

26 MINIMAX

27 Zusammenfassung – Algorithmus: f max (Zustand Z): falls Z = Endzustand, gib Nutzen(Z) zurück sonst gib das Maximum über alle f min der Nachfolger von Zustand Z zurück f min (Zustand Z): falls Z = Endzustand, gib Nutzen(Z) zurück sonst gib das Minimum über alle f max der Nachfolger von Zustand Z zurück Minimax(Startzustand S) gib eine Aktion zurück, so dass der Nutzen des damit verbundenen Nachfolgezustandes = f max (S)

28 MINIMAX Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. © Pearson Education, 2003

29 MINIMAX Eigenschaften – Vollständigkeit: ja, für endlichen Suchbaum – Optimalität: Ja, gegen optimalen Gegner – Zeitkomplexität: O(b m ) 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: (> ) Knoten

30 Alpha-Beta-Pruning Suchraum sehr, sehr, sehr groß …

31 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

32 Alpha-Beta-Pruning Beispiel Suchbaum der Höhe 2 3 min(2,…) 3 > 2 ≥ …

33 Alpha-Beta-Pruning Beispiel (Spielbaum der Höhe 2)

34 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  )

35 Alpha-Beta-Pruning Algorithmus: – f max (Zustand Z, ,  ): falls Z = Endzustand, gib Nutzen(Z) zurück sonst bestimme sukzessive Das Maximum über alle f min der Nachfolger von Zustand Z Falls ein f min >=  (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!

36 Alpha-Beta-Pruning Algorithmus: – f min (Zustand Z, ,  ): falls Z = Endzustand, gib Nutzen(Z) zurück sonst bestimme sukzessive Das Minimum über alle f max der Nachfolger von Zustand Z Falls ein f max <=  (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!

37 Alpha-Beta-Pruning Algorithmus – Alpha-beta-search(Startzustand S) gibt eine Aktion zurück, so dass der Nutzen des Nachfolgezustandes = f max (S, - , +  )

38 Alpha-Beta-Pruning Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. © Pearson Education, 2003

39 Alpha-Beta-Pruning Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. © Pearson Education, 2003

40 Alpha-Beta-Pruning Beispiel [-  min{+  [-  min{  [-  min{  3 [  min{+  [  min{  [  min{  [  min{+  [  min{14  [  min{  [max{-  +  [max{  + 

41 Alpha-Beta-Pruning Beispiel

42 Alpha-Beta-Pruning Beispiel

43 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?

44 Alpha-Beta-Pruning Beispiel Schachstellung, konstante Suchtiefe von vier Halbzügen (jeder Spieler zieht zweimal) AlgorithmusBewertungenCutoffs Anteil der Cutoffs Rechenzeit in Sekunden Minimax ,00 %134,87 s AlphaBeta ,50 %9,88 s AlphaBeta + Zugsortierung ,28 %0,99 s

45 Dynamische Programmierung Suchraum sehr, sehr groß …

46 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

47 Dynamische Programmierung Beispiel (Textabgleich, siehe Luger) – String 1:BAADDCABDDA – String 2:BBADCBA – Kosten 0Buchstaben gleich, Position gleich 1Position um 1 verschoben 2Buchstaben ungleich und verschoben

48 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)

49 Dynamische Programmierung Beispiel (Textabgleich, siehe Luger) Luger: Artificial Intelligence, 6th edition. © Pearson Education Limited, 2009 ? ?1?2?3 ?1 ?2 ?2?3 ?1?2

50 Dynamische Programmierung Beispiel (Textabgleich, siehe Luger) Luger: Artificial Intelligence, 6th edition. © Pearson Education Limited, 2009 Was nun? Eine optimale Lösung läßt sich ausgehend vom Zielzustand finden. Wie?

51 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 …)

52 Dynamische Programmierung Beispiel (Textabgleich, siehe Luger) – String 1:BAADDCABDDA – String 2:BBADCBA

53 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,

54 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,

55 Suche mit Bewertungsfunktionen Suchraum sehr groß …

56 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...

57 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“

58 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

59 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

60 Suche mit Bewertungsfunktionen Bewertungsfunktionen – Beispiel (Schach): Andere „features“ (Stellung, etc.) in „Bauernwerten“ ausgedrücken und in Zielfunktion zusammengefassen: EVAL(s) = w 1 f 1 (s) + w 2 f 2 (s) + … + w n f n (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

61 Suche mit Bewertungsfunktionen

62 Probleme (Beispiel Schach, siehe AIMA) Dame sicher, echter Vorteil für Schwarz. Weiß kann Dame schlagen, Bewertung? + 9 = 12

63 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

64 Probleme (Beispiel Schach, siehe AIMA) Suche mit Bewertungsfunktionen Schwarz am Zug, was sind die nächsten Züge?

65 Probleme (Beispiel Schach, siehe AIMA) Suche mit Bewertungsfunktionen

66 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)

67 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

68 EXPECTIMINIMAX Beispiel Backgammon (siehe AIMA)

69 EXPECTIMINIMAX Beispiel Backgammon (siehe AIMA)

70 EXPECTIMINIMAX Die EXPECTIMINIMAX-Funktion – Definition (Nf = Nachfolger; n,s sind Zustände) NUTZEN(n)falls n Endzustand Max s  Nf(n) EXPECTIMINIMAX(s)falls Spieler A am Zug Min s  Nf(n) EXPECTIMINIMAX(s)falls Spieler B am Zug  s  Nf(n) P(s)*EXPECTIMINIMAX(s)falls n Zufallsknoten – Laufzeit: O(b m n m ) wobei b = branching factor n = Anzahl möglicher Ergebnisse des Zufallsereignisses

71 Achtung: Nutzenfunktion „richtig“ wählen! Gleiche Reihenfolge in der Bewertung Unterschiedliche Gewichtung / Nutzen EXPECTIMINIMAX

72 Anmerkungen – Standard Alpha-Beta-Pruning ist nicht sinnvoll – Erweiterung: Wertebereich berücksichtigen und Grenze für den Mittelwert für die Bewertung verwenden

73 Deterministic games in practice Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in 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 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.


Herunterladen ppt "Institut für Robotik und Kognitive Systeme | Dr. Floris Ernst ADVERSIALE SUCHE Kapitel V."

Ähnliche Präsentationen


Google-Anzeigen