UCI Chess Engine (work-in-progress)
- Hybrid bitboard & mailbox board representation
- Magic bitboard move generation
- Negamax search with alpha-beta pruning
- Iterative deepening
- Quiescence search
- Transposition table (Zobrist hashing)
- Late move reductions
- Null-move pruning
- Futility pruning
- Killer moves & history heuristic move ordering
- Lazy SMP multi-threaded search (UCI
Threadsoption), shared transposition table with lock-striped concurrent access - NNUE Evaluation, (768->256)x2->1 architecture, vertical mirroring, trained with PyTorch
- Previously: evaluation using material counting + piece-square tables
- Self-play data generation for iterative fine-tuning
The engine itself has no external dependencies besides Go 1.22.x, so it should just work.
make run