However, with clever play it should be possible to checkmate Black quicker and with a greater material advantage.Īnd that clever play is what endgame tablebases are all about. SpaceDog manages this quite well without any additional help, mating the opponent in 24 moves. This endgame looks simple, but the black King is in the way of White’s protected passed pawn on c4, so getting that pawn to promote and become a Queen requires some finesse. Let’s take this KPPvsKP ending as an example: But even in those cases, it can make the occasional mistake that can allow a clever opponent to salvage a draw or stalemate, or can be simply inefficient and take longer than it should to mate the opponent. It’s worth saying that SpaceDog, even armed with only its core evaluation function and search, is more than capable of winning many endgames. SpaceDog needed to trap the enemy King against the side or corner of the board to make it easier to deliver checkmate, but couldn’t coordinate its pieces correctly, and so the ending barrelled irretrievably toward a draw by the 50-move rule.
7 piece endgame tablebase full#
I actually stopped the engine after 26 moves as it was clearly making no progress! If you check the full game log out, you’ll see that SpaceDog manoeuvres bravely, but is unable to work out the correct plan to trap the enemy King, even though it was looking ahead 25 moves at this point.
7 piece endgame tablebase pdf#
Here’s a snippet of SpaceDog’s attempt (before my recent additions) to play KBNvsK (the full PDF record is available here).
Let’s see, for example, how SpaceDog copes with the tricky KBNvsK ending: These rules and the complicated nature of some endgames make things difficult for humans to succeed in their endgame play, and chess engines struggle too, even when looking ahead many more moves.
Work on SpaceDog has been proceeding well, with lots of additions to its evaluation function, convenience features like outputting fully-diagrammed logs of each game you play against it, outputting games in PGN format, etc. My engine is named SpaceDog, in honour of my dog Laika, who is from space. In the background, while tons of work stuff has been happening, I’ve been continuing my mission to write a fully-featured computer chess engine in the C programming language.