This project aims to build a bot that can play a symmetric mnk-Game at a high level.
- Search
- Principal Variation Search (PVS)
- Reverse Futility Pruning (RFP)
- Transposition Table
- Null Move Pruning (NMP)
- Internal Iterative Reduction (IIR)
- Move generation
- Bitboards
- Move order
- Hash moves
- Killer moves
- Central Bonus
There are two kinds of testing in this project.
This is the main testing platform to test functional and non-functional changes to the engine. It uses an SPRT test.
Unit tests are used to verify that the board is working and some basic search verification.
- GUI for the SPRT test
- Finish the SPSA algorithm