PACHI: State of the Art Open Source Go Program

  • Petr Baudiš
  • Jean-loup Gailly
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7168)


We present a state of the art implementation of the Monte Carlo Tree Search algorithm for the game of Go. Our Pachi software is currently one of the strongest open source Go programs, competing at the top level with other programs and playing evenly against advanced human players. We describe our implementation and choice of published algorithms as well as three notable original improvements: (1) an adaptive time control algorithm, (2) dynamic komi, and (3) the usage of the criticality statistic. We also present new methods to achieve efficient scaling both in terms of multiple threads and multiple machines in a cluster.


Single Machine Game Tree Criticality Statistic Main Time Fate Graph 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baudiš, P.: Balancing MCTS by dynamically adjusting komi value. ICGA Journal (in review)Google Scholar
  2. 2.
    Baudiš, P.: Information Sharing in MCTS. Master’s thesis, Faculty of Mathematics and Physics, Charles University Prague (2011)Google Scholar
  3. 3.
    Bourki, A., Chaslot, G., Coulm, M., Danjean, V., Doghmen, H., Hoock, J.-B., Hérault, T., Rimmel, A., Teytaud, F., Teytaud, O., Vayssière, P., Yu, Z.: Scalability and Parallelization of Monte-Carlo Tree Search. In: van den Herik, H.J., Iida, H., Plaat, A. (eds.) CG 2010. LNCS, vol. 6515, pp. 48–58. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Bump, D., Farneback, G., Bayer, A., et al.: GNU Go,
  5. 5.
    Chaslot, G., Fiter, C., Hoock, J.-B., Rimmel, A., Teytaud, O.: Adding Expert Knowledge and Exploration in Monte-Carlo Tree Search. In: van den Herik, H.J., Spronck, P. (eds.) ACG 2009. LNCS, vol. 6048, pp. 1–13. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Chaslot, G.M.J.-B., Winands, M.H.M., van den Herik, H.J.: Parallel Monte-Carlo Tree Search. In: van den Herik, H.J., Xu, X., Ma, Z., Winands, M.H.M. (eds.) CG 2008. LNCS, vol. 5131, pp. 60–71. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Chaslot, G., Winands, M., van den Herik, H.J., Uiterwijk, J., Bouzy, B.: Progressive strategies for Monte-Carlo Tree Search. In: Joint Conference on Information Sciences, Salt Lake City 2007, Heuristic Search and Computer Game Playing Session (2007),
  8. 8.
    Coulom, R.: Criticality: a Monte-Carlo heuristic for Go programs. University of Electro-Communications, Tokyo, Japan (2009), Invited talk,
  9. 9.
    Enzenberger, M., Müller, M., Arneson, B., Segal, R.: Fuego — an open-source framework for board games and Go engine based on Monte-Carlo Tree Search. IEEE Transactions on Computational Intelligence and AI in Games 2(4), 259–270 (2010)CrossRefGoogle Scholar
  10. 10.
    European Go Federation: European Go Congress 2011 in Bordeaux, Computer Go (2011),
  11. 11.
    Free Software Foundation: GNU General public licence (1991),
  12. 12.
    Gelly, S., Wang, Y., Munos, R., Teytaud, O.: Modification of UCT with Patterns in Monte-Carlo Go. Research Report RR-6062, INRIA (2006),
  13. 13.
    Graepel, T., Goutrié, M., Krüger, M., Herbrich, R.: Learning on Graphs in the Game of Go. In: Dorffner, G., Bischof, H., Hornik, K. (eds.) ICANN 2001. LNCS, vol. 2130, pp. 347–352. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Huang, S.C., Coulom, R., Lin, S.S.: Time management for monte-carlo tree search applied to the game of go. In: 2010 International Conference on Technologies and Applications of Artificial Intelligence (TAAI), pp. 462–466 (November 2010)Google Scholar
  15. 15.
    Lew, Ł.: libEGO — Library of effective Go routines,
  16. 16.
    National University of Taiwan: Human vs. Computer Go competition. In: SSCI 2011 Symposium Series on Computational Intelligence (2011),
  17. 17.
    Odom, G., Ay, A., Verstraeten, S., Dinerstein, A.: Kogo’s joseki dictionary,
  18. 18.
    Pellegrino, S., Hubbard, A., Galbraith, J., Drake, P., Chen, Y.P.: Localizing search in Monte-Carlo Go using statistical covariance. ICGA Journal 32(3), 154–160 (2009)Google Scholar
  19. 19.
    Schubert, W.: KGS Go Server,
  20. 20.
    Segal, R.: On the Scalability of Parallel UCT. In: van den Herik, H.J., Iida, H., Plaat, A. (eds.) CG 2010. LNCS, vol. 6515, pp. 36–47. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  21. 21.
  22. 22.
    Wedd, N.: Computer Go tournaments on KGS (2005-2011),
  23. 23.
    Yoshizoe, K., Kishimoto, A., Kaneko, T., Yoshimoto, H., Ishikawa, Y.: Scalable distributed Monte-Carlo Tree Search. In: Borrajo, D., Likhachev, M., Lopez, C.L. (eds.) SOCS, pp. 180–187. AAAI Press (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Petr Baudiš
    • 1
  • Jean-loup Gailly
    • 1
  1. 1.Faculty of Mathematics and PhysicsCharles University PragueCzech Republic

Personalised recommendations