aboutsummaryrefslogtreecommitdiff
path: root/src/player.rs
Commit message (Collapse)AuthorAgeFilesLines
* feat: Colour the game result and show scores to 5 significant figuresDylan17 hours1-1/+38
| | | | | | | | The game-over line is bold green for a win, naming the winning player, and bold yellow for a draw. The last-turn panel shows a minimax player's score to 5 significant figures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: Draw by threefold repetitionDylan18 hours1-20/+112
| | | | | | | | | | A position coming up for the third time with the same side to move ends the game as a draw, in the TUI and in training self-play. Players now get the game's earlier boards in pick_move, and the search scores the first repetition on its path as a draw, so a side that is ahead avoids one and a side that is behind seeks one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: Neural network opponent trained by self-playDylan5 days1-11/+16
| | | | | | | | | | | | | - NeuralPlayer: a MinimaxPlayer that scores positions with a small MLP (network.rs, hand-written backprop and Adam, no new dependencies) - train subcommand: self-play with TD(lambda) targets, cut at random exploration moves so sheep blunders don't bias the net towards tigers - neural subcommand: play against a trained network - evaluate now gets the side to move - Board symmetries; the search cache keys by the canonical board, which halves the depth-9 bench time with identical moves and scores Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: OptimisationDylan2026-10-231-32/+366
| | | | Added benchmarking capabilities
* feat: More improvements to UIDylan2026-10-231-3/+51
|
* feat: Improvements to UIDylan2026-10-221-8/+69
| | | | Now uses ratatui
* feat: Initial commitDylan2026-10-191-0/+420
What works: - Minimax search - With a simple player claude designed - Manual player - Move generation - Board display What needs improvement: - Manual player - Game coordinator - Draw checking - Nix setup