Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Adversariale Suche Spielprogrammierung. Einleitung Spiel: Konkurrierende Multi-Agenten Umgebung Hier: Vollständige Information, d.h. Umgebung vollständig.

Ähnliche Präsentationen


Präsentation zum Thema: "Adversariale Suche Spielprogrammierung. Einleitung Spiel: Konkurrierende Multi-Agenten Umgebung Hier: Vollständige Information, d.h. Umgebung vollständig."—  Präsentation transkript:

1 Adversariale Suche Spielprogrammierung

2 Einleitung Spiel: Konkurrierende Multi-Agenten Umgebung Hier: Vollständige Information, d.h. Umgebung vollständig beobachtbar Adversariales Suchproblem Theoretisch jede mögliche Reaktion des Gegners berechenbar Offline-Problem! –Aber: Immenser Verzweigungsfaktor –Bsp. Schach: b = Halbzüge = Knoten Praktisch: Online-Problem, da Suchbaum zu groß, um alle gegnerischen Aktionen zu berücksichtigen. Weitere Erschwerung: Zeitlimit ! Spiele interessant, weil suboptimale Echtzeit- Entscheidungen nötig !

3 Historisches Babbage, 1846: Erste Überlegungen zu Dame oder Schach spielender Maschine. Entwurf eine Tic-Tac-Toe Maschine. Torres y Quevedo, 1890: Maschine für Endspiel König + Turm vs. König Zermelo, 1912: Minimax Von Neumann, Morgenstern, 1944: Beginn Spieltheorie Zuse 1945: Erster programmierbarer Computer Wiener 1948: Entwurf Schachprogramm Shannon 1950: Verbesserungen, z.B. Ruhesuche Turing 1951: Erstes Schachprogramm Samuel 1952: Dameprogramm lernt Bewertungsfunktion durch Spiel gegen sich selbst, Niveau menschlicher Spieler, 1kHz Prozessor! McCarthy 1956: Pruning 1970: Erste Computerschach-Meisterschaft 1997: Deep Blue besiegt Kasparov Letzten Samstag: Kramnik Remis gegen Deep Fritz Gestern: Kramnik verliert gegen Deep Fritz

4 Spieltypen Vollständig beobachtbar : –Deterministisch: Dame, Schach, Go, Reversi –Zufallskomponente: Backgammon, Monopoly Teilweise beobachtbar: –Deterministisch: Schiffe versenken, Tic Tac Toe blind –Zufallskomponente: Bridge, Poker, Skat Beachte: Abgrenzung teilweise beobachtbar / Zufall teils schwierig!

5 Problemspezifikation Hier: –Spiele mit zwei Spielern namens Max und Min –Max versucht hohe Bewertung zu erhalten, Min niedrige –Nullsummenspiel: Gewinn Spieler A = Verlust Spieler B Zustand: –Brettposition –Spieler, der den nächsten Zug macht Nachfolgerfunktion: Liste legaler Züge für jeden Zustand Endtest: Stellt fest ob Zustand Spielende ist Nutzenfunktion (Utility): Ordnet Endzuständen Wert zu –Schach, Dame, Tic-Tac-Toe: +1, 0, -1 (= Max hat gewonnen / unentschieden / verloren) –Backgammon: +192 … -192

6 Suchbaum Tic-Tac-Toe Ziel: 3 Steine in einer Reihe

7 Minimax-Algorithmus Optimal für deterministische Spiele Vollständige Suche Daher nur für überschaubare Suchbäume einsetzbar Idee: Berechne aus dem Nutzen (aus Sicht von Max) der Endknoten den Nutzen der anderen Knoten und wähle besten Knoten.

8 Minimax-Wert Jeder Knoten n stellt Zug von Min oder Max dar. Minimax-Wert(n) = –Nutzen(n) falls n Endknoten –Maximum des Nutzens der Nachfolger von n falls n Max-Knoten –Minimum des Nutzens der Nachfolger von n falls n Min-Knoten

9 Minimax-Algorithmus Idee: Max wählt Zug mit höchstem Minimax Wert = bestes erreichbares Ergebnis falls Min ebenfalls optimal spielt Bsp. Spiel mit 2 Zügen:

10 Minimax-Algorithmus

11 Eigenschaften von Minimax Vollständig? Ja (falls Baum endlich) Optimal? Ja (gegen optimalen Gegner) Zeitkomplexität? O(b m ) Speicherkomplexität? O(bm) (Tiefensuche) Für typische Schachspiele b 35, m 100 exakte Lösung unmöglich Wie kann Suchbaum verkleinert werden? Pruning = Abschneiden von Ästen, die keinen Erfolg versprechen (Buch: Kürzen)

