<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ctak/include/xorshift64.c, branch hybrid_rootstrap</title>
<subtitle>An implementation of Tak and a computer opponent in C</subtitle>
<id>https://git.l-3.space/ctak/atom/include/xorshift64.c?h=hybrid_rootstrap</id>
<link rel='self' href='https://git.l-3.space/ctak/atom/include/xorshift64.c?h=hybrid_rootstrap'/>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/'/>
<updated>2026-09-02T11:13:01Z</updated>
<entry>
<title>TD(lambda), and a big rework</title>
<updated>2026-09-02T11:13:01Z</updated>
<author>
<name>tslil</name>
<email>tslil@posteo.de</email>
</author>
<published>2026-08-30T18:46:07Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=241156da6f35cb888253e6b8814e7b61a76b4fc7'/>
<id>urn:sha1:241156da6f35cb888253e6b8814e7b61a76b4fc7</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Welcome geminict!</title>
<updated>2021-10-05T22:23:32Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-10-05T22:22:23Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=c9fa20b590de94a9ddb408e277065a117b16570b'/>
<id>urn:sha1:c9fa20b590de94a9ddb408e277065a117b16570b</id>
<content type='text'>
This is a special interface to negamax_cnn1986 which is designed to
generate output for use in a CGI tak interface to be used over gemini.

Also in this commit is a reformating of the various source files to
use the traditional tab width of 8 spaces.
</content>
</entry>
<entry>
<title>Fix copyright notice in files, and small preemptive optimisation</title>
<updated>2021-03-28T04:19:05Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-03-28T04:19:05Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=b8a88e53aa2a933d39777ba435a6cad9f5c42428'/>
<id>urn:sha1:b8a88e53aa2a933d39777ba435a6cad9f5c42428</id>
<content type='text'>
Eventually there'll be a more complicated data generation step than
the one we're presently using, so having it in-lined in the loop is
wasteful. Ideally also this would be update per ply and we could avoid
recalculating it entirely for every query -- though it's probably
``fast enough'' for now. Also, caching is WIP.
</content>
</entry>
<entry>
<title>Rename ct_k -&gt; ct, IANAL but ...</title>
<updated>2021-02-05T21:49:14Z</updated>
<author>
<name>tslil</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-02-05T21:49:14Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=5c8e082276a24b9f266396874d3e72c05990a3df'/>
<id>urn:sha1:5c8e082276a24b9f266396874d3e72c05990a3df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added license information!</title>
<updated>2021-01-29T02:30:30Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-01-29T02:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=e8fd4e0fd0056c3f91d9b773f5e727614b0c2638'/>
<id>urn:sha1:e8fd4e0fd0056c3f91d9b773f5e727614b0c2638</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Hash collisions</title>
<updated>2021-01-24T01:48:34Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-01-24T01:48:34Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=d16cdbd9b8a9a8b364c59858f94b695266b62f4d'/>
<id>urn:sha1:d16cdbd9b8a9a8b364c59858f94b695266b62f4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Attempting Zobrist hashing</title>
<updated>2021-01-23T23:20:05Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-01-23T23:20:05Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=50678edd7ed39049902bedeb57c8044c7375e126'/>
<id>urn:sha1:50678edd7ed39049902bedeb57c8044c7375e126</id>
<content type='text'>
</content>
</entry>
</feed>
