<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ctak/include/actions.c, branch lazy_queue</title>
<subtitle>An implementation of Tak and a computer opponent in C</subtitle>
<id>https://git.l-3.space/ctak/atom?h=lazy_queue</id>
<link rel='self' href='https://git.l-3.space/ctak/atom?h=lazy_queue'/>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/'/>
<updated>2026-08-28T18:37:41Z</updated>
<entry>
<title>experimenting with a lazy queue implementation</title>
<updated>2026-08-28T18:37:41Z</updated>
<author>
<name>tslil</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-07-03T20:17:27Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=7e58eadab1678d794344a0b14c7872296f585f96'/>
<id>urn:sha1:7e58eadab1678d794344a0b14c7872296f585f96</id>
<content type='text'>
presently it's not correct
</content>
</entry>
<entry>
<title>Trying to make things faster</title>
<updated>2026-08-28T18:37:41Z</updated>
<author>
<name>tslil</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-06-01T19:20:48Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=0deb42134cb7f0ed6ec809c3de1052ab2dfe2235'/>
<id>urn:sha1:0deb42134cb7f0ed6ec809c3de1052ab2dfe2235</id>
<content type='text'>
I tried the following, but they all made things worse:
- moving away from the singly-linked (tail tracking) list for actions
	by:
	  + using an array zipper for a deque
		+ using an array to poorly hold a floating deque
- caching the results of generating move lists in the transposition
	table and then
		+ copying the resulting list/zip/deque instead of generating it
		+ applying the move-to-front without copying, but this made the
			search order worse. Presumably in this case shallower nodes were
			messing up the search tree with garbage moves?

I think some of this is not supposed to happen, but i have just the
right combination of poor evaluation function and naively ordered and
cheap move generation that i'm in a local minimum here.
</content>
</entry>
<entry>
<title>Fix copyright notice in files, and small preemptive optimisation</title>
<updated>2026-08-28T18:37:41Z</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=2dbb9fa9b69e49d49cebb1c17559f6fe67600a4d'/>
<id>urn:sha1:2dbb9fa9b69e49d49cebb1c17559f6fe67600a4d</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>2026-08-28T18:37:41Z</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=ce09b6d94ac3dbf426e959b14fd7731001a003d1'/>
<id>urn:sha1:ce09b6d94ac3dbf426e959b14fd7731001a003d1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Try to squeeze out a little more performance</title>
<updated>2026-08-28T18:37:41Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-01-30T21:47:48Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=84ad2e3c12cb505e3c5e3dd29d05edb529b82174'/>
<id>urn:sha1:84ad2e3c12cb505e3c5e3dd29d05edb529b82174</id>
<content type='text'>
``Common wisdom'' dictates that placements are often better than stack
moves, so we bias the generated move list in this fashion. Seems to be
a little faster.
</content>
</entry>
<entry>
<title>Added license information!</title>
<updated>2026-08-28T18:37:41Z</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=a77062ce3dc9a99ad0662010cc7eeb00dd5036a6'/>
<id>urn:sha1:a77062ce3dc9a99ad0662010cc7eeb00dd5036a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>It would appear that any function call whatsoever is slower :/</title>
<updated>2026-08-28T18:37:41Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-01-28T17:01:42Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=b5b337d4044a8e64956b8a2309739353f9ce339e'/>
<id>urn:sha1:b5b337d4044a8e64956b8a2309739353f9ce339e</id>
<content type='text'>
For now we'll stay with directly recomputing it at each non-terminal
node
</content>
</entry>
<entry>
<title>Somehting along these lines, i'm tired</title>
<updated>2026-08-28T18:37:41Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-01-27T03:39:28Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=6b48baaf6b67cc7364d5945eb6d9b25ea9683bd9'/>
<id>urn:sha1:6b48baaf6b67cc7364d5945eb6d9b25ea9683bd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Storing best moves!</title>
<updated>2026-08-28T18:37:41Z</updated>
<author>
<name>tslil clingman</name>
<email>tslil@posteo.de</email>
</author>
<published>2021-01-26T22:42:53Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/ctak/commit/?id=de4f20f28afe23ecfc546ad242e5bb44710996cc'/>
<id>urn:sha1:de4f20f28afe23ecfc546ad242e5bb44710996cc</id>
<content type='text'>
</content>
</entry>
</feed>
