1 / 40

Adversariale Suche

Adversariale Suche. Spielprogrammierung. 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!

doane
Download Presentation

Adversariale Suche

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 = 35 • 100 Halbzüge • 35100 = 10154 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(bm) • 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. α 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 α-β Pruning

  13. α-β Pruning

  14. α-β Pruning Max wird mittleren Knoten nicht wählen, da bessere Alternative vorhanden!

  15. α-β Pruning

  16. α-β Pruning

  17. α-β Pruning

  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(bd/2) statt O(bd/2) Verdoppelt Suchtiefe • Pruning ist einfaches Beispiel für Metareasoning, in diesem Fall die Überlegung, welche Berechnungen überhaupt relevant sind

  19. α-β Algorithmus

  20. α-β Algorithmus

  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, 104 Knoten/sec können untersucht werden106 Knoten pro Zug  bm = 106, 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) = w1 f1(s) + w2 f2(s) + … + wn fn(s) • Merkmale: • Materialwert: 1 – Bauer, 3 – Läufer, 5 – Turm, 9 – Dame • Funktionsmerkmale: „Bauernstruktur“, „Königssicherheit“

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

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

  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 + a-b + 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(bm) • Mit n Wurfmöglichkeiten: O(bm nm) • 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. Problem der Mittelung • Straße A führt zu einem kleinen Haufen Gold • Straße B führt zu einer Gabelung: • 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 • Rechts: Abgrund • Straße A führt zu einem kleinen Haufen Gold • Straße B führt zu einer Gabelung: • Richtige Vermutung: Berg Juwelen • Falsche Vermutung: Abgrund

  39. Kartenspiele • 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

  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

More Related