Summary
Add support for a basic opening book to guide the engine in early moves.
Motivation
An opening book improves early-game play and can speed training/evaluation by avoiding random early-game noise.
Acceptance criteria / Definition of Done
- Add an
opening_book module that:
- Loads a simple book format (JSON / polyglot) placed under
data/openings/.
- Provides a function
get_book_move(board) that returns a move if available.
- Engine consults the opening book for the first N plies (configurable).
- Document how to add / update the opening book and include a small sample book.
Implementation notes
- Start with a simple JSON mapping
fen -> [move1, move2, ...] or a tiny polyglot file.
- Keep usage optional (configurable from
config.yaml).
Complexity
Medium — straightforward but requires careful integration.
Summary
Add support for a basic opening book to guide the engine in early moves.
Motivation
An opening book improves early-game play and can speed training/evaluation by avoiding random early-game noise.
Acceptance criteria / Definition of Done
opening_bookmodule that:data/openings/.get_book_move(board)that returns a move if available.Implementation notes
fen -> [move1, move2, ...]or a tiny polyglot file.config.yaml).Complexity
Medium — straightforward but requires careful integration.