The moves-to-conversion database

When you use KingsRow with the Cake or Chinook endgame database, you are using a database that contains a value of win, loss, or draw for each position. There is no information in the database as to which move is best to play in those positions. When KingsRow is in a won position, it needs to pick a move which not only maintains a winning position but also makes progress towards the conclusion of the game. Normally it does this using an endgame evaluation function that encourages progress towards conversions, which are man moves or capture moves. But there are some endgame positions that require a very long sequence of moves before a conversion move occurs. When this sequence of moves is longer than KingsRow's search horizon, there is the possibility that it will not know how to make progress towards a conclusion of the game.

The moves-to-conversion information is available as a side effect of building WLD endgame databases, and I have been saving this data while building the 10-piece db. The entire MTC data for up to 10 pieces is huge, as there are about 10.9 trillion positions. The WLD data can be compressed into about 60 positions per byte, but the MTC data requires much more space because of the greater range of values for each position. Fortunately the majority of checkers positions convert in very few moves. The MTC data for these positions is not very interesting because a checkers program can determine the correct moves for these with a quick search. I am only saving MTC data for positions that have values of ten moves or greater. When completed this data will compress to about 50GB.


Ed Gilbert
Last revised: February 28, 2011.