12 α-β Pruning α ist Wert der besten Wahl die bislang entlang irgendeines Pfades für Max gefunden wurde. Wenn v < α, wird Max Pfad durch v vermeiden Zweig wird geprunt Entsprechende Definition für β für Min

13 α-β Pruning

14 Max wird mittleren Knoten nicht wählen, da bessere Alternative vorhanden!

15 α-β Pruning

16

17

18 Eigenschaften von α-β Pruning Pruning beeinflusst Ergebnis nicht Effektivität des Pruning wird durch Ordnen der Knoten verbessert Perfektes Sortieren i. allg. nicht möglich, sonst wäre Problem bereits gelöst! Mit perfekter Ordnung Zeitkomplexität = O(b d/2 ) statt O(b d/2 ) Verdoppelt Suchtiefe Pruning ist einfaches Beispiel für Metareasoning, in diesem Fall die Überlegung, welche Berechnungen überhaupt relevant sind

19 α-β Algorithmus

20

21 Minimax-Erweiterung auf mehrere Spieler n-dimensionaler Nutzen-Vektor an jedem Knoten für n Spieler Beachte: Auch Spiel mit 2 Spielern hat 2-komponentige Nutzenvektoren, nämlich (x,-x) (Nullsummenspiel!) Endzustand: Vektor enthält Nutzen für jeden Spieler. Nicht-Endzustand, wobei Spieler X am Zug: Nutzenvektor wird von dem Nachfolger übernommen, der den höchsten Wert für X hat.

22 Minimax-Erweiterung auf mehrere Spieler

23 Begrenzte Resourcen Bsp.: 100 sec stehen zur Verfügung, 10 4 Knoten/sec können untersucht werden 10 6 Knoten pro Zug b m = 10 6, b=35 m=4 4-Züge Vorausschau ist für Schach völlig unzureichend: –4 Züge Menschlicher Anfänger –8 Züge Typischer PC, menschlicher Meister –12 Züge Deep Blue, Kasparov

24 Begrenzte Resourcen Standard-Ansatz: Minimax beibehalten, aber nicht bis Ende suchen: Cutoff-Test –Ersetzt Terminal –Z.B. Tiefenlimit Bewertungsfunktion –Ersetzt Utility –Schätzt Nutzen der Position

25 Erinnerung Minimax

26 Bewertungsfunktionen Eval(s) : Schätzung des Nutzens der Position s Anforderungen an Eval: –Mindestens: Endzustände so ordnen wie wahre Nutzenfunktion –Besser: Möglichst gute Schätzung echten Nutzens (insb. Ordnung der Zustände wiedergeben) –Schnelle Berechenbarkeit Für Schach, typischerweise lineare gewichtete Summe von Merkmalen Eval(s) = w 1 f 1 (s) + w 2 f 2 (s) + … + w n f n (s) Merkmale: –Materialwert: 1 – Bauer, 3 – Läufer, 5 – Turm, 9 – Dame –Funktionsmerkmale: Bauernstruktur, Königssicherheit

27 Weitere Verbesserungen Nichtlineare Bewertungsfunktionen Bessere Abbruchtests (im Vgl. zu Tiefenlimit) Singuläre Erweiterung, Horizonteffekt Vorab-Pruning

28 Problem: Lineare Gewichtung u.U. unangemessen Bsp.: –Erfahrung: 1 Punkt Materialvorteil: Gute Gewinnchance 3 Punkte: Nahezu sicher –Gegenbeispiel s.u. Daher: Nichtlineare Bewertungsfunktionen erforderlich Nichtlineare Bewertungsfunktionen

29 Abbruchtest Bisher: Tiefenlimit Problem: Bsp. wie letzte Folie –Programm sucht bis (a), dann Tiefenlimit erreicht –D.h. Vorteil Schwarz errechnet –Weiß erlangt erheblichen Vorteil in (b) Daher: Test, ob Position ruhend (d.h. keine Möglichkeit zu drastischen Bewertungsänderungen)

30 Singuläre Erweiterung Weißer Bauer unmittelbar vor Damenzug Aber: Schach durch schwarzen Turm verschiebt dies über Horizont Singuläre Erweiterung erlaubt Züge über Tiefenlimit hinaus, falls ein Zug erheblich besser ist als andere Umgekehrt: Vorab-Pruning vermeidet Züge, die Bewertung nicht verändern (z.B. bei symmetrischen Situationen)

