| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
-S and -T already accept a weights file, so the neural subcommand was
only a shorthand for one of them. Update the README and CLAUDE.md to
show the play form instead.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
Players are now chosen with --sheep/-S and --tiger/-T (human, claude or a
weights file) and --time/-t, instead of by editing main.rs. Every training
setting is a train option, and --help covers all commands.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- train --from <weights> starts from any saved network; without it,
training still carries on from the out dir's newest generation
- Each epoch takes as many positions from sheep-win games as from
tiger-win games (Config::balance_outcomes, on by default)
- Training output shows the error on tiger-win and sheep-win positions
separately, before and after training
- Fix a broken sentence in CLAUDE.md's cache description
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
| |
|
|
| |
Added benchmarking capabilities
|
| | |
|
| |
|
|
| |
Now uses ratatui
|
|
|
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
|