Monte-Carlo Tree Search
description
Transcript of 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
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
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
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
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
Monte-Carlo Tree Search
1|1
1
trenutna pozicija
simulacija
rezultat
drevo iskanja
vrednost pozicije števec obiska
Monte-Carlo Tree Search
0|1
0
drevo iskanja 1|2
Monte-Carlo Tree Search
0|1
drevo iskanja 2|3
1|1
1
Monte-Carlo Tree Search
0|1
drevo iskanja 2|4
0
0|1
1|2
Monte-Carlo Tree Search
0|1
drevo iskanja 3|5
0
0|1
2|3
1
1|1
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
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)
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
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
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
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
Backpropagation
0|1
drevo iskanja 3|5
0|1
2|3
4. BACK-PROPAGATION
1|1
0|0
1
Backpropagation
0|1
drevo iskanja 3|5
0|1
2|3
4. BACK-PROPAGATION
1|1
1|1
1
Backpropagation
0|1
drevo iskanja 3|5
0|1
2|3
4. BACK-PROPAGATION
2|2
1|1
1
Backpropagation
0|1
drevo iskanja 3|5
0|1
3|4
4. BACK-PROPAGATION
2|2
1|1
1
Backpropagation
0|1
drevo iskanja 4|6
0|1
3|4
4. BACK-PROPAGATION
2|2
1|1
1
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.