31 Probleme des Standardansatzes Standardansatz = Minimax + Bewertungsfkt. + Cut-Off weit verbreitet Aber: Beruht auf Annahme, dass Bewertungsfunktion korrekt Problem bei sehr ähnlichen Bewertungen, Bsp.: –Minimax geht rechts –Bei kleiner Ungenauigkeit der Schätzung ist links wahrscheinlich wesentlich besser! Verbesserung: Wahrscheinlichkeitsverteilungen möglicher Werte statt Wahrscheinkeiten

32 Deterministische Spielprogramme in der Praxis Dame: Chinook beendete 40-jährige Dominanz durch Weltmeister Marion Tinsley (1994). Verwendet vorab berechnete Datenbasis von Endspielen, die perfektes Spiel für alle Stellungen bis zu 8 Steinen enthält (insg. 444 Milliarden Stellungen). Schach: Deep Blue besiegte 1997 Weltmeister Garry Kasparov in 6- Spiele-Turnier. Deep Blue durchsucht 200 Millionen Stellungen pro Sekunde, verwendet ausgefeilte Evaluationsfunktionen und unveröffentlichte Methoden um einzelne Zweige bis zu 40 Halbzüge tief zu durchsuchen. Reversi: Menschliche Champions weigern sich gegen Computerprogramme anzutreten, die zu gut spielen. Go: Menschliche Champions weigern sich gegen Computerprogramme anzutreten, die zu schlecht spielen. Für Go ist b > 300, daher verwenden die meisten Programme Muster- Datenbasen.

33 Nicht-deterministische Spiele Nicht-Determinismus z.B. durch Würfeln, Kartenmischen Backgammon: Mischung aus Planbarkeit und Zufall

34 Baum für nicht-deterministische Spiele Erweiterung: Zufallsknoten Verzeigungen von Zufallsknoten: –Für jede Möglichkeit eine Verzweigung –Wahrscheinlichkeit für jede Möglichkeit berechnen Bsp. Backgammon: –2 Würfel, Reihenfolge unerheblich –21 Möglichkeiten –Wahrscheinlichkeiten: Je 1/36 bei gleicher Augenzahl Je 1/18 bei ungleicher Augenzahl

35 Expectiminimax Expectiminimax-Wert(n) = wobei P(s) Wahrscheinlichkeit für Möglichkeit s. D.h. Zufallsknoten erhält gewichtetes Mittel der Expectiminimax-Werte. Baum von Blättern bis Wurzel berechnen Dann wie bei Minimax vorgehen

36 Expectiminimax Komplexität: –Ohne Würfeln: O(b m ) –Mit n Wurfmöglichkeiten: O(b m n m ) Problem: Größe des Baums Lösung: Suche abbrechen, statt Nutzen der Endknoten Bewertungsfunktion verwenden Neues Problem: Skalierung der Bewertungsfunktion verändert Auswahl (s.u.) ! Lösung: Bewertungsfkt. muss positive, lineare Trafo des erwarteten Nutzens sein.

37 Kartenspiele Vermutung: –Ähnlich wie Würfelspiele –Zufälliges Verteilen der Karten entspricht Würfeln –Daher kann mit Wahrscheinlichkeits-gewichtetem Nutzen gerechnet werden Es zeigt sich: Vermutung ziemlich falsch

38 Straße A führt zu einem kleinen Haufen Gold Straße B führt zu einer Gabelung: Abgrund –Links: Abgrund –Rechts: Berg Juwelen Straße A führt zu einem kleinen Haufen Gold Straße B führt zu einer Gabelung: –Links: Berg Juwelen Abgrund –Rechts: Abgrund Straße A führt zu einem kleinen Haufen Gold Straße B führt zu einer Gabelung: –Richtige Vermutung: Berg Juwelen Abgrund –Falsche Vermutung: Abgrund Problem der Mittelung

39 Intuition, dass Wert einer Aktion der Mittelwert aller möglichen Zustände ist, ist falsch! Bei teilweiser Beobachtbarkeit hängt der Wert einer Aktion vom Informationsstand oder Glaubenszustand des Agenten ab. Daher: –Agent muss versuchen, Information zu erhalten –Signale (z.B. Verwirrung) an Partner geben –U.u. zufällig und damit unvorhersehbar handeln Kartenspiele

40 Zusammenfassung Spielprogrammierung weit entwickelt, insb. kommerziell Spiele illustrieren wichtige KI-Probleme, daher wichtige Benchmarks Insbesondere: Einbringen menschlichen Wissens in Suchprobleme Perfektion nicht realisierbar Zwang zum Improvisieren


Herunterladen ppt "Adversariale Suche Spielprogrammierung. Einleitung Spiel: Konkurrierende Multi-Agenten Umgebung Hier: Vollständige Information, d.h. Umgebung vollständig."

Ähnliche Präsentationen


Google-Anzeigen