C++ library for AI bot programming.
- Specify game rules by subclassing
State
andMove
. - Choose AI algorithm (
Minimax
,MonteCarloTreeSearch
), play by yourself (Human
) or against external program (Executable
). - Read the game state, pass it to algorithm and output the move. For local, statistically significant tests, use
Tester
.
- Tic Tac Toe - game rules, code example.
- NegaScout with iterative deepening and transposition table.
- Monte Carlo tree search with UCT.
Execute below commands in the cpp
directory.
make
builds everything.make test
runs unit tests.make valgrind
runs valgrind's memory leak tests.make play_isola
plays a game of Isola between two bots.
For all the commands check Makefile
file.
- To build and run unit tests,
g++-4.8
andlibboost-all-dev
packages are needed. - To run valgrind,
valgrind
package is needed. - To make GIFs,
imagemagick
package is needed.
You can install all of them with sudo apt-get install g++-4.8 libboost-all-dev valgrind imagemagick
.
- Correctness.
- Compliance with environment typical for competitions. One file submission, compiled with one invocation of
g++
. - Performance.
Suggestions welcome on Issues. Pull requests too.
I'm transferring £50 to anybody who reports an actual bug.