aboutsummaryrefslogtreecommitdiff
path: root/src/network.rs
Commit message (Collapse)AuthorAgeFilesLines
* feat: Multi-threaded training; play matches every 10 generationsDylan18 hours1-3/+85
| | | | | | | | | | | | Gradients and losses are computed on rayon's pool in fixed-size chunks summed in order, so the weights are the same on any number of threads. Self-play uses the same pool, and the output shows the training time. The matches against the earlier network and ClaudePlayer now run only every --match-every generations (default 10), against the generation that last played them, read back from its saved file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat: Neural network opponent trained by self-playDylan5 days1-0/+425
- 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>