• Keine Ergebnisse gefunden

Stefan Edelkamp Spieltheorie: UCT

N/A
N/A
Protected

Academic year: 2021

Aktie "Stefan Edelkamp Spieltheorie: UCT"

Copied!
43
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Spieltheorie: UCT

Stefan Edelkamp

(2)

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.

(3)

Exploration vs.

Exploitation - Probieren oder Studieren?

Zwei Behandlungen

Unbekannte

Erfolgswahrscheinlichkeit

Ziel:

Beste Behandlung mit möglichst wenigen

Problemen

Neues Ausprobieren oder alte Erkenntnisse studieren?

(4)

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

(5)

Im Spiel

Was passiert, wenn Aktionen mit ähnlichen Wert

zusammengruppiert werden?

1 0

(6)

Go

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

Beispiel

(13)

Von Alpha-Beta zu UCT

Ziel:

Approximieru ng des

Minmax-

Wertes einer Position

(14)

Spiel als k-armiger Bandit

Jede Position ein Bandit

Jeder Zug ein Arm

Bester Zug: Maximierung der Belohnung

(15)

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

(16)

Spiele mehr Spiele, die gut enden: Ein Knoten

(17)

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

(18)

Spiele mehr Spiele, die gut enden: Rekursiv

(19)

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

(20)

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

(21)

UCT

Regel 1: Nutze einen Zähler und ein

Mittelwert an jedem Knoten

Rule 2: Betrachte jeden Knoten als

Banditenproblem

(22)

Beispiel (t=1)

0/0+1 0/0+1

0/0+1 0/0+1

1/1+1

1/1+1

(23)

Beispiel (t=2)

0/0+1

0/0 1/1+1.2

1/1 0/1

0/1+1

(24)

Beispiel (t=3)

0/1+1.5

0/1 1/1+1.0

1/1 2/2

2/2+1.0

(25)

Beispiel (t=4)

0/1+1.7

0/1 2/2+1.2

2/2 3/3

3/3+1.2

(26)

Speicherplatz-Effizienz (CrazyStone, R. Coulom 2006)

Spielbaum-Management:

Stoppe sobald UCT unbesuchte Position erreicht

Erweitere den Baum um diesen Knoten

Werte die Position aus

(27)

Beispiel

(28)

Beispiel

(29)

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

(30)

Erweiterungen

Von asymptotisch-guter zur effizienten Zugauswahl

Heuristiken für den Fall, dass # Versuche < # Züge

Arme nicht unabhängig …

(31)

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

(32)

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

(33)

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

(34)

Anwendungen

Andere Probleme: Hex, Clobber

Automatisches Schreiben von Strategie- Büchern (z.B. für

Schach?)

Allgemeine Handlungsplanung

(35)

Planung in MDPs: Segeln

Ziel: Suche optimale Aktion

http://www.sor.princeton.edu/~rvdb/sail/sail.html

(36)

Kontrollersynthese

Agent

at ct

st

(37)

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

(38)

Uniformes Suchmodell:

Bellmann Gleichungen

Deterministisch

Nichtdeterministisch

Probabilistisch

(39)

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)

(40)

Planung in MDPs:

Ergebnisse

(41)

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

(42)

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

(43)

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.

Referenzen

ÄHNLICHE DOKUMENTE

(b) Isolated storage modulus curve (top) and change

Der Antrieb der Hinterräder mit einem Durchmesser von d H = 280 mm auf der Welle von z 2 erfolgt über einen Motor mit einer Drehzahl von n max =5900 min -1.. Zahnriementrieb

Namely, every third insertion, we can add it to the min-heap, to make sure that it holds bn/3c elements as n grows, and every other transaction we insert it in the max-heap3.