Monte-Carlo Tree Search

22
Monte-Carlo Tree Search Matej Guid Laboratorij za umetno inteligenco, Fakulteta za računalništvo in informatiko, Univerza v Ljubljani Marec 2009

description

Monte-Carlo Tree Search. Matej Guid. Laboratorij za umetno inteligenco, Fakulteta za računalništvo in informatiko, Univerza v Ljubljani Marec 200 9. Monte-Carlo simulacije. trenutna pozicija. Izvajanje številnih simulacij partij iz pozicij, ki jo želimo oceniti. - PowerPoint PPT Presentation

Transcript of Monte-Carlo Tree Search

Page 1: Monte-Carlo Tree Search

Monte-Carlo Tree Search

Matej Guid

Laboratorij za umetno inteligenco,Fakulteta za računalništvo in informatiko,

Univerza v Ljubljani

Marec 2009

Page 2: Monte-Carlo Tree Search

Monte-Carlo simulacije

trenutnapozicija

simulacije

rezultati1 0 1 0

Izvajanje številnih simulacij partij izpozicij, ki jo želimo oceniti.

Pri vsaki simulaciji odigramo(psevdo) naključne poteze, dokler nedosežemo končnih stanj igre.

Povprečen rezultat simuliranih partijsluži kot ocena trenutne pozicije.

Izvajanje številnih simulacij partij izpozicij, ki jo želimo oceniti.

Pri vsaki simulaciji odigramo(psevdo) naključne poteze, dokler nedosežemo končnih stanj igre.

Povprečen rezultat simuliranih partijsluži kot ocena trenutne pozicije.

Prednost: ogromno število simuliranih partij v zelo kratkem času

Slabost: izjemno slaba kvaliteta simuliranih partij

Prednost: ogromno število simuliranih partij v zelo kratkem času

Slabost: izjemno slaba kvaliteta simuliranih partij

Page 3: Monte-Carlo Tree Search

Monte-Carlo Tree Search

• best-first search algoritem oz. tehnika

• uporablja psevdo-naključno preiskovanje prostora

• ne zahteva hevrističnega domenskega znanja

• možno uporabiti pri katerikoli igri s končno dolžino trajanja

• gradnja drevesa iskanja s pomočjo rezultatov Monte-Carlo simulacij

Page 4: Monte-Carlo Tree Search

Monte-Carlo Tree Search

• drevo iskanja na začetku še ne obstaja, začnemo v korenu – trenutni poziciji

• smer preiskovanja je na začetku naključna, kasneje rezultati simulacij usmerjajopreiskovanje k bolj obetavnim nadaljevanjem

• vsako vozlišče vsebuje dve vrednosti: vrednost vozlišča: povprečen rezultat simuliranih partij števec obiskov tega vozlišča

• drevo iskanja na začetku še ne obstaja, začnemo v korenu – trenutni poziciji

• smer preiskovanja je na začetku naključna, kasneje rezultati simulacij usmerjajopreiskovanje k bolj obetavnim nadaljevanjem

• vsako vozlišče vsebuje dve vrednosti: vrednost vozlišča: povprečen rezultat simuliranih partij števec obiskov tega vozlišča

Page 5: Monte-Carlo Tree Search

Monte-Carlo Tree Search

• SELECTIONizbira ustreznega vozlišča na dnu izgrajenega drevesa

• EXPANSIONv drevo dodamo enega ali več naslednikov v izbranem listu

• SIMULATIONpsevdo-naključni self-play do končnega stanja igre

• BACKPROPAGATIONrezultat simulirane partije vpliva na vsa vozlišča na poti do korena

Page 6: Monte-Carlo Tree Search

Monte-Carlo Tree Search

1|1

1

trenutna pozicija

simulacija

rezultat

drevo iskanja

vrednost pozicije števec obiska

Page 7: Monte-Carlo Tree Search

Monte-Carlo Tree Search

0|1

0

drevo iskanja 1|2

Page 8: Monte-Carlo Tree Search

Monte-Carlo Tree Search

0|1

drevo iskanja 2|3

1|1

1

Page 9: Monte-Carlo Tree Search

Monte-Carlo Tree Search

0|1

drevo iskanja 2|4

0

0|1

1|2

Page 10: Monte-Carlo Tree Search

Monte-Carlo Tree Search

0|1

drevo iskanja 3|5

0

0|1

2|3

1

1|1

Page 11: Monte-Carlo Tree Search

Selection Strategy

0|1

drevo iskanja 3|5

0|1

2|3

1|1

• izbira ustreznega vozlišča glede na shranjene statistike• pomembno ohraniti ravnovesje med exploitation in exploration

EXPLOITATIONRaziskati želimo nadaljevanje, ki vodi do najboljših rezultatov.

EXPLORATIONTudi manj obetavna nadaljevanja je potrebno raziskati, zaradi nezanesljivih ocen, ki temeljijo na rezultatih simulacij.

