Difference between revisions of "Monte-Carlo Tree Search"

From Chessprogramming wiki
Jump to: navigation, search
(20 intermediate revisions by the same user not shown)
Line 35: Line 35:
 
=Publications=  
 
=Publications=  
 
==1987==
 
==1987==
* [[Bruce Abramson]], [[Richard Korf]] ('''1987'''). ''A Model of Two-Player Evaluation Functions.'' [http://www.aaai.org/Conferences/AAAI/aaai87.php AAAI-87]. [http://www.aaai.org/Papers/AAAI/1987/AAAI87-016.pdf pdf]
+
* [[Bruce Abramson]], [[Richard Korf]] ('''1987'''). ''A Model of Two-Player Evaluation Functions.'' [[Conferences#AAAI-87|AAAI-87]], [http://www.aaai.org/Papers/AAAI/1987/AAAI87-016.pdf pdf]
 
==1990 ...==
 
==1990 ...==
* [[Bruce Abramson]] ('''1990'''). ''[http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=44404 Expected-Outcome: A General Model of Static Evaluation]''. IEEE Transactions on Pattern Analysis and Machine Intelligence 12(2): 182-193.
+
* [[Bruce Abramson]] ('''1990'''). ''[http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=44404 Expected-Outcome: A General Model of Static Evaluation]''. [[IEEE#TPAMI|IEEE Transactions on Pattern Analysis and Machine Intelligence]], Vol. 12, No. 2
* [[Bruce Abramson]] ('''1990'''). ''An Analysis of Expected-Outcome.'' Journal of Experimental and Theoretical Artificial Intelligence 2: 55-73.
+
* [[Bruce Abramson]] ('''1990'''). ''An Analysis of Expected-Outcome.'' [https://en.wikipedia.org/wiki/Journal_of_Experimental_and_Theoretical_Artificial_Intelligence Journal of Experimental and Theoretical Artificial Intelligence], Vol. 2
* [[Bruce Abramson]] ('''1991'''). ''The Expected-Outcome Model of Two-Player Games.'' Part of the series, Research Notes in Artificial Intelligence (San Mateo: Morgan Kaufmann, 1991).
+
* [[Bruce Abramson]] ('''1991'''). ''The Expected-Outcome Model of Two-Player Games.'' Part of the series, Research Notes in Artificial Intelligence, Morgan Kaufmann
 
* [[Bernd Brügmann]] ('''1993'''). ''Monte Carlo Go''. [http://www.ideanest.com/vegos/MonteCarloGo.pdf pdf]
 
* [[Bernd Brügmann]] ('''1993'''). ''Monte Carlo Go''. [http://www.ideanest.com/vegos/MonteCarloGo.pdf pdf]
 
==2000 ...==
 
==2000 ...==
Line 98: Line 98:
 
* [[Guillaume Chaslot]], [[Jean-Baptiste Hoock]], [[Julien Pérez]], [[Arpad Rimmel]], [[Olivier Teytaud]], [[Mark Winands]] ('''2009'''). ''Meta Monte-Carlo Tree Search for Automatic Opening Book Generation''. [http://www.personeel.unimaas.nl/m-winands/documents/ouvertures9x9.pdf pdf]
 
* [[Guillaume Chaslot]], [[Jean-Baptiste Hoock]], [[Julien Pérez]], [[Arpad Rimmel]], [[Olivier Teytaud]], [[Mark Winands]] ('''2009'''). ''Meta Monte-Carlo Tree Search for Automatic Opening Book Generation''. [http://www.personeel.unimaas.nl/m-winands/documents/ouvertures9x9.pdf pdf]
 
* [[Markus Enzenberger]], [[Martin Müller]] ('''2009'''). ''A lock-free multithreaded Monte-Carlo tree search algorithm'', [[Advances in Computer Games 12]], [http://webdocs.cs.ualberta.ca/%7Emmueller/ps/enzenberger-mueller-acg12.pdf pdf]
 
* [[Markus Enzenberger]], [[Martin Müller]] ('''2009'''). ''A lock-free multithreaded Monte-Carlo tree search algorithm'', [[Advances in Computer Games 12]], [http://webdocs.cs.ualberta.ca/%7Emmueller/ps/enzenberger-mueller-acg12.pdf pdf]
* [[Markus Enzenberger]], [[Martin Müller]] ('''2009'''). ''[http://www.cs.ualberta.ca/research/theses-publications/technical-reports/2009/tr09-08 Fuego - An Open-source Framework for Board Games and Go Engine Based on Monte-Carlo Tree Search]'', [http://www.cs.ualberta.ca/system/files/tech_report/2009/TR09-08.pdf pdf]
 
 
* [[Rémi Coulom]] ('''2009'''). ''The Monte-Carlo Revolution in Go''. JFFoS'2008: Japanese-French Frontiers of Science Symposium, [http://remi.coulom.free.fr/JFFoS/JFFoS.pdf slides as pdf]
 
* [[Rémi Coulom]] ('''2009'''). ''The Monte-Carlo Revolution in Go''. JFFoS'2008: Japanese-French Frontiers of Science Symposium, [http://remi.coulom.free.fr/JFFoS/JFFoS.pdf slides as pdf]
 
* [[Mark Winands]], [[Yngvi Björnsson]] ('''2009'''). ''Evaluation Function Based Monte-Carlo LOA''. [http://www.ru.is/faculty/yngvi/pdf/WinandsB09.pdf pdf] <ref>[http://www.open-chess.org/viewtopic.php?f=5&t=886 Monte Carlo in LOA] by [[Mark Watkins]], [[Computer Chess Forums|Open Chess Forum]], December 30, 2010</ref>  
 
* [[Mark Winands]], [[Yngvi Björnsson]] ('''2009'''). ''Evaluation Function Based Monte-Carlo LOA''. [http://www.ru.is/faculty/yngvi/pdf/WinandsB09.pdf pdf] <ref>[http://www.open-chess.org/viewtopic.php?f=5&t=886 Monte Carlo in LOA] by [[Mark Watkins]], [[Computer Chess Forums|Open Chess Forum]], December 30, 2010</ref>  
Line 128: Line 127:
 
* [[Jean Méhat]], [[Tristan Cazenave]] ('''2010'''). ''Combining UCT and Nested Monte-Carlo Search for Single-Player General Game Playing''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 2, No. 4, [http://www.lamsade.dauphine.fr/~cazenave/papers/ggp2009.pdf pdf 2009] » [[General Game Playing]]
 
* [[Jean Méhat]], [[Tristan Cazenave]] ('''2010'''). ''Combining UCT and Nested Monte-Carlo Search for Single-Player General Game Playing''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 2, No. 4, [http://www.lamsade.dauphine.fr/~cazenave/papers/ggp2009.pdf pdf 2009] » [[General Game Playing]]
 
* [[Broderick Arneson]], [[Ryan Hayward]], [[Philip Henderson]] ('''2010'''). ''Monte Carlo Tree Search in Hex''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 2, No. 4, [http://webdocs.cs.ualberta.ca/~hayward/papers/mcts-hex.pdf pdf]
 
* [[Broderick Arneson]], [[Ryan Hayward]], [[Philip Henderson]] ('''2010'''). ''Monte Carlo Tree Search in Hex''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 2, No. 4, [http://webdocs.cs.ualberta.ca/~hayward/papers/mcts-hex.pdf pdf]
 +
* [[Mark Winands]], [[Yngvi Björnsson]], [[Jahn-Takeshi Saito]] ('''2010'''). ''[https://ieeexplore.ieee.org/document/5523941 Monte Carlo Tree Search in Lines of Action]''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 2, No. 4, [http://www.ru.is/~yngvi/pdf/WinandsB10a.pdf pdf]
 
* [[Hendrik Baier]], [[Peter D. Drake]] ('''2010'''). ''The power of forgetting: Improving the last-good-reply policy in Monte Carlo Go''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 2, No. 4
 
* [[Hendrik Baier]], [[Peter D. Drake]] ('''2010'''). ''The power of forgetting: Improving the last-good-reply policy in Monte Carlo Go''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 2, No. 4
 
* [[Ingo Althöfer]] ('''2010'''). ''Game Self-Play with Pure Monte-Carlo: The Basin Structure''. [http://www.althofer.de/monte-carlo-basins-althoefer.pdf pdf]
 
* [[Ingo Althöfer]] ('''2010'''). ''Game Self-Play with Pure Monte-Carlo: The Basin Structure''. [http://www.althofer.de/monte-carlo-basins-althoefer.pdf pdf]
Line 137: Line 137:
 
* [[Thomas J. Walsh]], [[Sergiu Goschin]], [[Michael L. Littman]] ('''2010'''). ''Integrating sample-based planning and model-based reinforcement learning.'' [[AAAI]], [https://pdfs.semanticscholar.org/bdc9/bfb6ecc6fb5afb684df03d7220c46ebdbf4e.pdf pdf] » [[UCT]], [[Reinforcement Learning]]
 
* [[Thomas J. Walsh]], [[Sergiu Goschin]], [[Michael L. Littman]] ('''2010'''). ''Integrating sample-based planning and model-based reinforcement learning.'' [[AAAI]], [https://pdfs.semanticscholar.org/bdc9/bfb6ecc6fb5afb684df03d7220c46ebdbf4e.pdf pdf] » [[UCT]], [[Reinforcement Learning]]
 
'''2011'''
 
'''2011'''
 +
* [[Markus Enzenberger]], [[Martin Müller]], [[Broderick Arneson]], [[Richard Segal]] ('''2011'''). ''Fuego - An Open-source Framework for Board Games and Go Engine Based on Monte-Carlo Tree Search''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 2, No. 4, [https://webdocs.cs.ualberta.ca/~mmueller/ps/fuego-TCIAIG.pdf pdf]
 
* [[Christopher D. Rosin]] ('''2011'''). ''[https://link.springer.com/article/10.1007/s10472-011-9258-6 Multi-armed bandits with episode context]''. Annals of Mathematics and Artificial Intelligence, Vol. 61, No. 3, [http://gauss.ececs.uc.edu/Workshops/isaim2010/papers/rosin.pdf ISAIM 2010 pdf]
 
* [[Christopher D. Rosin]] ('''2011'''). ''[https://link.springer.com/article/10.1007/s10472-011-9258-6 Multi-armed bandits with episode context]''. Annals of Mathematics and Artificial Intelligence, Vol. 61, No. 3, [http://gauss.ececs.uc.edu/Workshops/isaim2010/papers/rosin.pdf ISAIM 2010 pdf]
 
* [[Shih-Chieh Huang]], [[Rémi Coulom]], [[Shun-Shii Lin]] ('''2011'''). ''Time Management for Monte-Carlo Tree Search Applied to the Game of Go''. TAAI 2010, [http://remi.coulom.free.fr/Publications/TimeManagement.pdf pdf]
 
* [[Shih-Chieh Huang]], [[Rémi Coulom]], [[Shun-Shii Lin]] ('''2011'''). ''Time Management for Monte-Carlo Tree Search Applied to the Game of Go''. TAAI 2010, [http://remi.coulom.free.fr/Publications/TimeManagement.pdf pdf]
Line 167: Line 168:
 
* [[Joel Veness]], [[Kee Siong Ng]], [[Marcus Hutter]], [[William Uther]] , [[David Silver]] ('''2011'''). ''A Monte-Carlo AIXI Approximation''. [https://en.wikipedia.org/wiki/Journal_of_Artificial_Intelligence_Research JAIR], Vol. 40, [http://www.aaai.org/Papers/JAIR/Vol40/JAIR-4004.pdf pdf]
 
* [[Joel Veness]], [[Kee Siong Ng]], [[Marcus Hutter]], [[William Uther]] , [[David Silver]] ('''2011'''). ''A Monte-Carlo AIXI Approximation''. [https://en.wikipedia.org/wiki/Journal_of_Artificial_Intelligence_Research JAIR], Vol. 40, [http://www.aaai.org/Papers/JAIR/Vol40/JAIR-4004.pdf pdf]
 
* [[Christopher D. Rosin]] ('''2011'''). '' Nested Rollout Policy Adaptation for Monte Carlo Tree Search''. [[Conferences#IJCAI2011|IJCAI 2011]], [http://www.chrisrosin.com/rosin-ijcai11.pdf pdf]
 
* [[Christopher D. Rosin]] ('''2011'''). '' Nested Rollout Policy Adaptation for Monte Carlo Tree Search''. [[Conferences#IJCAI2011|IJCAI 2011]], [http://www.chrisrosin.com/rosin-ijcai11.pdf pdf]
 +
* [[David Tolpin]], [[Solomon Eyal Shimony]] ('''2011'''). ''Doing Better Than UCT: Rational Monte Carlo Sampling in Trees''. [https://arxiv.org/abs/1108.3711 arXiv:1108.3711] » [[UCT]]
 
'''2012'''
 
'''2012'''
 
* [[Michael L. Littman]] ('''2012'''). ''Technical Perspective: A New Way to Search Game Trees''. [[ACM#Communications|Communications of the ACM]], Vol. 55, No. 3
 
* [[Michael L. Littman]] ('''2012'''). ''Technical Perspective: A New Way to Search Game Trees''. [[ACM#Communications|Communications of the ACM]], Vol. 55, No. 3
Line 172: Line 174:
 
* [[Oleg Arenz]] ('''2012'''). ''Monte Carlo Chess''.  B.Sc. thesis, [[Darmstadt University of Technology]], advisor [[Johannes Fürnkranz]], [http://www.ke.tu-darmstadt.de/lehre/arbeiten/bachelor/2012/Arenz_Oleg.pdf pdf] » [[Stockfish]]
 
* [[Oleg Arenz]] ('''2012'''). ''Monte Carlo Chess''.  B.Sc. thesis, [[Darmstadt University of Technology]], advisor [[Johannes Fürnkranz]], [http://www.ke.tu-darmstadt.de/lehre/arbeiten/bachelor/2012/Arenz_Oleg.pdf pdf] » [[Stockfish]]
 
* [[Jeff Rollason]] ('''2012'''). ''[http://www.aifactory.co.uk/newsletter/2012_01_tuning_spades.htm Tuning Spades]''. [[AI Factory]], Summer 2012 » [[UCT]]
 
* [[Jeff Rollason]] ('''2012'''). ''[http://www.aifactory.co.uk/newsletter/2012_01_tuning_spades.htm Tuning Spades]''. [[AI Factory]], Summer 2012 » [[UCT]]
 +
* [[David Tolpin]], [[Solomon Eyal Shimony]] ('''2012'''). ''MCTS Based on Simple Regret''. [[Conferences#AAAI-2012|AAAI-2012]], [https://arxiv.org/abs/1207.5536 arXiv:1207.5536]
 +
* [[David Tolpin]], [[Solomon Eyal Shimony]] ('''2012'''). ''VOI-aware MCTS''. [https://dblp.uni-trier.de/db/conf/ecai/ecai2012.html ECAI 2012], [https://arxiv.org/abs/1207.5589  arXiv:1207.5589] <ref>[https://en.wikipedia.org/wiki/Value_of_information Value of information (VOI) from Wikipedia]</ref>
 
* [[Tristan Cazenave]], [[Fabien Teytaud]] ('''2012'''). ''Beam Nested Rollout Policy Adaptation''. [[ECAI CGW 2012]]
 
* [[Tristan Cazenave]], [[Fabien Teytaud]] ('''2012'''). ''Beam Nested Rollout Policy Adaptation''. [[ECAI CGW 2012]]
 
* [[André Fabbri]], [[Frédéric Armetta]], [[Eric Duchêne]], [[Salima Hassas]] ('''2012'''). ''A new self-acquired knowledge process for Monte Carlo Tree Search''. [[ECAI CGW 2012]]
 
* [[André Fabbri]], [[Frédéric Armetta]], [[Eric Duchêne]], [[Salima Hassas]] ('''2012'''). ''A new self-acquired knowledge process for Monte Carlo Tree Search''. [[ECAI CGW 2012]]
 
* [[Marc Lanctot]], [[Abdallah Saffidine]], [[Joel Veness]], [[Christopher Archibald]] ('''2012'''). ''Sparse Sampling for Adversarial Games''. [[ECAI CGW 2012]]
 
* [[Marc Lanctot]], [[Abdallah Saffidine]], [[Joel Veness]], [[Christopher Archibald]] ('''2012'''). ''Sparse Sampling for Adversarial Games''. [[ECAI CGW 2012]]
 
* [[Niek Den Teuling]], [[Mark Winands]] ('''2012'''). ''Monte-Carlo Tree Search for the Simultaneous Move Game Tron''. [[ECAI CGW 2012]], [https://dke.maastrichtuniversity.nl/m.winands/documents/Tronpaper.pdf pdf]
 
* [[Niek Den Teuling]], [[Mark Winands]] ('''2012'''). ''Monte-Carlo Tree Search for the Simultaneous Move Game Tron''. [[ECAI CGW 2012]], [https://dke.maastrichtuniversity.nl/m.winands/documents/Tronpaper.pdf pdf]
 +
* [[Arthur Guez]], [[David Silver]], [[Peter Dayan]] ('''2012'''). ''Efficient Bayes-Adaptive Reinforcement Learning using Sample-Based Search''. [https://arxiv.org/abs/1205.3109 arXiv:1205.3109]
 +
* [[Truong-Huy Dinh Nguyen]], [[Wee Sun Lee]], [[Tze-Yun Leong]] ('''2012'''). ''Bootstrapping Monte Carlo Tree Search with an Imperfect Heuristic''. [https://arxiv.org/abs/1206.5940 arXiv:1206.5940]
 
* [[Jan Kuipers (Nikhef)|Jan Kuipers]], [[Aske Plaat]], [[Jos Vermaseren]], [[Jaap van den Herik]] ('''2012'''). ''Improving multivariate Horner schemes with Monte Carlo tree search''. [http://arxiv.org/abs/1207.7079 CoRR abs/1207.7079]
 
* [[Jan Kuipers (Nikhef)|Jan Kuipers]], [[Aske Plaat]], [[Jos Vermaseren]], [[Jaap van den Herik]] ('''2012'''). ''Improving multivariate Horner schemes with Monte Carlo tree search''. [http://arxiv.org/abs/1207.7079 CoRR abs/1207.7079]
 
* [[Cameron Browne]], [[Edward Powley]], [[Daniel Whitehouse]], [[Simon Lucas]], [[Peter Cowling]], [[Philipp Rohlfshagen]], [[Stephen Tavener]], [[Diego Perez]], [[Spyridon Samothrakis]], [[Simon Colton]] ('''2012'''). ''[http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6145622&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F4804728%2F6169178%2F06145622.pdf%3Farnumber%3D6145622 A Survey of Monte Carlo Tree Search Methods]''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 4, No. 1
 
* [[Cameron Browne]], [[Edward Powley]], [[Daniel Whitehouse]], [[Simon Lucas]], [[Peter Cowling]], [[Philipp Rohlfshagen]], [[Stephen Tavener]], [[Diego Perez]], [[Spyridon Samothrakis]], [[Simon Colton]] ('''2012'''). ''[http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6145622&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F4804728%2F6169178%2F06145622.pdf%3Farnumber%3D6145622 A Survey of Monte Carlo Tree Search Methods]''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 4, No. 1
Line 206: Line 212:
 
* [[Timothy Furtak]], [[Michael Buro]] ('''2013'''). ''Recursive Monte Carlo search for imperfect information games''. [[IEEE#CIG|CIG 2013]], [https://skatgame.net/mburo/ps/recmc13.pdf pdf]
 
* [[Timothy Furtak]], [[Michael Buro]] ('''2013'''). ''Recursive Monte Carlo search for imperfect information games''. [[IEEE#CIG|CIG 2013]], [https://skatgame.net/mburo/ps/recmc13.pdf pdf]
 
* [[Ben Ruijl]], [[Jos Vermaseren]], [[Aske Plaat]], [[Jaap van den Herik]] ('''2013'''). ''Combining Simulated Annealing and Monte Carlo Tree Search for Expression Simplification''. [http://arxiv.org/abs/1312.0841 CoRR abs/1312.0841]
 
* [[Ben Ruijl]], [[Jos Vermaseren]], [[Aske Plaat]], [[Jaap van den Herik]] ('''2013'''). ''Combining Simulated Annealing and Monte Carlo Tree Search for Expression Simplification''. [http://arxiv.org/abs/1312.0841 CoRR abs/1312.0841]
* [[Arthur Guez]], [[David Silver]], [[Peter Dayan]] ('''2013'''). ''Scalable and Efficient Bayes-Adaptive Reinforcement Learning Based on Monte-Carlo Tree Search''. [https://en.wikipedia.org/wiki/Journal_of_Artificial_Intelligence_Research Journal of Artificial Intelligence Research], Vol. 48, [https://www.jair.org/media/4117/live-4117-7507-jair.pdf pdf]
+
* [[Arthur Guez]], [[David Silver]], [[Peter Dayan]] ('''2013'''). ''[https://www.jair.org/index.php/jair/article/view/10853 Scalable and Efficient Bayes-Adaptive Reinforcement Learning Based on Monte-Carlo Tree Search]''. [https://en.wikipedia.org/wiki/Journal_of_Artificial_Intelligence_Research Journal of Artificial Intelligence Research], Vol. 48
 
* [[Ari Weinstein]], [[Michael L. Littman]], [[Sergiu Goschin]] ('''2013'''). ''[http://proceedings.mlr.press/v24/weinstein12a.html Rollout-based Game-tree Search Outprunes Traditional Alpha-beta]''. [http://proceedings.mlr.press/ PMLR], Vol. 24 » [[UCT]]
 
* [[Ari Weinstein]], [[Michael L. Littman]], [[Sergiu Goschin]] ('''2013'''). ''[http://proceedings.mlr.press/v24/weinstein12a.html Rollout-based Game-tree Search Outprunes Traditional Alpha-beta]''. [http://proceedings.mlr.press/ PMLR], Vol. 24 » [[UCT]]
 +
* [[Kuo-Yuan Kao]], [[I-Chen Wu]], [[Shi-Jim Yen]], [[Yi-Chang Shan]] ('''2013'''). ''[https://ieeexplore.ieee.org/document/6468079 Incentive Learning in Monte Carlo Tree Search]''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 5, No. 4
 
'''2014'''
 
'''2014'''
 
* [[Ben Ruijl]], [[Jos Vermaseren]], [[Aske Plaat]], [[Jaap van den Herik]] ('''2014'''). ''HEPGAME and the Simplification of Expressions''. [http://arxiv.org/abs/1405.6369 CoRR abs/1405.6369]
 
* [[Ben Ruijl]], [[Jos Vermaseren]], [[Aske Plaat]], [[Jaap van den Herik]] ('''2014'''). ''HEPGAME and the Simplification of Expressions''. [http://arxiv.org/abs/1405.6369 CoRR abs/1405.6369]
Line 253: Line 260:
 
* [[S. Ali Mirsoleimani]], [[Aske Plaat]], [[Jaap van den Herik]], [[Jos Vermaseren]] ('''2016'''). ''An Efficient Computation Pattern for Parallel MCTS''. [http://www.ictopen.nl/content/Previous+editions ICT.OPEN 2016], [http://liacs.leidenuniv.nl/~plaata1/papers/ictopen2016.pdf pdf]  
 
* [[S. Ali Mirsoleimani]], [[Aske Plaat]], [[Jaap van den Herik]], [[Jos Vermaseren]] ('''2016'''). ''An Efficient Computation Pattern for Parallel MCTS''. [http://www.ictopen.nl/content/Previous+editions ICT.OPEN 2016], [http://liacs.leidenuniv.nl/~plaata1/papers/ictopen2016.pdf pdf]  
 
* [[David L. St-Pierre]], [[Jean-Baptiste Hoock]], [[Jialin Liu]], [[Fabien Teytaud]], [[Olivier Teytaud]] ('''2016'''). ''Automatically Reinforcing a Game AI''. [https://arxiv.org/abs/1607.08100 arXiv:1607.0810]
 
* [[David L. St-Pierre]], [[Jean-Baptiste Hoock]], [[Jialin Liu]], [[Fabien Teytaud]], [[Olivier Teytaud]] ('''2016'''). ''Automatically Reinforcing a Game AI''. [https://arxiv.org/abs/1607.08100 arXiv:1607.0810]
 +
* [[Tristan Cazenave]], [[Abdallah Saffidine]], [[Michael Schofield]], [[Michael Thielscher]] ('''2016'''). ''Nested Monte Carlo Search for Two-Player Games''. [[Conferences#AAAI-2016|AAAI 2016]], [https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/view/12134/11652 pdf]
 
'''2017'''
 
'''2017'''
 
* [[Dap Hartmann]] ('''2017'''). ''Let's Catch the Train to Monte-Carlo''. [[ICGA Journal#39_1|ICGA Journal, Vol. 39, No. 1]], Review on [[Hendrik Baier#PhD|Hendrik Baier's Ph.D. thesis]]
 
* [[Dap Hartmann]] ('''2017'''). ''Let's Catch the Train to Monte-Carlo''. [[ICGA Journal#39_1|ICGA Journal, Vol. 39, No. 1]], Review on [[Hendrik Baier#PhD|Hendrik Baier's Ph.D. thesis]]
Line 275: Line 283:
 
* [[S. Ali Mirsoleimani]], [[Jaap van den Herik]], [[Aske Plaat]], [[Jos Vermaseren]] ('''2018'''). ''Pipeline Pattern for Parallel MCTS''. [https://dblp.uni-trier.de/db/conf/icaart/icaart2018-2.html ICAART 2018], [http://liacs.leidenuniv.nl/~plaata1/papers/paper_ICAART18_pos.pdf pdf]
 
* [[S. Ali Mirsoleimani]], [[Jaap van den Herik]], [[Aske Plaat]], [[Jos Vermaseren]] ('''2018'''). ''Pipeline Pattern for Parallel MCTS''. [https://dblp.uni-trier.de/db/conf/icaart/icaart2018-2.html ICAART 2018], [http://liacs.leidenuniv.nl/~plaata1/papers/paper_ICAART18_pos.pdf pdf]
 
* [[S. Ali Mirsoleimani]], [[Jaap van den Herik]], [[Aske Plaat]], [[Jos Vermaseren]] ('''2018'''). ''A Lock-free Algorithm for Parallel MCTS''. [https://dblp.uni-trier.de/db/conf/icaart/icaart2018-2.html ICAART 2018], [http://liacs.leidenuniv.nl/~plaata1/papers/paper_ICAART18.pdf pdf]
 
* [[S. Ali Mirsoleimani]], [[Jaap van den Herik]], [[Aske Plaat]], [[Jos Vermaseren]] ('''2018'''). ''A Lock-free Algorithm for Parallel MCTS''. [https://dblp.uni-trier.de/db/conf/icaart/icaart2018-2.html ICAART 2018], [http://liacs.leidenuniv.nl/~plaata1/papers/paper_ICAART18.pdf pdf]
 +
* [[Ching-Nung Lin]], [[Jr-Chang Chen]], [[Shi-Jim Yen]], [[Chan-San Chen]] ('''2018'''). ''Design of a Block Go program using deep learning and Monte Carlo tree search''. [[ICGA Journal#40_3|ICGA Journal, Vol. 40, No. 3]]
 +
* [[Kiminori Matsuzaki]], [[Naoki Kitamura]] ('''2018'''). ''Do evaluation functions really improve Monte-Carlo tree search?'' [[CG 2018]], [[ICGA Journal#40_3|ICGA Journal, Vol. 40, No. 3]]
 +
* [[Shun-Shii Lin]], [[Chih-Hung Chen]], [[Yu-Heng Chen]], [[Wei-Lin Wu]] ('''2018'''). ''Some improvements in Monte Carlo tree search algorithms for sudden death games''. [[CG 2018]], [[ICGA Journal#40_4|ICGA Journal, Vol. 40, No. 4]]
 +
* [[Nai-Yuan Chang]], [[Chih-Hung Chen]], [[Shun-Shii Lin]], [[Surag Nair]]  ('''2018'''). ''[https://dl.acm.org/citation.cfm?id=3278325 The Big Win Strategy on Multi-Value Network: An Improvement over AlphaZero Approach for 6x6 Othello]''. [https://dl.acm.org/citation.cfm?id=3278312 MLMI2018]
 +
* [[Yen-Chi Chen]], [[Chih-Hung Chen]], [[Shun-Shii Lin]] ('''2018'''). ''[https://dl.acm.org/citation.cfm?id=3293486 Exact-Win Strategy for Overcoming AlphaZero]''. [https://dl.acm.org/citation.cfm?id=3293475 CIIS 2018]  <ref>[https://github.com/LeelaChessZero/lc0/issues/799 "Exact-Win Strategy for Overcoming AlphaZero" · Issue #799 · LeelaChessZero/lc0 · GitHub]</ref>
 
'''2019'''
 
'''2019'''
 
* [[Tobias Joppen]], [[Johannes Fürnkranz]] ('''2019'''). ''[https://www.groundai.com/project/ordinal-monte-carlo-tree-search/ Ordinal Monte Carlo Tree Search]''. [[Darmstadt University of Technology|TU Darmstadt]], [https://arxiv.org/abs/1901.04274 arXiv:1901.04274]
 
* [[Tobias Joppen]], [[Johannes Fürnkranz]] ('''2019'''). ''[https://www.groundai.com/project/ordinal-monte-carlo-tree-search/ Ordinal Monte Carlo Tree Search]''. [[Darmstadt University of Technology|TU Darmstadt]], [https://arxiv.org/abs/1901.04274 arXiv:1901.04274]
 +
* [[Herilalaina Rakotoarison]], [[Marc Schoenauer]], [[Michèle Sebag]] ('''2019'''). ''Automated Machine Learning with Monte-Carlo Tree Search''. [https://arxiv.org/abs/1906.00170 arXiv:1906.00170]
  
 
=Forum Posts=  
 
=Forum Posts=  
Line 288: Line 302:
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61801 The scaling of Deep Learning MCTS Go engines] by [[Kai Laskos]], [[CCC]], October 23, 2016 » [[Deep Learning]], [[Go]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61801 The scaling of Deep Learning MCTS Go engines] by [[Kai Laskos]], [[CCC]], October 23, 2016 » [[Deep Learning]], [[Go]]
 
'''2017'''
 
'''2017'''
* [https://groups.google.com/forum/#!topic/fishcooking/AE4EgWQ20dY A branch to test the Monte Carlo algorithm in Stockfish] by Stephane Nicolet, [[Computer Chess Forums|FishCooking]], December 06, 2017 » [[Stockfish]], [[AlphaZero]]
+
* [https://groups.google.com/forum/#!topic/fishcooking/AE4EgWQ20dY A branch to test the Monte Carlo algorithm in Stockfish] by [[Stephane Nicolet]], [[Computer Chess Forums|FishCooking]], December 06, 2017 » [[Stockfish]], [[AlphaZero]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=65964 Nebiyu-MCTS vs TSCP 1-0] by [[Daniel Shawul]], [[CCC]], December 10, 2017 » [[Nebiyu]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=65964 Nebiyu-MCTS vs TSCP 1-0] by [[Daniel Shawul]], [[CCC]], December 10, 2017 » [[Nebiyu]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66013 An AlphaZero inspired project] by [[Truls Edvard Stokke]], [[CCC]], December 14, 2017 » [[AlphaZero]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66013 An AlphaZero inspired project] by [[Truls Edvard Stokke]], [[CCC]], December 14, 2017 » [[AlphaZero]]
Line 298: Line 312:
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66886 comparing minimax and averaging MCTS with alphabeta rollouts] by [[Daniel Shawul]], [[CCC]], March 20, 2018 » [[Scorpio]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66886 comparing minimax and averaging MCTS with alphabeta rollouts] by [[Daniel Shawul]], [[CCC]], March 20, 2018 » [[Scorpio]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=67235 MCTS beginner questions] by [[Martin Fierz]], [[CCC]], April 25, 2018
 
* [http://www.talkchess.com/forum/viewtopic.php?t=67235 MCTS beginner questions] by [[Martin Fierz]], [[CCC]], April 25, 2018
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=67302 MCTS with minmax backup operator?] by [[Martin Fierz]], [[CCC]], May 01, 2018
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67441 Komodo 12 and MCTS] by [[Larry Kaufman]], [[CCC]], May 14, 2018 » [[Komodo]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67441 Komodo 12 and MCTS] by [[Larry Kaufman]], [[CCC]], May 14, 2018 » [[Komodo]]
 
'''2019'''
 
'''2019'''
Line 304: Line 319:
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70069 Training the trainer: how is it done for Stockfish?] by [[Marc-Philippe Huget]], [[CCC]], March 01, 2019 » [[Stockfish]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70069 Training the trainer: how is it done for Stockfish?] by [[Marc-Philippe Huget]], [[CCC]], March 01, 2019 » [[Stockfish]]
 
: [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70069&start=10 Re: Training the trainer: how is it done for Stockfish?] by Graham Jones, [[CCC]], March 03, 2019 » [[Leela Chess Zero]]
 
: [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70069&start=10 Re: Training the trainer: how is it done for Stockfish?] by Graham Jones, [[CCC]], March 03, 2019 » [[Leela Chess Zero]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70596 Training using 1 playout instead of 800] by [[Daniel Shawul]], [[CCC]], April 26, 2019
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70578&start=14 Re: On-line engine blitz tourney April] by [[Rémi Coulom]], [[CCC]], April 27, 2019
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70605 Question to Remi about CrazyZero] by [[Harm Geert Muller]], [[CCC]], April 28, 2019 » [[CrazyZero]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70611 SL vs RL] by [[Chris Whittington]], [[CCC]], April 28, 2019
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71301 A question to MCTS + NN experts] by [[Maksim Korzh]], [[CCC]], July 17, 2019 » [[Deep Learning]]
 +
: [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71301&start=3 Re: A question to MCTS + NN experts] by [[Daniel Shawul]], [[CCC]], July 17, 2019
  
 
=External Links=  
 
=External Links=  
Line 316: Line 337:
 
* Monte Carlo Tree Search by [https://www.strath.ac.uk/staff/levinejohndr/ John Levine], [https://en.wikipedia.org/wiki/University_of_Strathclyde University of Strathclyde], March 05, 2017, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
 
* Monte Carlo Tree Search by [https://www.strath.ac.uk/staff/levinejohndr/ John Levine], [https://en.wikipedia.org/wiki/University_of_Strathclyde University of Strathclyde], March 05, 2017, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
 
: {{#evu:https://www.youtube.com/watch?v=UXW2yZndl7U|alignment=left|valignment=top}}
 
: {{#evu:https://www.youtube.com/watch?v=UXW2yZndl7U|alignment=left|valignment=top}}
 +
* [https://en.chessbase.com/post/monte-carlo-instead-of-alpha-beta Monte Carlo instead of Alpha-Beta?] by [[Stephan Oliver Platz]], [[ChessBase|ChessBase News]], January 30, 2019 » [[Komodo#MCTS|Komodo MCTS]]
 
==Monte Carlo Misc==
 
==Monte Carlo Misc==
 
* [http://www.chessbase.com/newsdetail.asp?newsid=5075 Rybka's Monte Carlo analysis] by [[Steve Lopez]], [[ChessBase|ChessBase News]], February 03, 2009 » [[Rybka]]
 
* [http://www.chessbase.com/newsdetail.asp?newsid=5075 Rybka's Monte Carlo analysis] by [[Steve Lopez]], [[ChessBase|ChessBase News]], February 03, 2009 » [[Rybka]]

Revision as of 10:35, 15 May 2020

Home * Search * Monte-Carlo Tree Search

Edvard Munch - At the Roulette Table in Monte Carlo [1]

Monte Carlo Tree Search, (Monte-Carlo Tree Search, MCTS)
is a Best-First search algorithm based on random playouts. In conjunction with UCT (Upper Confidence bounds applied to Trees) Monte-Carlo Tree Search has yielded in a breakthrough in Computer Go [2], and is also successful in Amazons [3] [4], Lines of Action [5], Havannah [6], Hex [7], Checkers [8] and other Games with some difficulties in position evaluation, but until December 2017, when a Google DeepMind team reported on AlphaZero [9], not for Chess [10] [11].

MCTS is based on randomized explorations of the search space. Using the results of previous explorations, the algorithm gradually grows a game tree in memory, and successively becomes better at accurately estimating the values of the most promising moves [12].

Four Phases

MCTS consists of four strategic phases, repeated as long as there is time left [13] :

  1. In the Selection phase the tree is traversed from the root node until it selects a leaf node that is not added to the tree yet
  2. The Expansion strategy adds the leaf node to the tree
  3. The Simulation strategy plays moves in self-play until the end of the game. The result is either 1, 0 ,-1
  4. The Backpropagation strategy propagates the results through the tree
MCTS (English).svg

Steps of Monte Carlo Tree Search [14]

Pure Monte-Carlo search

Pure Monte-Carlo search with parameter T means that for each feasible move T random games are generated. The move with the best average score is played. A game is called “Monte Carlo perfect” when this procedure converges to perfect play for each position, when T goes to infinity. However, with limited time per move, increasing T does not guarantee to find a better move [15].

UCT

UCT (Upper Confidence bounds applied to Trees) deals with the flaw of Monte-Carlo Tree Search, when a program may favor a losing move with only one or a few forced refutations, but due to the vast majority of other moves provides a better random playout score than other, better moves [16].

See also

Publications

1987

1990 ...

2000 ...

2005 ...

2006

2007

2008

2009

2010 ...

2011

2012

2013

2014

2015 ...

2016

2017

2018

2019

Forum Posts

2010 ...

2015 ...

2017

2018

2019

Re: Training the trainer: how is it done for Stockfish? by Graham Jones, CCC, March 03, 2019 » Leela Chess Zero
Re: A question to MCTS + NN experts by Daniel Shawul, CCC, July 17, 2019

External Links

Monte Carlo Tree Search

GitHub - suragnair/alpha-zero-general: A clean and simple implementation of a self-play learning algorithm based on AlphaGo Zero (any game, any framework!)

Monte Carlo Misc

Monte Carlo algorithm
Monte Carlo method
Monte Carlo
Monte Carlo Casino
feat. Raúl Midón, Roy Hargrove and the Monte-Carlo Philharmonic Orchestra, November 29, 2008, Monte-Carlo Jazz Festival

References

  1. Edvard Munch, At the Roulette Table in Monte Carlo, 1893, Edvard Munch from Wikipedia
  2. Rémi Coulom (2009). The Monte-Carlo Revolution in Go. JFFoS'2008: Japanese-French Frontiers of Science Symposium, slides as pdf
  3. Julien Kloetzer, Hiroyuki Iida, Bruno Bouzy (2007). The Monte-Carlo approach in Amazons. CGW 2007
  4. Richard J. Lorentz (2008). Amazons Discover Monte-Carlo. CG 2008
  5. Mark Winands, Yngvi Björnsson (2009). Evaluation Function Based Monte-Carlo LOA. pdf
  6. Richard J. Lorentz (2010). Improving Monte-Carlo Tree Search in Havannah. CG 2010
  7. Broderick Arneson, Ryan Hayward, Philip Henderson (2010). Monte Carlo Tree Search in Hex. IEEE Transactions on Computational Intelligence and AI in Games, Vol. 2, No. 4, pdf
  8. UCT surprise for checkers ! by Daniel Shawul, CCC, March 25, 2011
  9. David Silver, Thomas Hubert, Julian Schrittwieser, Ioannis Antonoglou, Matthew Lai, Arthur Guez, Marc Lanctot, Laurent Sifre, Dharshan Kumaran, Thore Graepel, Timothy Lillicrap, Karen Simonyan, Demis Hassabis (2017). Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm. arXiv:1712.01815
  10. Raghuram Ramanujan, Ashish Sabharwal, Bart Selman (2010). On Adversarial Search Spaces and Sampling-Based Planning. ICAPS 2010
  11. Oleg Arenz (2012). Monte Carlo Chess. B.Sc. thesis, Darmstadt University of Technology, advisor Johannes Fürnkranz, pdf
  12. Guillaume Chaslot, Mark Winands, Jaap van den Herik (2008). Parallel Monte-Carlo Tree Search. CG 2008, pdf
  13. Guillaume Chaslot, Mark Winands, Jaap van den Herik (2008). Parallel Monte-Carlo Tree Search. CG 2008, pdf
  14. Steps of Monte-Carlo Tree Search by Mciura, March 31, 2013, Wikimedia Commons, Monte Carlo tree search from Wikipedia
  15. Ingo Althöfer (2011). On Board-Filling Games with Random-Turn Order and Monte Carlo Perfectness. Advances in Computer Games 13
  16. Levente Kocsis, Csaba Szepesvári (2006). Bandit based Monte-Carlo Planning ECML-06, LNCS/LNAI 4212, pp. 282-293. introducing UCT, pdf
  17. Morpion solitaire from Wikipedia
  18. Jeff Rollason (2015). Mixing the Immiscible - MCTS and evaluation. AI Factory, October 2015
  19. Monte Carlo in LOA by Mark Watkins, Open Chess Forum, December 30, 2010
  20. The Settlers of Catan from Wikipedia
  21. Blokus Duo from Wikipedia
  22. Search traps in MCTS and chess by Daniel Shawul, CCC, December 25, 2017
  23. NoGo (ICGA Tournaments)
  24. Ms. Pac-Man from Wikipedia
  25. Value of information (VOI) from Wikipedia
  26. Scotland Yard (board game) from Wikipedia
  27. Morpion solitaire from Wikipedia
  28. Morpion Solitaire - Record Grids (5T game)
  29. Re: MC methods by Daniel Shawul, CCC, April 13, 2013
  30. Crossings from Wikipedia
  31. Epaminondas from Wikipedia
  32. 7 Wonders (board game) from WIkipedia
  33. Guillaume Chaslot, Mark Winands, Jos Uiterwijk, Jaap van den Herik, Bruno Bouzy (2008). Progressive Strategies for Monte-Carlo Tree Search. New Mathematics and Natural Computation, Vol. 4, No. 3, pdf
  34. Dap Hartmann (2017). Let's Catch the Train to Monte-Carlo. ICGA Journal, Vol. 39, No. 1
  35. Re: Minmax backup operator for MCTS by Brahim Hamadicharef, CCC, December 30, 2017
  36. Re: Announcing lczero by Daniel Shawul, CCC, January 21, 2018 » Leela Chess Zero
  37. GitHub - suragnair/alpha-zero-general: A clean and simple implementation of a self-play learning algorithm based on AlphaGo Zero (any game, any framework!)
  38. "Exact-Win Strategy for Overcoming AlphaZero" · Issue #799 · LeelaChessZero/lc0 · GitHub
  39. GitHub - dkappe/leela_lite: A toolkit for experimenting with UCT and Leela Chess nets in Python by Dietrich Kappe
  40. A Simple Alpha(Go) Zero Tutorial by Oliver Roese, CCC, December 30, 2017
  41. David Silver, Gerald Tesauro (2009). Monte-Carlo Simulation Balancing. ICML 2009, pdf

Up one level