BozoChess Monday release schedule

Discussion of chess software programming and technical issues.

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 6:43 pm

The name change

Post by sje » Fri Dec 16, 2011 7:19 pm

As I promised back in early October, I'm changing the name of the project as the program is starting to play somewhat decent chess. Also, I don't want to worry about possible copyright problems with the old name, even if it was given in jest.

So from here on out, the program's name is CookieCat. Why? Well, many good names like TreeFrog and IronFish have already been taken. And CookieCat should be easily searchable on the net without too many false positives.

In other news:

1) CookieCat now runs the generate/execute/retract machinery abut seven percent faster than before, at least on a 64 bit CPU.

2) I've found a couple of compiler bugs and have coded around them. If the CookieCat source were smaller, I'd submit bug reports or maybe fix the compiler bugs myself as I have the compiler sources.

3) CookieCat has five different transposition tables. One of them is the prft table, used only by the perft subsystem. The other four are used (or will be used) by the search: eval (evaluation), main (traditional), pawn (pawn structure), and tbas (tablebase probe results).

4) The incrementally updated material signature routines are present and working. These are needed for fast tablebase probing.

5) The tablebase initialization code is present and working. This took much longer than expected, but the result is both general and fast. The general part is that the code can handle upper limits on class size from 2 to 10 men without any hard coded class information. The fast part is the binary probe of the tablebase signature table. The difficulty in writing the initialization code came from the work needed to generate all the tablebase names without misses, duplications, of malformations. The unsavory alternative would have been a boatload of explicit array element initializations.

6) Next for tablebase support: file I/O operations, file seek position offset generation, score decoding, and integration with the tbas transposition table. There is not a lot of code here, but it is largely specific to the flavor of tablebase files in use. For now, this isolated code will handle only my tablebase format, but it could be changed to handle other formats.

I hope to send out a new release on Monday, Dec 19th.

Post Reply