Skip to content

Monte Carlo Tree Search with UCT with a couple of example games.

Notifications You must be signed in to change notification settings

nathanaelg/monte-carlo-tree-search

 
 

Repository files navigation

Build Status

This library is still very experimental. The search algorithm is quite fast and seems to work pretty well, but the Go engine is too slow to be useful. The other games work well.

Features

  • Multi-core computation (root parallelization [1]).
  • Available games:
    • Go (with Cinder)
    • Connect four (text-based)
    • Nim (text-based)

Build Status

Requirements

  • C++11, nothing else, for the actual search algorithm.
  • CMake is useful for building.
  • If the compiler support OpenMP it will be used for timing.
  • A graphical Go game is available if Cinder is found.

Performance

I evaluate performance when computing the first move for connect-four on an 8-core computer. With Visual Studio 2012 (64-bit), I get 1.7 million complete games per second.

References

  1. Chaslot, G. M. B., Winands, M. H., & van Den Herik, H. J. (2008). Parallel monte-carlo tree search. In Computers and Games (pp. 60-71). Springer Berlin Heidelberg.

About

Monte Carlo Tree Search with UCT with a couple of example games.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 84.4%
  • C 15.6%