EXPLOITATIONRaziskati želimo nadaljevanje, ki vodi do najboljših rezultatov.

EXPLORATIONTudi manj obetavna nadaljevanja je potrebno raziskati, zaradi nezanesljivih ocen, ki temeljijo na rezultatih simulacij.

1. SELECTION

Page 12: Monte-Carlo Tree Search

UCT

0|1

drevo iskanja 3|5

0|1

2|3

1|1

• UCT = Upper Confidence bound applied to Trees• strategija za izbiro vozlišča (Kocsis in Szepesvári 2006)

Izberemo vozlišče i, ki maksimizira:

vi + C ×

Vi – vrednost vozlišča i N – števec obiskov starša vozlišča i ni – števec obiskov vozlišča i C – koeficient

Izberemo vozlišče i, ki maksimizira:

vi + C ×

Vi – vrednost vozlišča i N – števec obiskov starša vozlišča i ni – števec obiskov vozlišča i C – koeficient

in

Nln

1. SELECTION

(večji kot je C, bolj se favorizira exploration)

Page 13: Monte-Carlo Tree Search

Exploitation

drevo iskanja 6|10

0|1

5|7

0|1 1|1

4|5

2|3

0|1

0|2

vi + C × in

Nln

1|1

1. SELECTION

Page 14: Monte-Carlo Tree Search

Exploration

drevo iskanja 6|10

0|1

5|7

0|1 1|1

4|5

2|3

0|1

0|2

vi + C × in

Nln

1|1

1. SELECTION

Page 15: Monte-Carlo Tree Search

Expansion Strategy

0|1

drevo iskanja 3|5

0|1

2|3

• v drevo iskanja pri izbranem listu dodamo enega ali več naslednikov• najenostavnejša strategija je preprosto dodati eno vozlišče pri vsaki simulaciji (Coulom 2007) – ta strategija se je izkazala za uspešno v go programu Crazy Stone

2. EXPANSION

1|1

0|0

Page 16: Monte-Carlo Tree Search

Simulation Strategy

0|1

drevo iskanja 3|5

0|1

2|3

• igranje psevdo-naključnih potez, dokler ni doseženo končno stanje v drevesu igre• s pomočjo naučenih vzorcev in dodatnih omejitev je mogoče izboljšati kvaliteto simuliranih partij

3. SIMULATION

1|1

0|0

1

ISKANJE RAVNOVESJA:

več znanja & boljša kvaliteta simuliranih partij

ali večje število simuliranih partij & statistično močnejši rezultat

ISKANJE RAVNOVESJA:

več znanja & boljša kvaliteta simuliranih partij

ali večje število simuliranih partij & statistično močnejši rezultat

Page 17: Monte-Carlo Tree Search

Backpropagation

0|1

drevo iskanja 3|5

0|1

2|3

4. BACK-PROPAGATION

1|1

0|0

1

Page 18: Monte-Carlo Tree Search

Backpropagation

0|1

drevo iskanja 3|5

0|1

2|3

4. BACK-PROPAGATION

1|1

1|1

1

Page 19: Monte-Carlo Tree Search

Backpropagation

0|1

drevo iskanja 3|5

0|1

2|3

4. BACK-PROPAGATION

2|2

1|1

1

Page 20: Monte-Carlo Tree Search

Backpropagation

0|1

drevo iskanja 3|5

0|1

3|4

4. BACK-PROPAGATION

2|2

1|1

1

Page 21: Monte-Carlo Tree Search

Backpropagation

0|1

drevo iskanja 4|6

0|1

3|4

4. BACK-PROPAGATION

2|2

1|1

1

Page 22: Monte-Carlo Tree Search

Reference

Chen, K., Zhang, P.: Monte-Carlo Go with Knowledge-guided Simulations. ICGA Journal 31(2), 2008.

Coulom, R.: Effcient selectivity and backup operators in Monte-Carlo tree search. In: the 5th International Conference on Computers and Games, Turin, Italy, 2006.

Gelly, S. and Wang, Y. (2006). Exploration Exploitation in Go: UCT for Monte-Carlo Go, in Twentieth Annual Conference on Neural Information Processing Systems (NIPS 2006).

S. Gelly and D. Silver. Combining online and online knowledge in UCT. In Proceedings of the 24th international conference on Machine learning, pages 273-280. ACM Press New York, NY, USA, 2007.

Kocsis, L. and Szepesv´ari, C. (2006). Bandit Based Monte-Carlo Planning, in J. Füernkranz, T. Schaeffer and M. Spiliopoulou (eds.), Machine Learning: ECML 2006, Lecture Notes in Artificial Intelligence 4212, pp. 282–293.

Y. Wang and S. Gelly. Modications of UCT and sequence-like simulations for Monte-Carlo Go. In Computational Intelligence and Games, 2007. CIG 2007. IEEE Symposium on, pages 175-182, 2007.