Suicide chess browser by Colibri

Colibri is a suicide chess engine. It plays according to FICS rules (stalemate is a win for the player with the fewer pieces remaining -- variant 5 on Wikipedia).

The fun thing about suicide chess, from a software engineer's point of view, is that it appears to be solvable, which means a computer could
produce a game tree ("proof") in which White wins regardless of Black's defense. Some lines, such as **1. e3 d5** or **1. e3 e5**, are trivially
solvable by average players. Other lines, like **1. e3 b5** took years of computing time from several different chess programs.

My aim in writing Colibri (aside from having fun and polishing my programming skills) is to tackle the remaining defenses for Black and find wins for White. I may end up connecting this program to FICS so it can play humans or other computers, but that is not my short-term goal. For example, I probably won't implement an alpha-beta algorithm.

- 5-men endgame tablebases (EGTB) with en passant support (52 GB);
- EGTB compression using liblzma (xz format, 32 KB block size, which gives an 11% compression rate);
- EGTB are computed using retrograde analysis and stored as DTC (distance-to-conversion). Scores are truncated at +/- 127 so they fit on one byte. The only tables where this happens are KBNvK, KRPvKP and KBNPvK. Hopefully this won't cause Colibri to miss any important wins.
- Board representation using bitboards.

- Proof number search so I can start solving openings.

My previous suicide chess engine was Nilatac, written mostly between 2001-2003. I decided to give it up and rewrite Colibri from scratch because Nilatac had several shortcomings:

- Slow move generator;
- Crashes and infinite loops in the proof-number search algorithm, since it ignores transpositions and repetitions;
- EGTB bugs, at least due to the lack of en passant support, and possibly more since the EGTB were never verified;
- slow EGTB generation -- it would take forever to generate the 5-men EGTB, because it didn't use retrograde analysis;
- no EGTB compression;
- no unit tests.

Colibri is free software. You can browse the source code or download a copy with Subversion:

svn checkout http://voronet.francu.com/repos/colibri

I will seed the EGTB files on torrents once anybody asks. :-)

Copyright 2013 Catalin Francu

Colibri's source code is released under the GNU Affero General Public License.

Colibri's endgame tables are released under the Creative Commons Attribution-ShareAlike 3.0 Unported License.