Skip to content

MzingaEngine

Jon Thysell edited this page Jul 14, 2022 · 6 revisions

MzingaEngine is Mzinga's engine, a command-line application through which you can play a game of Hive. It accepts input commands and outputs results according to the specifications of the Universal Hive Protocol.

MzingaEngine is the reference Engine for the Universal Hive Protocol, and any questions about how a UHP Engine should behave can often be answered by mimicking its behavior.

Options

MzingaEngine has the following options to affect its operation. The defaults are set to provide a decent balance of AI strength and CPU/memory usage. Changing these values may affect AI strength, but may also affect the program's strain on your computer's resources.

Option Type Default Possible Values Description
Max Branching Factor int 256 1 - 512 The maximum number of moves for the AI to evaluate on each turn. Reducing this number can allow the AI to search more moves the future at the risk of potentially skipping good moves in any given board position.
Max Helper Threads enum Auto None, 1 , ... The number of extra CPU threads the AI should use to search the board position for the best move, in parallel with the primary search. Auto tries to balance using enough CPU to improve the AI without straining your computer.
Ponder During Idle enum SingleThreaded Disabled, SingleThreaded, MultiThreaded Whether the AI should "ponder", i.e. keep idly searching for best moves in the background when nothing else is happening. SingleThreaded means the pondering occurs with no helper threads, while MultiThreaded means enabling pondering with helper threads.
Quiescent Search Max Depth int 6 0 - 12 The maximum number of extra turns to search at the "end" of a best move search to particular depth, in order to find a "quiet" position.
Report Intermediate Best Moves bool False True, False When actively searching for the best move (not pondering), whether or not the AI should regularly report the best moves it has found so far, before returning the final result. This can allow a Viewer (and the player) to "see" what the AI is thinking.
Transposition Table Size MB int 32 0 - 1024 The fixed size of the transposition table, which represents the AI's memory of the best moves at each board position. More results can be stored by increasing this number, but typically provides diminishing returns as the AI wastes memory remembering board positions that the game will never return to.
Use Null Aspiration Window bool True True, False Whether or not to enable the use of "Null Aspiration Windows" while searching for the best move.
Clone this wiki locally