Sturtevant 2019 Chinesecheckers
Sturtevant 2019 Chinesecheckers
Nathan R. Sturtevant1
Abstract. Chinese Checkers is a game for 2-6 players that has been
used as a testbed for game AI in the past. The game is easily scalable to
different size boards, different numbers of players, and different numbers
of pieces for each player. In this paper we provide an overview of what is
required to strongly solve versions of the game, including a complete set
of rules needed to solve the game. We provide results on smaller boards
with result showing that these games are all a first-player win.
1 Introduction
This paper studies the problem of strongly solving variants of Chinese Checkers,
and provides the foundation needed to strongly solve them. Chinese Checkers
is closely related to the game of Halma, which was invented around 1883-1884,
except that Chinese Checkers is played on a star-shaped board while Halma is
played on a square board [4]. It is typically played by 2–6 players, with the goal
of moving your pieces across the board into a goal area before your opponent.
There are two reasons why we are interested in studying this game and strongly
solving variants of the game.
First, many traditional two-player perfect information games, such as Connect-
Four [2], Awari [9], Checkers [13], and Hex [6] have been strongly solved or weakly
solved, so solving Chinese Checkers follows in this line of work. One common
board size for Chinese Checkers has a 1.73 × 1024 states, and thus might be
weakly solvable, given a good proof strategy. However, in our work we have
found it difficult to construct small proofs for the game. Thus, by strongly solv-
ing small versions of the game, we can study the nature of the game and learn
how to build compact proofs for the game.
Second, recent work on AlphaZero [14] has suggested a common approach
for learning to play deterministic two-player games with perfect information. As
Chinese Checkers falls into this category, we expect that the AlphaZero approach
is able to learn to play the game. But, given that we can strongly solve some
board sizes, this offers the opportunity to precisely measure and evaluate how
learning takes place in the game. Thus, we suggest that Chinese Checkers will
be a good testbed for evaluating learning in a two-player deterministic perfect
information game.
2 N. Sturtevant
Given this reasoning, we have built a number of solvers for the game of
Chinese Checkers with different board sizes and different numbers of pieces on
the board. Through analysis of these solvers we can now provide a deeper analysis
of Chinese Checkers than has previously been found in the literature, including
comprehensive rules for wins, losses, draws, and illegal positions in the game.
This paper provides an overview of these insights, as well as the results of strongly
solving games with up to the 6 × 6 board with 6 pieces per player which has
2,313,100,389,600 positions. All games that we have solved have been a first-
player win.
While reasonable resources might change over time, it is suggested that a limit
of several minutes of computation per move should be allowed. Thus, storing
the result of every position would qualify for a game being strongly solved.
But, sometimes there are too many positional combinations to store efficiently,
requiring the use of search to dynamically re-compute this data when making
queries about a state. In such cases, the a game would still be considered to be
strongly solved even if it took a few minutes to perform these re-computations.
Given these classifications, significant research has gone into both solving
games or and subgames of a game, such as in endgame databases [12, 3].
Connect-Four was one of the first non-trivial games to be solved. One of the
original proofs used specialized knowledge to build a small proof tree for the game
[2], although the full game can now be enumerated efficiently [5], so the game is
now strongly solved. Awari [9] was strongly solved using parallel hardware; the
value of 889,063,398,406 positions was determined during this proof. Pentago [7]
has also been strongly solved on parallel hardware, with 3,009,081,623,421,558
positions in the game. In the Pentago solution positions with more than 18 stones
are not recorded on disk, as it requires too much storage and the value of the
states can be re-computed easily.
Weakly solved games include Checkers [13], which is solved for the primary
opening moves, and 8 × 8 Hex [6], which is solved for any opening move.
Chinese Checkers has been a common domain used in testing for multi-player
games [16, 18, 11]. A common heuristic used for play is the single-agent distance
On Strongly Solving Chinese Checkers 3
(a) 9x9 start state (b) 7x7 start state (c) 6x6 start state
to the goal [16], which can be easily calculated on smaller board sizes. The single-
agent distances on the full board size can also be calculated [19] and used for
game play [15], but other approaches such as MCTS [10] and TD learning [15]
have also been explored for playing Chinese Checkers.
2.1 Terminology
In this paper we use the terms board, board position, and state interchangeably.
The term jumps can be substituted anytime we use the term hops. We refer to
pieces on the board, but these can also be referred to as marbles, as physical
versions of the game often use marbles for pieces. We will also talk about corners
of the board and goal or start areas interchangeably.
Given that a player cannot move into corners of the board besides their start
and goal corners, the primary game play takes place on the center diamond of
the board, which can be represented as a m × m grid. The game in Figure 1(a)
has a 9 × 9 gameplay area with 10 pieces per player. Another common board
size used in research [16] is shown in Figure 1(b), which is a 7 × 7 gameplay
area with 6 pieces per player. It is possible to draw the board as a star when the
size of the gameplay area is odd. If we use an even-sized gameplay area, then it
is not possible to draw uniform-sized corners, and thus it is only to play these
sized boards with two players, as shown in Figure 1(c). In the remainder of the
paper we will only draw the main gameplay area, and we will give each player
anywhere from one to six pieces.
In the game of Chinese Checkers there are two types of moves that can be
performed, moves to an adjacent location, or hops over adjacent pieces to non-
adjacent locations. Figure 2 shows moves to adjacent locations from the starting
position of the game. There are six possible adjacent moves at the beginning
of the game; three of the moves are shown in the figure. The remaining moves
result in positions that are symmetric to the ones shown, something that will be
discussed in Section 3.5.
The second type of move hops over an adjacent piece to land on an empty
location on the other side. A hop from the starting position is illustrated in
Figure 3(a). If multiple hops are available for a single piece, they can be chained
together into longer hops that cross the entire board. Figure 3(b) sets up an
alternate board position where additional hops can be chained, allowing a piece
to move across the board, giving the position in Figure 3. A piece can take any
number of legal hops in a turn, and can stop when further hops are still possible.
Additionally, pieces are not removed from the board when they are hopped over
by another pieces.
One notable feature of Chinese Checkers is that the game is not acyclic – it
is possible to return to the same position and not make progress. This makes
On Strongly Solving Chinese Checkers 5
(a) Single hop (b) Board position that (c) Board position after
allows multiple hops. three hops are taken.
Chinese Checkers more complex to analyze than games like Pentago, which adds
a new piece to the board every turn.
In the most general case a player wins a game of Chinese Checkers if they
get all of their pieces into their goal area on the opposite side of the board. In
normal play this is achievable, but for exhaustive analysis we need a more precise
definition of the winning conditions. In particular, it has been observed that a
single player can leave one piece in their start area, preventing the opponent
from ever getting their pieces into the goal. This rule is typically not handled
in rule books for the game, although web sites discussing the game often make
suggestions for handling this. One suggested handling is as follows:2
Definition 1. A state in Chinese Checkers is won for player n if player n’s goal
area is filled with pieces, and at least one of the pieces belongs to player n.
2
http://www.abstractstrategy.com/chinese-checkers-g.html#c-checkers-rules
6 N. Sturtevant
(a) Unreachable state (b) Illegal state for red (c) Illegal state for blue
Under this definition if a player leaves some pieces in their goal area, the
other player can just fill in around these pieces in order to win the game. For
very small versions of the game this can have unintended consequences, as shown
in Figure 3(c). After only 3 ply this state qualifies as a win for the red player,
because the red player has a piece in their goal area, and the remainder of the
home is filled with blue pieces. Such shallow goal states are not found on larger
boards, and the small boards are not used widely, so the shallow goal states
seem acceptable. Note that even Chess has possible goal states just 4 ply into
the game.
This definition has been adequate for our past experiments with Chinese
Checkers playing agents, but it is not adequate for strongly solving the game
when there are six pieces on the board, as there are still some conditions it
cannot catch. However, instead of modifying our definition of a winning state,
we declare certain board positions to be illegal, which we discuss in the next
section.
In Chinese Checkers there are states that are unreachable via normal play. One
example of an illegal position is shown in Figure 4(a). In this state both players
have their pieces in the goal area. But, because a player should win as soon
as their pieces are moved into the goal area, it is impossible for both players
to simultaneously have their pieces in their respective goals. Thus, this state is
not reachable by normal play and should be excluded from any analysis that
attempts to strongly solve the game. We do this by declaring the state to be
illegal. As long as all illegal states are marked or checked appropriately, they can
then be ignored in any proof procedure.
Given the definition of a winning state in the previous section, there are a
large number of illegal states in the game – all combinations of states where both
goals are filled with pieces. Thus, we form a general rule for illegal states, the
first of two rules that are required for strongly solving the game.
On Strongly Solving Chinese Checkers 7
3.4 Draws
Next
Next Next
In some games, such as Hex, all states can be determined to be a win or loss.
The possible value of states in Chinese Checkers has not, to our knowledge, been
previously determined. That is, we have unable to find any rules for the game
that discuss drawn positions. If we prove all possible states that are wins, losses
and illegal, yet have states that are still unable to be proven, these remaining
states are drawn. Drawn states begin to appear in Chinese Checkers once there
are three pieces on the board.
We illustrate one such state in Figure 5(a). On this board each player has two
pieces in the goal area, and one piece left in the middle of the board. Ignoring
the blue piece, the red piece in the middle can reach the goal area in six moves.
Similarly, the blue piece in the middle can also reach its goal area in six moves.
However, if the red player takes the first move, it will allow the blue player
to perform a jump and reach the goal in five moves, thus winning the game.
Thus, this similar to a zugzwang position, where the player to move is at a
disadvantage, except that there are other pieces that can be moved in order to
delay the disadvantageous move. Instead of making progress, both player will
alternate moving one of their two pieces that have already reached the goal.
Figures 5(b) and 5(c) illustrate a more complicated position that is also
drawn. In 5(b) the red player moves to the state shown in 5(c) to block the
blue player from performing a double hop into their goal area. As a result, the
blue player will move its piece in the middle row one step to the left in order
to enable a different double hop. After this the red player will undo its previous
move, returning to block the blue piece. This then causes the blue player to move
back to the position in 5(b). In this set of positions blue has an advantage, but
red can continually block that advantage.
These figures illustrate that drawn positions can occur in Chinese Checkers.
As existing rules do not account for repeated positions, we suggest the following
rule.
On Strongly Solving Chinese Checkers 9
Many of the structural choices have been based on our earlier work studying the
influence of solving parameters [17]. One focus of the work has been strongly
solving the game efficiently using moderate hardware, as opposed to using mas-
sive parallelization to solve the game more quickly, yet less efficiently (from a
CPU/power usage perspective).
Three important choices in the solving process are (1) the ranking function
which orders the states in the state space, (2) the order in which states are
proven, and (3) immediate propagation of wins to parent states once a win is
proven. On 7 × 7 Chinese Checkers with 3 pieces per player and well-optimized
choices for these parameters, we can determine the value of 99% of the states in
the state space in one pass through the data, and only 8 passes through the data
are needed to complete the proof. Without parent propagation or an optimized
proof ordering, the proof takes up to 34 passes through the data with only 0.5%
of the states proven in the first iteration. Both proofs find the same result, but
the first implementation performs the computation more efficiently.
5 Results
Results from our solves are found in Table 1. We have solved a variety of board
sizes of Chinese Checkers with up to the 6 × 6 board with 6 pieces per player,
which has 2 trillion states. The solvers use two bits per state, so given the two
types of symmetry, this solution requires storing 500 billion states and 135 GB
of storage, which exceeds the main memory available in the computer used for
building the solution. As a result, external memory (disk) was used for this
solution. A full description of this solver is outside of the scope of this paper,
but our solver borrows ideas from external memory BFS implementations such
as search with structured duplicate detection [20] and TBBFS [8].
Because the game is symmetric between the two players, the number of wins
and losses is the same. Thus, in Table 1 we only report the number of won states
in the game. These counts are for the full game, ignoring symmetry. Note that
all results, except for the largest game, were computed multiple times and by
multiple solvers, validating the counts. We are in the process of building a more
efficient external-memory solver which will validate these results with signifi-
cantly better performance. The exact count of wins should not be considered
correct until this verification has been completed.
Our goal is to strongly solve the 7 × 7 board with 6 pieces per player, as this
is the largest game that can likely be strongly solved on hardware that we have
readily accessible.
Table 1. Proven results and win/loss/draw/illegal counts from various size games. All
results except for the 6 × 6 board with 6 pieces have been solved multiple times with
different solvers to validate the results.
game that has not previously been solved, the solved information provides a
new testbed for studying games.
References
1. Allis, L.V.: Searching for Solutions in Games and Artificial Intelligence. Ph.D.
thesis, Maastricht University (1994)
2. Allis, V.: A knowledge-based approach of Connect-Four-the game is solved: White
wins. Ph.D. thesis, Vrije Universiteit (1988)
3. Björnsson, Y., Schaeffer, J., Sturtevant, N.: Partial information endgame
databases. Advances in Computer Games pp. 11–22 (2006), http://www.cs.du.
edu/~sturtevant/papers/partialEndgameDatabases.pdf
4. Carlisle, R.P.: Encyclopedia of play in today’s society, vol. 1. Sage (2009)
5. Edelkamp, S., Kissmann, P.: Symbolic classification of general two-player games.
In: Annual Conference on Artificial Intelligence. pp. 185–192. Springer (2008)
6. Henderson, P., Arneson, B., Hayward, R.B.: Solving 8x8 hex. In: Twenty-First
International Joint Conference on Artificial Intelligence (2009)
7. Irving, G.: https://perfect-pentago.net/details.html, https://perfect-pentago.
net/details.html
8. Korf, R.E.: Minimizing disk i/o in two-bit breadth-first search. In: AAAI Confer-
ence on Artificial Intelligence. pp. 317–324 (2008)
9. Romein, J.W., Bal, H.E.: Solving awari with parallel retrograde analysis. Computer
36(10), 26–33 (2003)
10. Roschke, M., Sturtevant, N.: Uct enhancements in chinese checkers using an
endgame database. IJCAI Workshop on Computer Games (2013), http://www.
cs.du.edu/~sturtevant/papers/UCT-endgame.pdf
11. Schadd, M.P., Winands, M.H.: Best reply search for multiplayer games. IEEE
Transactions on Computational Intelligence and AI in Games 3(1), 57–66 (2011)
12. Schaeffer, J., Björnsson, Y., Burch, N., Lake, R., Lu, P., Sutphen, S.: Building
the checkers 10-piece endgame databases. In: Advances in Computer Games, pp.
193–210. Springer (2004)
13. Schaeffer, J., Burch, N., Björnsson, Y., Kishimoto, A., Müller, M., Lake, R., Lu,
P., Sutphen, S.: Checkers is solved. science 317(5844), 1518–1522 (2007)
12 N. Sturtevant
14. Silver, D., Hubert, T., Schrittwieser, J., Antonoglou, I., Lai, M., Guez, A., Lanctot,
M., Sifre, L., Kumaran, D., Graepel, T., et al.: A general reinforcement learning
algorithm that masters chess, shogi, and go through self-play. Science 362(6419),
1140–1144 (2018)
15. Sturtevant, N.: Challenges and progress on using large lossy endgame databases in
chinese checkers. IJCAI Workshop on Computer Games (2015)
16. Sturtevant, N.R.: A comparison of algorithms for multi-player games. In: Comput-
ers and Games. pp. 108–122 (2002)
17. Sturtevant, N.R., Saffidine, A.: A study of forward versus backwards endgame
solvers with results in chinese checkers. In: CGW@IJCAI. pp. 121–136 (2017)
18. Sturtevant, N.: Multi-player games: Algorithms and approaches. Ph.D.
thesis, UCLA (2003), http://www.cs.du.edu/~sturtevant/papers/
multiplayergamesthesis.pdf
19. Sturtevant, N., Rutherford, M.: Minimizing writes in parallel external memory
search. International Joint Conference on Artificial Intelligence (IJCAI) pp. 666–
673 (2013), http://www.cs.du.edu/~sturtevant/papers/bfs_min_write.pdf
20. Zhou, R., Hansen, E.A.: Parallel structured duplicate detection. In: Twenty-Second
AAAI Conference on Artificial Intelligence (AAAI). pp. 1217–1224. AAAI Press,
Vancouver, British Columbia, Canada (Jul 2007), http://www.aaai.org/Library/
AAAI/2007/aaai07-193.php