Kayles



Kayles is a simple impartial game in combinatorial game theory, invented by Henry Dudeney in 1908. Given a row of imagined bowling pins, players take turns to knock out either one pin, or two adjacent pins, until all the pins are gone. Using the notation of octal games, Kayles is denoted 0.77.

Rules
Kayles is played with a row of tokens, which represent bowling pins. The row may be of any length. The two players alternate; each player, on his or her turn, may remove either any one pin (a ball bowled directly at that pin), or two adjacent pins (a ball bowled to strike both). Under the normal play convention, a player loses when they have no legal move (that is, when all the pins are gone). The game can also be played using misère rules; in this case, the player who cannot move wins.

History
Kayles was invented by Henry Dudeney. Richard Guy and Cedric Smith were first to completely analyze the normal-play version, using Sprague-Grundy theory. The misère version was analyzed by William Sibert in 1973, but he did not publish his work until 1989.

The name "Kayles" is an Anglicization of the French quilles, meaning "bowling pins".

Analysis
Most players quickly discover that the first player has a guaranteed win in normal Kayles whenever the row length is greater than zero. This win can be achieved using a symmetry strategy. On their first move, the first player should move so that the row is broken into two sections of equal length. This restricts all future moves to one section or the other. Now, the first player merely imitates the second player's moves in the opposite row.

It is more interesting to ask what the nim-value is of a row of length $$n$$. This is often denoted $$K_n$$; it is a nimber, not a number. By the Sprague–Grundy theorem, $$K_n$$ is the mex over all possible moves of the nim-sum of the nim-values of the two resulting sections. For example,


 * $$K_5 = \mbox{mex}\{K_0 + K_4, K_1 + K_3, K_2 + K_2, K_0 + K_3, K_1 + K_2\},\,$$

because from a row of length 5, one can move to the positions


 * $$K_0 + K_4,\quad K_1 + K_3,\quad K_2 + K_2,\quad K_0 + K_3,\text{ and } K_1 + K_2.\,$$

Recursive calculation of values (starting with $$K_0 = 0$$) gives the results summarized in the following table. To find the value of $$K_n$$ on the table, write $$n$$ as $$12a + b$$, and look at row a, column b:

At this point, the nim-value sequence becomes periodic with period 12, so all further rows of the table are identical to the last row.

Applications
Because certain positions in dots and boxes reduce to Kayles positions, it is helpful to understand Kayles in order to analyze a generic dots and boxes position.

Computational complexity
Under normal play, Kayles can be solved in polynomial time using Sprague-Grundy theory.

Generalizations
Node Kayles is a generalization of Kayles to graphs in which each bowl “knocks down” (removes) a desired vertex and all its neighboring vertices. Alternatively, this game can be viewed as two players finding an independent set together. Winner determination is solvable in polynomial time for any family of graphs with bounded asteroidal number (defined as the size of a largest subset of vertices such that the removal of the closed neighborhood of any vertex in the set leaves the remaining vertices of the set in the same connected component).

Similarly, in the clique-forming game, two players must find a clique in the graph. The last to play wins. Schaefer (1978) proved that deciding the outcome of these games is PSPACE-complete. The same result holds for a partisan version of node Kayles, in which, for every node, only one of the players is allowed to choose that particular node as the knock down target.