About Colibri
Colibri is a suicide chess engine. It plays according to joint rules for stalemate.
Suicide chess was weakly solved. Specifically, White wins after 1. e3. 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. The bulk of the work was done by Mark Watkins.
My aim in writing Colibri (aside from having fun and polishing my programming skills) is to tackle some defenses for Black and find wins for White. I may end up connecting this program to lichess 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.
Features
- 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.
TODO list
- Fix some bugs in proof number search so I can start solving openings.
Nilatac
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.
Downloads
Colibri is free software. You can browse the source code.
I will seed the EGTB files on torrents once anybody asks. :-)
License
Copyright 2013-2020 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.