My 2019 NEA project: a hybrid chess engine using CNNs as policy and value functions. Trained on Stockfish evaluations from lichess anti-cheat system. Inspired by AlphaZero and Lc0. Three search algorithms implemented - custom MCTS, minimax and custom 'U-search' algorithm.
Write-up: [Google doc link]
Setup:
- Create virtual environment:
uv venv - Activate virtual environment:
source .venv/bin/activate(Linux/macOS) or.venv\Scripts\activate(Windows) - Install dependencies:
uv pip install -r pyproject.toml
Run:
python main.py