Moonbird is a superhuman Ataxx engine. It supports the Universal Ataxx Interface (UAI), so it can be used with any Ataxx tools or GUIs that support this protocol, such as AtaxxGUI or Cuteataxx. Moonbird is written in the programming language Nim, a modern compiled systems language.
Moonbird uses the alpha-beta search algorithm with modifications such as move ordering, transposition table, nullmove pruning, principal variation search, late move and futility reductions, and aspiration windows. The evaluation function uses large tables of 4x2 and 2x4 tuples that are tuned using stochastic gradient descent.
You need Nim 2.0 or newer. You also need the threadpool library malebolgia:
nimble install malebolgia@1.3.2
nim native Moonbird
nim default Moonbird
nimble install malebolgia@1.3.2
# Arguments are: sampleGameSearchNodes targetTrainingSamples useOnlyHalfCPU
nim genData --run Moonbird 6_000 50_000_000 false
nim sprt --run Moonbird
nim tuneEvalParams --run Moonbird
nim runWeatherFactory --run Moonbird
./run_tests.sh