ABSTRACT
Parallelisation of computationally expensive algorithms, such as Monte-Carlo Tree Search (MCTS), has become increasingly important in order to increase algorithm performance by making use of commonplace parallel hardware.
Oakfoam, an MCTS-based Computer Go player, was extended to support parallel processing on multi-core and cluster systems. This was done using tree parallelisation for multi-core systems and root parallelisation for cluster systems.
Multi-core parallelisation scaled linearly on the tested hardware on 9x9 and 19x19 boards when using the virtual loss modification. Cluster parallelisation showed poor results on 9x9 boards, but scaled well on 19x19 boards, where it achieved a four-node ideal strength increase on eight nodes.
Due to this work, Oakfoam is currently one of only two open-source MCTS-based Computer Go players with cluster parallelisation, and the only one using the Message Passing Interface (MPI) standard.
- K. Asanovic, R. Bodik, B. C. Catanzaro, J. J. Gebis, P. Husbands, K. Keutzer, D. A. Patterson, W. L. Plishker, J. Shalf, S. W. Williams, and K. A. Yelick, "The landscape of parallel computing research: A view from Berkeley," tech. rep., University of California at Berkeley, 2006.Google Scholar
- B. Brügmann, "Monte Carlo Go," tech. rep., Max-Planck-Institute of Physics, 1993.Google Scholar
- L. Kocsis and C. Szepesvári, "Bandit based Monte-Carlo Planning," Machine Learning: ECML 2006, pp. 282--293, 2006. Google ScholarDigital Library
- A. Rimmel, O. Teytaud, C.-S. Lee, S.-J. Yen, M.-H. Wang, and S.-R. Tsai, "Current Frontiers in Computer Go," IEEE Symposium on Computational Intelligence and AI in Games, vol. 2, no. 4, pp. 229--238, 2010.Google Scholar
- C. Browne, E. Powley, D. Whitehouse, S. Lucas, P. I. Cowling, P. Rohlfshagen, S. Tavener, D. Perez, S. Samothrakis, and S. Colton, "A Survey of Monte Carlo Tree Search Methods," IEEE Transactions on Computational Intelligence and AI in Games, vol. 4, no. 1, pp. 1--49, 2012.Google ScholarCross Ref
- K. Baker, The Way to Go. American Go Foundation, 1986.Google Scholar
- C. Garlock, "Michael Redmond on studying, improving your game and how the pros train." http://www.usgo.org/news/2010/06/michael-redmond-on-studying-improving-your-game-and-how-the-pros-train/, accessed on 2011-10-23, 2010.Google Scholar
- R. A. Hearn, Games, Puzzles, and Computation. PhD thesis, Massachusetts Institute of Technology, 2006. Google ScholarDigital Library
- "Reading." Sensei's Library, http://senseis.xmp.net/?Reading, accessed on 2011-10-23.Google Scholar
- N. J. Nilsson, Principles of Artificial Intelligence. Tioga Publishing Company, 1980. Google ScholarDigital Library
- B. Bouzy and T. Cazenave, "Computer Go: An AI oriented survey," Artificial Intelligence, vol. 132, pp. 39--103, Oct. 2001. Google ScholarDigital Library
- N. Metropolis and S. Ulam, "The Monte Carlo Method," Journal of the American Statistical Association, vol. 44, no. 247, pp. 335--341, 1949.Google ScholarCross Ref
- B. Bouzy and B. Helmstetter, "Monte-Carlo Go Developments," in Advances in Computer Games, 2003.Google Scholar
- J. Méhat and T. Cazenave, "Combining UCT and Nested Monte Carlo Search for Single-Player General Game Playing," IEEE Transactions on Computational Intelligence and AI in Games, vol. 2, no. 4, pp. 271--277, 2010.Google ScholarCross Ref
- G. M. J.-B. Chaslot, Monte-Carlo Tree Search. PhD thesis, Maastricht University, 2010.Google Scholar
- R. Segal, "On the Scalability of Parallel UCT," in Computers and Games, pp. 36--47, Springer, 2011. Google ScholarDigital Library
- G. M. J.-B. Chaslot, M. H. M. Winands, and H. van den Herik, "Parallel Monte-Carlo Tree Search," Computers and Games, pp. 60--71, 2008. Google ScholarDigital Library
- S. Gelly and Y. Wang, "Exploration Exploitation in Go: UCT for Monte-Carlo Go," in NIPS Conference On-line trading of Exploration and Exploitation Workshop, 2006.Google Scholar
- M. Enzenberger and M. Müller, "A Lock-free Multithreaded Monte-Carlo Tree Search Algorithm," Advances in Computer Games, pp. 14--20, 2010. Google ScholarDigital Library
- H. Kato and I. Takeuchi, "Parallel Monte-Carlo Tree Search with Simulation Servers," 13th Game Programming Workshop (GPW-08), 2008.Google Scholar
- A. Bourki, G. M. J.-B. Chaslot, M. Coulm, V. Danjean, H. Doghmen, J.-B. Hoock, T. Hérault, A. Rimmel, F. Teytaud, O. Teytaud, P. Vayssiere, and Z. Yu, "Scalability and Parallelization of Monte-Carlo Tree Search," in Computers and Games, pp. 48--58, Springer, 2010. Google ScholarDigital Library
- "Oakfoam." http://bitbucket.org/francoisvn/oakfoam.Google Scholar
- F. Van Niekerk, MCTS Parallelisation. Engineering final year project, Stellenbosch University, 2011.Google Scholar
- "Boost C++ libraries." http://www.boost.org/.Google Scholar
- K. Rocki and R. Suda, "Massively Parallel Monte Carlo Tree Search," in VECPAR 2010, 9th International Meeting High Performance Computing for Computational Science, 2010.Google Scholar
- J. Kepner, "Parallel programming with MatlabMPI." http://www.ll.mit.edu/mission/isr/matlabmpi/matlabmpi.html, accessed on 2011-10-23.Google Scholar
- "Open MPI: Open source high performance computing." http://www.open-mpi.org/, accessed on 2011-10-23.Google Scholar
- "Open MPI: FAQ." http://www.open-mpi.org/faq, accessed on 2011-10-23.Google Scholar
- A. Zobrist, "A new hashing method with application for game playing," ICGA Journal, vol. 13, no. 2, pp. 69--73, 1970.Google ScholarCross Ref
- M. Woodcraft, "Gomill tool suite." http://mjw.woodcraft.me.uk/gomill/.Google Scholar
- "Rhasatsha cluster." http://www.sun.ac.za/hpc.Google Scholar
Index Terms
- Monte-Carlo tree search parallelisation for computer go
Recommendations
Parallel Monte-Carlo Tree Search
CG '08: Proceedings of the 6th international conference on Computers and GamesMonte-Carlo Tree Search (MCTS) is a new best-first search method that started a revolution in the field of Computer Go. Parallelizing MCTS is an important way to increase the strength of any Go program. In this article, we discuss three parallelization ...
Parallel Monte-Carlo tree search for HPC systems
Euro-Par'11: Proceedings of the 17th international conference on Parallel processing - Volume Part IIMonte-Carlo Tree Search (MCTS) is a simulation-based search method that brought about great success to applications such as Computer-Go in the past few years. The power of MCTS strongly depends on the number of simulations computed per time unit and the ...
Parallel Monte Carlo Tree Search from Multi-core to Many-core Processors
TRUSTCOM-BIGDATASE-ISPA '15: Proceedings of the 2015 IEEE Trustcom/BigDataSE/ISPA - Volume 03In recent years there has been much interest in the MCTS algorithm, a new, adaptive, randomized optimization algorithm. In fields as diverse as Artificial Intelligence, Operations Research, and High Energy Physics, research has established that MCTS can ...
Comments