Donut is a Chess Engine developed in C++ and based on the UCI format.
It uses the Negamax Algorithm along with Alpha-Beta Pruning and many other optimization techniques to search
the best move in a given position.
More specifically, Donut implements:
- Opening Book
- Iterative Deepening
- Quiescence Search
- Killer Heuristic
- History Heuristic
- Principal Variation Search
- Late Move Reductions
- Null Move Pruning
- Razoring
- Aspiration Windows
- Transposition Table
To evaluate
the position, Donut uses Stockfish's NNUE in order to increase the performance:
- Big Net: nn-b1a57edbea57.nnue
- Small Net: nn-baff1ede1f90.nnue
The main steps to use the engine are:
- Compile with the
Makefile
:
make
- Run the compiled file:
./donut