Abstract
Estimates for the complexity of checkers and draughts on different board sizes are calculated and experimentally determined. The estimates found for international draughts are a correction of previous estimates in the literature. The estimates found for the other board sizes are first estimates, with the exception of 8 × 8 checkers, which is used as a reference. The small games of 6 × 6 checkers and 6 × 6 draughts are also weakly solved. Both games are a draw with perfect play by both sides.
Keywords
Introduction
In this paper we investigate the complexity of two different but similar games, checkers and draughts, played on different board sizes. The rules of checkers (a.k.a. English draughts) are described in Wikipedia (Online a), the rules of draughts are described in Wikipedia (Online b). To summarize the differences, in checkers we have men not capturing backwards and stepping kings, and in draughts we have men capturing also backwards and flying kings. Also, in draughts it is mandatory to capture the largest number of pieces possible, while in checkers this is not the case (although capturing is still mandatory).
We are interested in the complexity of checkers on board sizes 6 × 6 (small) and 8 × 8 (regular), and the complexity of draughts on board sizes 6 × 6 (small), 8 × 8 (Brazilian rules), 10 × 10 (International), 12 × 12 (Canadian) and 14 × 14 (South-African, a.k.a. Dumm), see Fig. 1.
So we have two sets of rules and five board sizes. Checkers is not played on boards larger than 8 × 8. The games on the 6 × 6 board are not actually played, but looking at smaller versions of known games makes it possible to do experiments that are not possible for the actual board sizes.
The complexity class of checkers and draughts, generalized to an N by N board, has been previously studied. In Fraenkel et al. (1978) it was shown that checkers is PSPACE-hard. In Robson (1984) this result was strengthened, showing that checkers is in fact EXPTIME-complete. The proof from Fraenkel et al. (1978) was adapted to show that draughts is PSPACE-hard and it was conjectured that draughts is also EXPTIME-complete (Van Rijn, 2011).
The complexity of specific games is usually expressed by two numbers: the state-space complexity (SSC) and the game-tree complexity (GTC) (Allis, 1994; Wikipedia, Online c). The SSC is the number of positions that can be reached from the initial position. Usually an upper bound for the SSC is given, by calculating the number of configurations of piece types that can be placed on the board, i.e., the number of positions that would be contained in a complete endgame database, with piece type combinations reachable from the initial position. The GTC is the number of leaf nodes in the smallest full-width search tree that determines the game-theoretic value of the initial position. It is hard to estimate the GTC, so usually a reasonable lower bound is calculated using
The course of this paper is as follows. In Section 2, upper bounds for the SSC of our games are calculated, and the exact SSC of 6 × 6 checkers and 6 × 6 draughts are determined. In Section 3, lower bounds for the GTC of our games are experimentally determined, and in the case of 10 × 10 draughts also derived from a database with human games. Section 4 describes weakly solving 6 × 6 checkers and 6 × 6 draughts, and discusses the GTC with respect to using endgame databases of different sizes. Also, the practical complexity is discussed, i.e., what does it take for a computer program to play these games “perfectly” (never lose and win if possible). Section 5 presents several conclusions drawn from our results.

