Saturday, November 13, 2010

BikMove v1.2

Continuing the detour in checkers. I also released v1.2 of BikMove, a checkers engine plugin to Martin Fierz' CheckerBoard application. New features include:
  • Added internal iterative deepening to search
  • Configurable transposition table and endgame database cache
  • Improved evaluation function
  • Avoid querying Fierz's database when *either* side can capture
Below are results of a 3-move openings match between BikMove v1.2 and other engines (1 second-per-move, 256MB hash, 256MB database cache, 2-8 piece endgames, best-move for engines that have their own book).

BikMove v1.2 vs. Easy Checkers 1.0   : W-L-D: 284-  0-  4  99%
BikMove v1.2 vs. Simple Checkers 1.14: W-L-D: 136- 21-131  70%
BikMove v1.2 vs. GUI checkers 1.05+  : W-L-D:   9-108-171  33%

BikMove v1.2 vs. Cake1.8 + huge book : W-L-D:   0-152-136  24%
BikMove v1.2 vs. Kingsrow 1.16d      : W-L-D:   1-181-106  19%

For comparison, also some results under similar conditions with v1.1.

BikMove v1.1 vs. Simple Checkers 1.14: W-L-D: 75- 64-149  52%
BikMove v1.1 vs. GUI checkers 1.05+  : W-L-D:  6-183- 99  19%

Friday, November 5, 2010

Improved Checkers Endgame

To improve endgame play, I have added a few "distance-to-win" endgame databases to Checkers for Android (K-K, p-K, p-p, KK-K). These databases are small enough to reside in memory and are queried during the engine search. In the screenshot below, for instance, the engine (playing black) announces that it will win in 20 moves. If you are up to the challenge, just download version 2.4 of Checkers for Android from the market.