aboutsummaryrefslogtreecommitdiff
path: root/.gitignore
AgeCommit message (Collapse)Author
2026-09-11move from single candidate td-leaf with gating to tournament of a populationtslil
The goal in this change was to overcome the rock-paper-scissors phenomenon that was happening in capability space by having on a single candidate learn to beat the most recent version of itself. In some sense this lead to rotating around in capability space instead of chasing monotonic improvements. I hope that flipping to a system in which many (N=5) candidates play each other and learn from their own set of diverse games in this pool, combined with --replay-iters, will lead to a given network having to have a much more comprehensive understanding of the space of tactics. I haven't yet had time to train this thorougly, will run those experiments on my desktop computer.
2026-09-02TD(lambda), and a big reworktslil
NOTE: 6x6 weights are as-yet untrained On the performance side: * switch from linked-list chaining hash table to direct mapping * cache check_win by hash * persist transposition tables across plies (this was a big deal and difficult to puzzle out) * add align directives to the network floats * prepare_nn_input gained a small LUT to avoid branching (i suppose you might call this 1D embedding) * apply mtune=native for the native builds On the correctness side: * Zobrist has now includes the ply parity * the network now predicts something in [-1, 1] using tanh (approximated by polynomials) * the training object is now MSE because we're learning a value estimate * use .clangd instead of compile_commands.json On the training side: * completely forgo human-derived data set * implement td(lambda), self-play, tournaments
2026-05-05fix longstanding negamax bugtslil
we needed to be saving the alpha before the search loop in which we modified it. At this point, though i can't remember, i expect that this is the cause of whatever "instability" the comment was talking about that would have prevented us from using >= in the TT lookup.
2023-01-15new neural network arch (faster + better) & minor changes + fixestslil clingman
Gone is the convolutional neural network, for it turns out not only is it more difficult to train, but all of the extra information about board layers didn't make much of a difference at this size. So cnn1986 has been replaced by nn1986, a standard, two-layer, dense nn configured as a binary classifier and (mis)used in that capacity. Note: total number of parameters is unchanged. HARK: this new nn exposes a bug somewhere in ctak. Run ctlm with self-play to see the completely borked board state at the end.
2021-02-05Renamed binariestslil clingman
2021-02-05TEI interface working!tslil clingman
2021-01-18First steps towards character LCDtslil clingman
2021-01-18Getting ready for cross compilationtslil clingman
2021-01-17Revert "Starting work on MCU port"tslil clingman
This reverts commit 43eec01361eb6174142180c29afef960e041514e.
2021-01-17Starting work on MCU porttslil clingman
2021-01-04Fixed indentation and some bugs, stats programmetslil
2021-01-01Ignore training data for nowtslil
2020-12-22Inittslil