A Lock-Free Multithreaded Monte-Carlo Tree Search Algorithm

With the recent success of Monte-Carlo tree search algorithms in Go and other games, and the increasing number of cores in standard CPUs, the efficient parallelization of the search has become an important issue. We present a new lock-free parallel algorithm for Monte-Carlo tree search which takes advantage of the memory model of the IA-32 and Intel-64 CPU architectures and intentionally ignores rare faulty updates of node values. We show that this algorithm significantly improves the scalability of the Fuego Go program.

[1]  Rémi Coulom,et al.  Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search , 2006, Computers and Games.

[2]  Ryan B. Hayward,et al.  WOLVE 2008 WINS HEX TOURNAMENT , 2009 .

[3]  Ryan B. Hayward,et al.  Wolve Wins Hex Tournament , 2008 .

[4]  Ikuo Takeuchi,et al.  Parallel Monte-Carlo Tree Search with Simulation Servers , 2010, 2010 International Conference on Technologies and Applications of Artificial Intelligence.

[5]  Martin Müller,et al.  Fuego—An Open-Source Framework for Board Games and Go Engine Based on Monte Carlo Tree Search , 2010, IEEE Transactions on Computational Intelligence and AI in Games.

[6]  Nicolas Jouandeau,et al.  A Parallel Monte-Carlo Tree Search Algorithm , 2008, Computers and Games.

[7]  Olivier Teytaud,et al.  On the Parallelization of Monte-Carlo planning , 2008, ICINCO 2008.

[8]  No License,et al.  Intel ® 64 and IA-32 Architectures Software Developer ’ s Manual Volume 3 A : System Programming Guide , Part 1 , 2006 .

[9]  T. Cazenave,et al.  On the Parallelization of UCT , 2007 .

[10]  H. Jaap van den Herik,et al.  Parallel Monte-Carlo Tree Search , 2008, Computers and Games.

[11]  Zongmin Ma,et al.  Computers and Games , 2008, Lecture Notes in Computer Science.