Spieltheorie: UCT
Stefan Edelkamp
Monte Carlo Simulation
Alternative zu Minimax-Algorithmen mit Alpha-Beta Pruning: zufällige Spielabläufe (Simulationen)
laufen und ermessen den Wert eines Spieles.
Erfolgreich in State-of-the Art Go eingesetzt wird (Gelly et al.; Coulom, 2006).
Empirische Studien: UCT, eine Weiterentwicklung der Monte-Carlo Simulation, verbessert diese signifikant.
Exploration vs.
Exploitation - Probieren oder Studieren?
Zwei Behandlungen
Unbekannte
Erfolgswahrscheinlichkeit
Ziel:
Beste Behandlung mit möglichst wenigen
Problemen
Neues Ausprobieren oder alte Erkenntnisse studieren?
Banditen Problem –
“Optimismus im Gesicht von Unsicherheit”
Lai and Robbins (1985)
Wert von zwei Optionen unabh. verteilt:
X11,X12,…,X1t,…
X21,X22,…,X2t,…
Prinzip:
Wert einer Option =
Maximal erwarteter Gewinn der mit den
Im Spiel
Was passiert, wenn Aktionen mit ähnlichen Wert
zusammengruppiert werden?
1 0
Go
Spielregeln
Go-Brett (Goban): 19 × 19
Schwarz fängt an
Steine bilden Ketten
Steine unbeweglich, Ketten werden entfernt wenn keine anliegenden
Kreuzungspunkte mehr frei sind
Bewertung: # belegter und umstellter Kreuzungspunkte
Computer Go
Beginn ca. in den 70ern
Klassische Methoden
Evaluationsfunktionen basierend auf Expertenwissen
Minimax Spielbaumsuche
Vergleich mit Schach
Schach: Deep Blue schlug Kasparov 1997
Go: Stärksten Programme ~ 10kyu in 2006
Schwierigkeiten
Hoher Verzweigungsgrad ~ 200, Schach ~ 40 (John Tromp and Gunnar Farnebäck, 2006) Anzahl legaler Positionen:
2.0 × 10^170 für 19 × 19, 1.0 × 10^38 für 9 × 9
Gute Evaluationsfunktionen schwer zu finden (Stern et al. 2004, Wu L. and P. Baldi 2006), da lokale und globale Informationen
einbezogen werden müssen
Monte-Carlo Go
Zufällige Belegung des Go-Brettes
Verstärken der Evaluationsfunktion im Suchbaum durch Bottom-Up
Evaluation über die Zeit
“k-arm-Banditen” Suche
(Spielautomaten, Verallgemeinerung
“Einarmiger Banditen”)
Monte-Carlo
Evaluationsfunktion
(B. Bruegmann, 1993)
Sei p die zu bewertende Position
Sei P ein (stochastischer) Spieler
Von p ausgehend, spielt P gegen
sich selbst, bis das Spiel zu Ende ist
Der endgültige Wert wird mit p gespeichert
…möglicherweise Wiederholung und Mittelung
Beispiel
Von Alpha-Beta zu UCT
Ziel:
Approximieru ng des
Minmax-
Wertes einer Position
Spiel als k-armiger Bandit
Jede Position ein Bandit
Jeder Zug ein Arm
Bester Zug: Maximierung der Belohnung
UCB (P. Auer et al. 2002)
Xi: empirisch ermittelte mittlere Belohnung für den i-ten Arm Ti: # Versuche auf Arm i
T := Summe der Ti
Iteriere die folgenden Schritte:
Falls ein Arm noch nicht gespielt wurde, spiele ihn
Ansonsten wähle den Arm der
Xi + Wurzel(2 log (T)/Ti) maximiert
Spiele mehr Spiele, die gut enden: Ein Knoten
Formel
UCBi = Wi/Ni + C Wurzel(log t/Ni)
Wi = # Gewinne auf Zug i
Ni = # Pfade für Zug i
C = Parameter für Spielfortschritt
t = # Pfade für alle Züge
Spiele mehr Spiele, die gut enden: Rekursiv
UCT Upper Confidence
based Tree search (L.Kocsis &
C.Szepesvari, 2006)
Beginne an der Wurzel
Wiederhole bis Spiel endet
Wähle Zug nach UCB Kriterium
Aktualisiere die Position (Zugausführung)
Bewerte das Spiel
Aktualisiere alle besuchten Knoten mit diesem Wert
Beobachtungen UCT
Anwenden von UCB für jede Position, die mehr als N mal besucht wurde:
Kein Min-Max-Backup: Backup von mittelerem Ergebnis
Beweisbare Konvergenz zum MinMax-Wert
UCT
Regel 1: Nutze einen Zähler und ein
Mittelwert an jedem Knoten
Rule 2: Betrachte jeden Knoten als
Banditenproblem
Beispiel (t=1)
0/0+1 0/0+1
0/0+1 0/0+1
1/1+1
1/1+1
Beispiel (t=2)
0/0+1
0/0 1/1+1.2
1/1 0/1
0/1+1
Beispiel (t=3)
0/1+1.5
0/1 1/1+1.0
1/1 2/2
2/2+1.0
Beispiel (t=4)
0/1+1.7
0/1 2/2+1.2
2/2 3/3
3/3+1.2
Speicherplatz-Effizienz (CrazyStone, R. Coulom 2006)
Spielbaum-Management:
Stoppe sobald UCT unbesuchte Position erreicht
Erweitere den Baum um diesen Knoten
Werte die Position aus
Beispiel
Beispiel
Vorteile zu Alpha/Beta
* Alpha-Beta nutzt keine zusätzliche
Beschneidung, da schlecht für ungenaue Bewertungen
* Mehr Flexibilität in der Suche: Verbindet Breitensuche mit Zugornungsheuristiken
und asymmetrisches Suchbaumwachstum
* Jederzeitiger Abbruch möglich
Erweiterungen
Von asymptotisch-guter zur effizienten Zugauswahl
Heuristiken für den Fall, dass # Versuche < # Züge
Arme nicht unabhängig …
“First Play Urgency”
Mit allen Armen zu starten, ist nicht optimal.
Sei c konstant und X’i so gewählt, dass X’i = Xi + Wurzel (2 log(T)/Ti), falls Ti > 0 X’i = c, falls Ti = 0
Wähle höchstes X’i
Empirisch c ~ 1 +50 ELO.
Arm-Abhängigkeiten
Ziel: Verbesserung der Performanz, falls T klein ist
Mittlere Resultate von Nachbarzügen, d.h.
addiere Term
1/|Ni| ΣjNi Xj
Nutze Resultate von Vorgängern: Setze
Ausblick
Parallelisierung von UCT: 12000 Knoten/s, 400000 Knoten/Zug)
Spiel auf 19 × 19 Go Brett
Beachte Abhängigkeiten der Arme untereinander
Bilde Mixtur von
Evaluationsfunktionen
Anwendungen
Andere Probleme: Hex, Clobber
Automatisches Schreiben von Strategie- Büchern (z.B. für
Schach?)
Allgemeine Handlungsplanung
Planung in MDPs: Segeln
Ziel: Suche optimale Aktion
http://www.sor.princeton.edu/~rvdb/sail/sail.html
Kontrollersynthese
Agent
at ct
st
Markov’sche
Entscheidungsprozesse
I
u1
u2
u3
a; c(a) = 2; p=1/10 a; c(a) = 2; p=9/10
b; c(b) = 4; p=1 c; c(c)=10; p=1
Gegeben: Endliches System
h=3
h=0
h=6
Probabilistisch + Nicht- Deterministisch
Ziel: Optimale h-Zuweisung für jeden Zustand
h=1
Aktion a: 2 + 1/10 x 3 + 9/10 x 0 = 2.3
h=2.3
c: 10 + 1 x 6 = 16 b: 4 + 1 x 0 = 4
Uniformes Suchmodell:
Bellmann Gleichungen
Deterministisch
Nichtdeterministisch
Probabilistisch
Adaption und Evaluation
Modifikationen von UCT:
Beende Episode mit Wahrscheinl.
1/Ts(t)
Nutze Wertfunktionsschätzer (1+(x))h*(x), (x)2 [-0.1,0.1]
Evaluation:
1000 zufällige Startzustände
Verlust: Mittel aus q*(xi,a)-h*(xi)
Planung in MDPs:
Ergebnisse
MoGo CV
Juli 2006: 1650 ELO auf CGOS (Computer Go Server) (9x9);
Anf. Aug. 2006: 1920 ELO auf CGOS
Ende Aug. 2006: 2000 ELO auf CGOS
Okt. 2006: Gewinn 2 KGS Turniere (9x9 und 13x13)
Nov. 2006: Gewinn 2 KGS Turniere (9x9 und 13x13);
Nov. 2006: 2200 ELO auf CGOS
Dez. 2006: 2. Platz auf KGS Turnier (19x19).
Literatur
Sylvain Gelly, Yizao Wang “Exploration and Exploitation in Go: UCT for Monte-Carlo Go”
UCB1: Auer, P., Cesa-Bianchi, N., and
Fischer, P. (2002). Finite time analysis of the multiarmed bandit problem. Machine
Learning, 47(2-3):235–256.
Optimism in the face of uncertainty: Lai, T.
L. and Robbins, H. (1985). Asymptotically
efficient adaptive allocation rules. Advances
Literatur
Audibert, J., Munos, R., and Szepesvári, Cs.
(2006). Use of variance estimation in the multi- armed bandit problem. (NIPS Workshop on
Exploration and Exploitaton)
UCT: Kocsis, L. and Szepesvári, Cs. (2006). Bandit based Monte-Carlo planning. ECML-06.
Go: http://cgos.boardspace.net/9x9.html, http://senseis.xmp.net/?MoGo
György, A., Kocsis, L., Szabó, I., and Szepesvári, Cs. (2007). Continuous time associative bandit problems. In IJCAI’06.