Initial positions on the five board sizes.
In Schaeffer & Lake (1996) an upper bound for the SSC of 8 × 8 checkers is calculated, and we can generalize the given formula to:
Applying this formula on the five board formats, we obtain, for one color to move, the numbers shown in Table 1.
All five numbers match the approximate numbers given in Bik (Online) by user Ajedrecista. All digits of the number for 14 × 14 were verified by Rein Halbersma (Van Horssen, Online). The numbers found are only upper bounds. The real numbers are much lower, even if we take into account that we need the number for both colors to move (multiply by 2). The number found for an 8 × 8 board is the same as the number given in Schaeffer & Lake (1996). The latter also try to estimate the number of plausible positions, arriving at
State-space complexity of checkers/draughts on five board sizes
State-space complexity of checkers/draughts on five board sizes
For 6 × 6 checkers and 6 × 6 draughts we calculated the exact numbers, as they can be counted using a simple non-recursive function that traverses the entire game tree (see Appendix), keeping a large array in RAM with 1 bit per position for both colors to move (about 15 GB). We cannot use a recursive function because the large depth would cause a stack overflow. We can keep track of the maximum depth reached but this gives artificially high depths. To determine the minimum depth to reach all positions we also employed a breadth-first approach. This needs almost twice the memory (one database to accumulate all positions for both colors to move, and two databases for one color to move containing the positions in the current iteration and for the next iteration) and more than twice the running time (because of the overhead of iterating over a database, even if we build an efficient iterator that quickly skips over large empty regions). The results are shown in Table 2. The numbers found are compared to the maximum: the number given in Table 1 multiplied by 2.
Exact state-space complexity of 6 × 6 checkers and 6 × 6 draughts
In Allis (1994) estimates are given for the GTC of 8 × 8 checkers (
The GTC of the other variants is unknown. To estimate these, we need to know the branching factor and the average game length. These are determined experimentally. To this end, we developed a conventional basic engine, named
Perft (performance test) gives the number of leaf nodes of the full-width search tree of a given depth.
A lock is a local configuration of men of both colors, where one or both colors cannot move the men involved in the lock without losing material. There are many types of locks and many places on the board where they can occur, increasing with the board size.
Tested for 10 × 10 draughts, the version with positional evaluation scored 66.8% against a material-only version (7 ply search each, 2-move ballots: 158 games). The 10 × 10 draughts version was also tested against
Before starting the experiment – playing a large number of games – the following questions have to be answered.
When do we stop a game that will probably end in a draw? How much time or search depth do we give the program, for games to be representative? How many games do we play?
For draughts there is a natural moment to stop a game: if the search score is near zero and we have drawish material: the player who is behind has a king and the other player has at most three pieces (for 10 × 10, 12 × 12 and 14 × 14)3
On boards larger than 8 × 8, four kings are needed to trap a single king.
It is unclear which search time or search depth would be appropriate, so we chose to use incremental depth, which also makes it possible to observe the trend. We decided to play 10,000 games at each depth from 0 ply (random play) to at least 7 ply (approaching expert level), giving at least 80,000 games per variant. The games were stored, later truncated, duplicate games were removed, and finally the averages per game and per position were calculated. In total, over 600,000 games were played, of which over 450,000 were unique (the smaller the board, the more duplicate games). This took 182 CPU days, 21 calendar days on three multi-core computers.
The results are shown in Figs 2 and 3. For the branching factor we take the average over all games with search depth 3 and higher, for the game length we take the average over all games with the three highest search depths. The results are shown in Table 3.
The branching factors found for 8 × 8 checkers and 10 × 10 draughts are higher than the previously found values for human games (checkers: 6.32 vs. 6.14, draughts: 8.95 vs. 8.22). This is influenced by the value of the evaluation mobility parameter. A lower value for mobility results in a lower branching factor. We tried several values and decided to use the one that resulted in the strongest play. Also the game length for 10 × 10 draughts is 10 ply more than in human games. However, human games contain blunders (often followed by immediate resignation), losing on time and short “grandmaster draws”, so the question is which number is more reliable for our calculations. Nevertheless, there is a margin of error and we should interpret our results as ballpark figures. For 10 × 10 draughts this means that a good lower bound for the GTC probably lies between

Branching factor. Each data point represents max. 10,000 unique games.

Average game length. Each data point represents max. 10,000 unique games.
Experimental game-tree complexity
Subjects related to the complexity of a game are the possibility to solve the game and to achieve perfect play. For the small games 6 × 6 checkers and 6 × 6 draughts we can build endgame databases that cover a significant part of the state space. These can be used to weakly solve the games. Also, we reconsider the GTC of these games, using endgame databases of different sizes or no endgame database at all.
Weakly solving both games
The SSC of 6 × 6 checkers/draughts indicates that it is feasible to build the complete 12-piece databases for these games, that is, to strongly solve them. As this is still a considerable task, we decided to weakly solve the games, that is, to determine the game-theoretical value of the initial position. This was done by using a simplified version of the method used to solve 8 × 8 checkers (Schaeffer, 2007). To this end, we developed a high-performance engine for the 6 × 6 variants (named
First, an endgame database was built, containing the win/draw/loss (WDL) result of all legal positions with 8 pieces or less (
Both games were previously solved by Rein Halbersma (Halbersma, Online c), using alpha-beta and a transposition table but without using endgame databases. However, the GHI problem was ignored, so technically these are not conclusive proofs.
Data for solving 6 × 6 checkers with PNS and endgame databases
Data for solving 6 × 6 draughts with PNS and endgame databases
In Section 3 we estimated the GTC of 6 × 6 checkers (
The longest win in the 6 × 6 checkers 8-piece database is 147 ply, with 68 consecutive king-slide moves. In a 6 × 6 checkers game, the first player has two losing first moves and three drawing first moves. Using alpha-beta search and the DTW database, the deepest first-player loss was established to be 66 ply away from the initial position. To find draws by repetition, even deeper searches will be needed (we did not introduce a rule that declares a game a draw after too many consecutive king moves without capturing). Thus the true GTC of 6 × 6 checkers is at least
The longest win in the 6 × 6 draughts 8-piece database is 83 ply. In a 6 × 6 draughts game, all first-player moves are a draw, but the second player immediately has losing replies. Using alpha-beta search and the DTW database, the deepest second-player loss was established to be 61 ply away from the initial position. Thus the true GTC of 6 × 6 draughts is at least
This shows the complexity of these games, even on such a small board. Of course, using endgame databases vastly reduces the GTC of a game.
Perfect play
Using the 8-piece DTW databases and PNS, a “perfect” player was created for both games. Perfect in the sense that, outside the database, it can almost always quickly determine the game-theoretic values of all moves, after which it randomly picks one of the best moves.5
In very rare cases it is not possible to determine the game-theoretic value of a move given the (modest) resource constraints of our player. So the result of a move can be unknown. If we have other moves that are winning or drawing we play one of those. If we don’t (other moves are losing or also unknown), we play a move with result unknown. It is assumed that this move is a draw by repetition that could not be proved with the given resources (max. number of iterations). Using this scheme, the player never lost a game.
Below we provide five separate topical conclusions on (1) exponential and double exponential growth, (2) checkers rules versus draughts rules, (3) solved games, (4) statements on weakly solving, and (5) a comparison with chess and Go.
Exponential and double exponential growth
Figure 4 shows the complexity results found, compared to some popular games from literature (Allis, 1994; Schaeffer, 2007). The SSC of checkers and draughts grows exponentially with the board size; the GTC grows even double exponentially. This is mainly caused by the rapidly increasing game length. This means that checkers and draughts are games of deep strategy, also with increasing tactics when the board size increases. In our sample games, the maximum number of pieces captured in one move was 4 for 6 × 6 draughts, 6 for 8 × 8 draughts, 10 for 10 × 10 draughts, 12 for 12 × 12 draughts, and 17 for 14 × 14 draughts.

Game complexity of checkers and draughts from our experiments (left, middle) versus the complexity of some games from literature (right).
We have a strong indication that the rules of checkers make for a more complex game than the rules of draughts. This follows from our results concerning (1) the SSC, (2) the GTC, (3) the DTW endgame database, and (4) perfect play. Checkers is a “slower” but deeper game than draughts, also with a smaller draw margin.
Solved games
For 6 × 6 checkers and 6 × 6 draughts, the exact SSCs have been determined, as well as tight lower bounds for the GTC. Both games were also weakly solved; both are a theoretical draw. Strongly solving these games is feasible but this adds little, since perfect play can be achieved using the generated 8-piece DTW database combined with a short search.
The GTC and SSC of 8 × 8 checkers were previously determined and our results match those. The game of 8 × 8 checkers was weakly solved in 2007: Black to play and draw (Schaeffer, 2007).
Statements on weakly solving
For the game of 8 × 8 draughts, a first estimate for the GTC is given. This game is a candidate to be weakly solved, and it can be solved much faster than 8 × 8 checkers.
For 10 × 10 draughts, new estimates for the SSC and GTC are given. The GTC of 10 × 10 draughts is much higher than previously estimated:
Comparison with chess and go
For 12 × 12 and 14 × 14 draughts, first estimates for the SSC and GTC are given. The GTC of 12 × 12 draughts exceeds that of chess. The GTC of 14 × 14 draughts exceeds that of Go. Both are due to a smaller branching factor but a far greater game length.
A higher GTC does not necessarily mean a game is more difficult. However, especially 14 × 14 draughts will be among the toughest games to master for computers. Methods that are known to be highly successful for 8 × 8 checkers and 10 × 10 draughts will start to break down: (1) alpha-beta search depth will be strategically insignificant compared to game length,6
A search in the opening will not reach middle game or even endgame positions, as is the case with the smaller games. This means that (opening) strategy depends more on evaluation and less on search. For instance, in 8 × 8 draughts we may search 20 ply deep in the opening, which is almost 50% of the average game length (43 ply), while in 14 × 14 draughts we may search 14 ply deep in the opening, which is less than 5% of the average game length (320 ply).
Footnotes
Acknowledgements
Thanks to Rein Halbersma for pointing out an error in the initial calculation of the SSC of 14 × 14 draughts (caused by overflow) and for referring to Bik (
). I thank Jaap van den Herik for proofreading. His comments are greatly appreciated. I also thank the anonymous referees for their helpful comments and suggestions.
Count depth-first with memory
Notes
Online publications retrieved 2018/05/10
