417 6 390KB
English Pages 46
GAME THEORY
Thomas S. Ferguson
Part I. Impartial Combinatorial Games 1. Take-Away Games. 1.1 A Simple Take-Away Game. 1.2 What is a Combinatorial Game? 1.3 P-positions, N-positions. 1.4 Subtraction Games. 1.5 Exercises. 2. The Game of Nim. 2.1 Preliminary Analysis. 2.2 Nim-Sum. 2.3 Nim With a Larger Number of Piles. 2.4 Proof of Bouton’s Theorem. 2.5 Mis`ere Nim. 2.6 Exercises. 3. Graph Games. 3.1 Games Played on Directed Graphs. 3.2 The Sprague-Grundy Function. 3.3 Examples. 3.4 The Sprague-Grundy Function on More General Graphs. 3.5 Exercises. 4. Sums of Combinatorial Games. 4.1 The Sum of n Graph Games. 4.2 The Sprague Grundy Theorem. 4.3 Applications. I–1
4.4 Take-and-Break Games. 4.5 Exercises. 5. Coin Turning Games. 5.1 Examples. 5.2 Two-dimensional Coin Turning Games. 5.3 Nim Multiplication. 5.4 Tartan Games. 5.5 Exercises. 6. Green Hackenbush. 6.1 Bamboo Stalks. 6.2 Green Hackenbush on Trees. 6.3 Green Hackenbush on General Rooted Graphs. 6.4 Exercises. References.
I–2
Part I. Impartial Combinatorial Games 1. Take-Away Games. Combinatorial games are two-person games with perfect information and no chance moves, and with a win-or-lose outcome. Such a game is determined by a set of positions, including an initial position, and the player whose turn it is to move. Play moves from one position to another, with the players usually alternating moves, until a terminal position is reached. A terminal position is one from which no moves are possible. Then one of the players is declared the winner and the other the loser. There are two main references for the material on combinatorial games. One is the research book, On Numbers and Games by J. H. Conway, Academic Press, 1976. This book introduced many of the basic ideas of the subject and led to a rapid growth of the area that continues today. The other reference, more appropriate for this class, is the two-volume book, Winning Ways for your mathematical plays by Berlekamp, Conway and Guy, Academic Press, 1982, in paperback. There are many interesting games described in this book and much of it is accessible to the undergraduate mathematics student. This theory may be divided into two parts, impartial games in which the set of moves available from any given position is the same for both players, and partizan games in which each player has a different set of possible moves from a given position. Games like chess or checkers in which one player moves the white pieces and the other moves the black pieces are partizan. In Part I, we treat only the theory of impartial games. An elementary introduction to impartial combinatorial games is given in the book Fair Game by Richard K. Guy, published in the COMAP Mathematical Exploration Series, 1989. We start with a simple example. 1.1 A Simple Take-Away Game. Here are the rules of a very simple impartial combinatorial game of removing chips from a pile of chips. (1) There are two players. We label them I and II. (2) There is a pile of 21 chips in the center of a table. (3) A move consists of removing one, two, or three chips from the pile. At least one chip must be removed, but no more than three may be removed. (4) Players alternate moves with Player I starting. (5) The player that removes the last chip wins. (The last player to move wins. If you can’t move, you lose.) How can we analyze this game? Can one of the players force a win in this game? Which player would you rather be, the player who starts or the player who goes second? What is a good strategy? We analyze this game from the end back to the beginning. This method is sometimes called backward induction. I–3
If there are just one, two, or three chips left, the player who moves next wins simply by taking all the chips. Suppose there are four chips left. Then the player who moves next must leave either one, two or three chips in the pile and his opponent will be able to win. So four chips left is a loss for the next player to move and a win for the previous player, i.e. the one who just moved. With 5, 6, or 7 chips left, the player who moves next can win by moving to the position with four chips left. With 8 chips left, the next player to move must leave 5, 6, or 7 chips, and so the previous player can win. We see that positions with 0, 4, 8, 12, 16, . . . chips are target positions; we would like to move into them. We may now analyze the game with 21 chips. Since 21 is not divisible by 4, the first player to move can win. The unique optimal move is to take one chip and leave 20 chips which is a target position. 1.2 What is a Combinatorial Game? We now define the notion of a combinatorial game more precisely. It is a game that satisfies the following conditions. (1) There are two players. (2) There is a set, usually finite, of possible positions of the game. (3) The rules of the game specify for both players and each position which moves to other positions are legal moves. If the rules make no distinction between the players, that is if both players have the same options of moving from each position, the game is called impartial; otherwise, the game is called partizan. (4) The players alternate moving. (5) The game ends when a position is reached from which no moves are possible for the player whose turn it is to move. Under the normal play rule, the last player to move wins. Under the mis` ere play rule the last player to move loses. If the game never ends, it is declared a draw. However, we shall nearly always add the following condition, called the Ending Condition. This eliminates the possibility of a draw. (6) The game ends in a finite number of moves no matter how it is played. It is important to note what is omitted in this definition. No random moves such as the rolling of dice or the dealing of cards are allowed. This rules out games like backgammon and poker. A combinatorial game is a game of perfect information: simultaneous moves and hidden moves are not allowed. This rules out battleship and scissors-paper-rock. No draws in a finite number of moves are possible. This rules out tic-tac-toe. In these notes, we restrict attention to impartial games, generally under the normal play rule. 1.3 P-positions, N-positions. Returning to the take-away game of Section 1.1, we see that 0, 4, 8, 12, 16, . . . are positions that are winning for the Previous player (the player who just moved) and that 1, 2, 3, 5, 6, 7, 9, 10, 11, . . . are winning for the Next player to move. The former are called P-positions, and the latter are called N-positions. The I–4
P-positions are just those with a number of chips divisible by 4, called target positions in Section 1.1. In impartial combinatorial games, one can find in principle which positions are Ppositions and which are N-positions by (possibly transfinite) induction using the following labeling procedure starting at the terminal positions. We say a position in a game is a terminal position, if no moves from it are possible. This algorithm is just the method we used to solve the take-away game of Section 1.1. Step 1: Label every terminal position as a P-position. Step 2: Label every position that can reach a labelled P-position in one move as an N-position. Step 3: Find those positions whose only moves are to labelled N-positions; label such positions as P-positions. Step 4: If no new P-positions were found in step 3, stop; otherwise return to step 2. It is easy to see that the strategy of moving to P-positions wins. From a P-position, your opponent can move only to an N-position (3). Then you may move back to a Pposition (2). Eventually the game ends at a terminal position and since this is a P-position, you win (1). Here is a characterization of P-positions and N-positions that is valid for impartial combinatorial games satisfying the ending condition, under the normal play rule. Characteristic Property. P-positions and N-positions are defined recursively by the following three statements. (1) All terminal positions are P-positions. (2) From every N-position, there is at least one move to a P-position. (3) From every P-position, every move is to an N-position. For games using the mis´ere play rule, condition (1) should be replaced by the condition that all terminal positions are N-positions. 1.4 Subtraction Games. Let us now consider a class of combinatorial games that contains the take-away game of Section 1.1 as a special case. Let S be a set of positive integers. The subtraction game with subtraction set S is played as follows. From a pile with a large number, say n, of chips, two players alternate moves. A move consists of removing s chips from the pile where s ∈ S. Last player to move wins. The take-away game of Section 1.1 is the subtraction game with subtraction set S = {1, 2, 3}. In Exercise 1.2, you are asked to analyze the subtraction game with subtraction set S = {1, 2, 3, 4, 5, 6}. For illustration, let us analyze the subtraction game with subtraction set S = {1, 3, 4} by finding its P-positions. There is exactly one terminal position, namely 0. Then 1, 3, and 4 are N-positions, since they can be moved to 0. But 2 then must be a P-position since the only legal move from 2 is to 1, which is an N-position. Then 5 and 6 must be N-positions since they can be moved to 2. Now we see that 7 must be a P-position since the only moves from 7 are to 6, 4, or 3, all of which are N-positions. I–5
Now we continue similarly: we see that 8, 10 and 11 are N-positions, 9 is a P-position, 12 and 13 are N-positions and 14 is a P-position. This extends by induction. We find that the set of P-positions is P = {0, 2, 7, 9, 14, 16, . . .}, the set of nonnegative integers leaving remainder 0 or 2 when divided by 7. The set of N-positions is the complement, N = {1, 3, 4, 5, 6, 8, 10, 11, 12, 13, 15, . . .}. x 0 1 position P N
2 3 P N
4 N
5 N
6 7 N P
8 9 N P
10 N
11 12 N N
13 N
14 . . . P ...
The pattern P NP NNNN of length 7 repeats forever. Who wins the game with 100 chips, the first player or the second? The P-positions are the numbers equal to 0 or 2 modulus 7. Since 100 has remainder 2 when divided by 7, 100 is a P-position; the second player to move can win with optimal play. 1.5 Exercises. 1. Consider the mis`ere version of the take-away game of Section 1.1, where the last player to move loses. The object is to force your opponent to take the last chip. Analyze this game. What are the target positions (P-positions)? 2. Generalize the Take-Away Game: (a) Suppose in a game with a pile containing a large number of chips, you can remove any number from 1 to 6 chips at each turn. What is the winning strategy? What are the P-positions? (b) If there are initially 31 chips in the pile, what is your winning move, if any? 3. The Thirty-one Game. (Geoffrey Mott-Smith (1954)) From a deck of cards, take the Ace, 2, 3, 4, 5, and 6 of each suit. These 24 cards are laid out face up on a table. The players alternate turning over cards and the sum of the turned over cards is computed as play progresses. Each Ace counts as one. The player who first makes the sum go above 31 loses. It would seem that this is equivalent to the game of the previous exercise played on a pile of 31 chips. But there is a catch. No integer may be chosen more than four times. (a) If you are the first to move, and if you use the strategy found in the previous exercise, what happens if the opponent keeps choosing 4? (b) Nevertheless, the first player can win with optimal play. How? 4. Find the set of P-positions for the subtraction games with subtraction sets (a) S = {1, 3, 5, 7}. (b) S = {1, 3, 6}. (c) S = {1, 2, 4, 8, 16, . . .} = all powers of 2. (d) Who wins each of these games if play starts at 100 chips, the first player or the second? 5. Empty and Divide. (Ferguson (1998)) There are two boxes. Initially, one box contains m chips and the other contains n chips. Such a position is denoted by (m, n), where m > 0 and n > 0. The two players alternate moving. A move consists of emptying one of the boxes, and dividing the contents of the other between the two boxes with at least one chip in each box. There is a unique terminal position, namely (1, 1). Last player to move wins. Find all P-positions. 6. Chomp! A game invented by Fred. Schuh (1952) in an arithmetical form was discovered independently in a completely different form by David Gale (1974). Gale’s I–6
version of the game involves removing squares from a rectangular board, say an m by n board. A move consists in taking a square and removing it and all squares to the right and above. Players alternate moves, and the person to take square (1, 1) loses. The name “Chomp” comes from imagining the board as a chocolate bar, and moves involving breaking off some corner squares to eat. The square (1, 1) is poisoned though; the player who chomps it loses. You can play this game on the web at http://www.math.ucla.edu/ tom/Games/chomp.html .
˜
For example, starting with an 8 by 3 board, suppose the first player chomps at (6, 2) gobbling 6 pieces, and then second player chomps at (2, 3) gobbling 4 pieces, leaving the following board, where denotes the poisoned piece.
(a) Show that this position is a N-position, by finding a winning move for the first player. (It is unique.) (b) It is known that the first player can win all rectangular starting positions. The proof, though ingenious, is not hard. However, it is an “existence” proof. It shows that there is a winning strategy for the first player, but gives no hint on how to find the first move! See if you can find the proof. Here is a hint: Does removing the upper right corner constitute a winning move? 7. Dynamic subtraction. One can enlarge the class of subtraction games by letting the subtraction set depend on the last move of the opponent. Many early examples appear in Chapter 12 of Schuh (1968). Here are two other examples. (For a generalization, see Schwenk (1970).) (a) There is one pile of n chips. The first player to move may remove as many chips as desired, at least one chip but not the whole pile. Thereafter, the players alternate moving, each player not being allowed to remove more chips than his opponent took on the previous move. What is an optimal move for the first player if n = 44? For what values of n does the second player have a win? (b) Fibonacci Nim. (Whinihan (1963)) The same rules as in (a), except that a player may take at most twice the number of chips his opponent took on the previous move. The analysis of this game is more difficult than the game of part (a) and depends on the sequence of numbers named after Leonardo Pisano Fibonacci, which may be defined as F1 = 1, F2 = 2, and Fn+1 = Fn + Fn−1 for n ≥ 2. The Fibonacci sequence is thus: 1, 2, 3, 5, 8, 13, 21, 34, 55, . . .. The solution is facilitated by Zeckendorf ’s Theorem. Every positive integer can be written uniquely as a sum of distinct non-neighboring Fibonacci numbers. There may be many ways of writing a number as a sum of Fibonacci numbers, but there is only one way of writing it as a sum of non-neighboring Fibonacci numbers. Thus, 43=34+8+1 is the unique way of writing 43, since although 43=34+5+3+1, 5 and 3 are I–7
neighbors. What is an optimal move for the first player if n = 43? For what values of n does the second player have a win? Try out your solution on http://www.math.ucla.edu/ tom/Games/fibonim.html .
˜
8. The SOS Game. (From the 28th Annual USA Mathematical Olympiad, 1999) The board consists of a row of n squares, initially empty. Players take turns selecting an empty square and writing either an S or an O in it. The player who first succeeds in completing SOS in consecutive squares wins the game. If the whole board gets filled up without an SOS appearing consecutively anywhere, the game is a draw. (a) Suppose n = 4 and the first player puts an S in the first square. Show the second player can win. (b) Show that if n = 7, the first player can win the game. (c) Show that if n = 2000, the second player can win the game. (d) Who, if anyone, wins the game if n = 14?
I–8
2. The Game of Nim. The most famous take-away game is the game of Nim, played as follows. There are three piles of chips containing x1 , x2 , and x3 chips respectively. (Piles of sizes 5, 7, and 9 make a good game.) Two players take turns moving. Each move consists of selecting one of the piles and removing chips from it. You may not remove chips from more than one pile in one turn, but from the pile you selected you may remove as many chips as desired, from one chip to the whole pile. The winner is the player who removes the last chip. You can play this game on the web at (http://www.chlond.demon.co.uk/Nim.html ), or at Nim Game (http://www.dotsphinx.com/nim/). 2.1 Preliminary Analysis. There is exactly one terminal position, namely (0, 0, 0), which is therefore a P-position. The solution to one-pile Nim is trivial: you simply remove the whole pile. Any position with exactly one non-empty pile, say (0, 0, x) with x > 0 is therefore an N-position. Consider two-pile Nim. It is easy to see that the P-positions are those for which the two piles have an equal number of chips, (0, 1, 1), (0, 2, 2), etc. This is because if it is the opponent’s turn to move from such a position, he must change to a position in which the two piles have an unequal number of chips, and then you can immediately return to a position with an equal number of chips (perhaps the terminal position). If all three piles are non-empty, the situation is more complicated. Clearly, (1, 1, 1), (1, 1, 2), (1, 1, 3) and (1, 2, 2) are all N-positions because they can be moved to (1, 1, 0) or (0, 2, 2). The next simplest position is (1, 2, 3) and it must be a P-position because it can only be moved to one of the previously discovered N-positions. We may go on and discover that the next most simple P-positions are (1, 4, 5), and (2, 4, 6), but it is difficult to see how to generalize this. Is (5, 7, 9) a P-position? Is (15, 23, 30) a P-position? If you go on with the above analysis, you may discover a pattern. But to save us some time, I will describe the solution to you. Since the solution is somewhat fanciful and involves something called nim-sum, the validity of the solution is not obvious. Later, we prove it to be valid using the elementary notions of P-position and N-position. 2.2 Nim-Sum. The nim-sum of two non-negative integers is their addition without carry in base 2. Let us make this notion precise. Every non-negative integer x has a unique base 2 representation of the form x = xm 2 + xm−1 2m−1 + · · · + x1 2 + x0 for some m, where each xi is either zero or one. We use the notation (xm xm−1 · · · x1 x0 )2 to denote this representation of x to the base two. Thus, 22 = 1 · 16 + 0 · 8 + 1 · 4 + 1 · 2 + 0 · 1 = (10110)2 . The nim-sum of two integers is found by expressing the integers to base two and using addition modulo 2 on the corresponding individual components: m
Definition. The nim-sum of (xm · · · x0 )2 and (ym · · · y0 )2 is (zm · · · z0 )2 , and we write (xm · · · x0 )2 ⊕ (ym · · · y0 )2 = (zm · · · z0 )2 , where for all k, zk = xk + yk (mod 2), that is, zk = 1 if xk + yk = 1 and zk = 0 otherwise. I–9
For example, (10110)2 ⊕ (110011)2 = (100101)2 . This says that 22 ⊕ 51 = 37. This is easier to see if the numbers are written vertically (we also omit the parentheses for clarity): 22 = 101102 51 = 1100112 nim-sum = 1001012 = 37 Nim-sum is associative (i.e. x ⊕ (y ⊕ z) = (x ⊕ y) ⊕ z) and commutative (i.e. x ⊕ y = y ⊕ x), since addition modulo 2 is. Thus we may write x ⊕ y ⊕ z without specifying the order of addition. Furthermore, 0 is an identity for addition (0⊕ x = x), and every number is its own negative (x ⊕ x = 0), so that the cancellation law holds: x ⊕ y = x ⊕ z implies y = z. (If x ⊕ y = x ⊕ z, then x ⊕ x ⊕ y = x ⊕ x ⊕ z, and so y = z.) Thus, nim-sum has a lot in common with ordinary addition, but what does it have to do with playing the game of Nim? The answer is contained in the following theorem of C. L. Bouton (1902). Theorem 1. A position, (x1 , x2 , x3 ), in Nim is a P-position if and only if the nim-sum of its components is zero, x1 ⊕ x2 ⊕ x3 = 0. As an example, take the position (x1 , x2 , x3 ) = (13, 12, 8). Is this a P-position? If not, what is a winning move? We compute the nim-sum of 13, 12 and 8: 13 = 12 = 8= nim-sum =
11012 11002 10002 10012 = 9
Since the nim-sum is not zero, this is an N-position according to Theorem 1. Can you find a winning move? You must find a move to a P-position, that is, to a position with an even number of 1’s in each column. One such move is to take away 9 chips from the pile of 13, leaving 4 there. The resulting position has nim-sum zero: 4 = 1002 12 = 11002 8 = 10002 nim-sum = 00002 = 0 Another winning move is to subtract 7 chips from the pile of 12, leaving 5. Check it out. There is also a third winning move. Can you find it? 2.3 Nim with a Larger Number of Piles. We saw that 1-pile nim is trivial, and that 2-pile nim is easy. Since 3-pile nim is much more complex, we might expect 4-pile nim to be much harder still. But that is not the case. Theorem 1 also holds for a larger number of piles! A nim position with four piles, (x1 , x2 , x3 , x4 ), is a P-position if and only if x1 ⊕ x2 ⊕ x3 ⊕ x4 = 0. The proof below works for an arbitrary finite number of piles. 2.4 Proof of Bouton’s Theorem. Let P denote the set of Nim positions with nimsum zero, and let N denote the complement set, the set of positions of positive nim-sum. We check the three conditions of the definition in Section 1.3. I – 10
(1) All terminal positions are in P. That’s easy. The only terminal position is the position with no chips in any pile, and 0 ⊕ 0 ⊕ · · · = 0. (2) From each position in N , there is a move to a position in P. Here’s how we construct such a move. Form the nim-sum as a column addition, and look at the leftmost (most significant) column with an odd number of 1’s. Change any of the numbers that have a 1 in that column to a number such that there are an even number of 1’s in each column. This makes that number smaller because the 1 in the most significant position changes to a 0. Thus this is a legal move to a position in P. (3) Every move from a position in P is to a position in N . If (x1 , x2 , . . .) is in P and x1 is changed to x′1 < x1 , then we cannot have x1 ⊕ x2 ⊕ · · · = 0 = x′1 ⊕ x2 ⊕ · · ·, 0, implying because the cancellation law would imply that x1 = x′1 . So x′1 ⊕ x2 ⊕ · · · = ′ that (x1 , x2 , . . .) is in N . These three properties show that P is the set of P-positions. It is interesting to note from (2) that in the game of nim the number of winning moves from an N-position is equal to the number of 1’s in the leftmost column with an odd number of 1’s. In particular, there is always an odd number of winning moves. 2.5 Mis` ere Nim. What happens when we play nim under the mis`ere play rule? Can we still find who wins from an arbitrary position, and give a simple winning strategy? This is one of those questions that at first looks hard, but after a little thought turns out to be easy. Here is Bouton’s method for playing mis`ere nim optimally. Play it as you would play nim under the normal play rule as long as there are at least two heaps of size greater than one. When your opponent finally moves so that there is exactly one pile of size greater than one, reduce that pile to zero or one, whichever leaves an odd number of piles of size one remaining. This works because your optimal play in nim never requires you to leave exactly one pile of size greater than one (the nim sum must be zero), and your opponent cannot move from two piles of size greater than one to no piles greater than one. So eventually the game drops into a position with exactly one pile greater than one and it must be your turn to move. A similar analysis works in many other games. But in general the mis`ere play theory is much more difficult than the normal play theory. Some games have a fairly simple normal play theory but an extraordinarily difficult mis`ere theory, such as the games of Kayles and Dawson’s chess, presented in Section 4 of Chapter 3. 2.6 Exercises. 1. (a) What is the nim-sum of 27 and 17? (b) The nim-sum of 38 and x is 25. Find x. 2. Find all winning moves in the game of nim, (a) with three piles of 12, 19, and 27 chips. (b) with four piles of 13, 17, 19, and 23 chips. (c) What is the answer to (a) and (b) if the mis´ere version of nim is being played? I – 11
3. Nimble. Nimble is played on a game board consisting of a line of squares labelled: 0, 1, 2, 3, . . . . A finite number of coins is placed on the squares with possibly more than one coin on a single square. A move consists in taking one of the coins and moving it to any square to the left, possibly moving over some of the coins, and possibly onto a square already containing one or more coins. The players alternate moves and the game ends when all coins are on the square labelled 0. The last player to move wins. Show that this game is just nim in disguise. In the following position with 6 coins, who wins, the next player or the previous player? If the next player wins, find a winning move. 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4. Turning Turtles. Another class of games, due to H. W. Lenstra, is played with a long line of coins, with moves involving turning over some coins from heads to tails or from tails to heads. See Chapter 5 for some of the remarkable theory. Here is a simple example called Turning Turtles. A horizontal line of n coins is laid out randomly with some coins showing heads and some tails. A move consists of turning over one of the coins from heads to tails, and in addition, if desired, turning over one other coin to the left of it (from heads to tails or tails to heads). For example consider the sequence of n = 13 coins: T 1
H T 2 3
T H 4 5
T T 6 7
T 8
H H T H T 9 10 11 12 13
One possible move in this position is to turn the coin in place 9 from heads to tails, and also the coin in place 4 from tails to heads. (a) Show that this game is just nim in disguise if an H in place n is taken to represent a nim pile of n chips. (b) Assuming (a) to be true, find a winning move in the above position. (c) Try this game and some other related games at http://www.chlond.demon.co.uk/Coins.html . 5. Northcott’s Game. A position in Northcott’s game is a checkerboard with one black and one white checker on each row. “White” moves the white checkers and “Black” moves the black checkers. A checker may move any number of squares along its row, but may not jump over or onto the other checker. Players move alternately and the last to move wins. Try out this game at http://www.chlond.demon.co.uk/Northcott.html . Note two points: 1. This is a partizan game, because Black and White have different moves from a given position. 2. This game does not satisfy the Ending Condition, (6) of Section 1.2. The players could move around endlessly. Nevertheless, knowing how to play nim is a great advantage in this game. In the position below, who wins, Black or White? or does it depend on who moves first? I – 12
6. Staircase Nim. (Sprague (1937)) A staircase of n steps contains coins on some of the steps. Let (x1 , x2 , . . . , xn ) denote the position with xj coins on step j, j = 1, . . . , n. A move of staircase nim consists of moving any positive number of coins from any step, j, to the next lower step, j − 1. Coins reaching the ground (step 0) are removed from play. A move taking, say, x chips from step j, where 1 ≤ x ≤ xj , and putting them on step j − 1, leaves xj − x coins on step j and results in xj−1 + x coins on step j − 1. The game ends when all coins are on the ground. Players alternate moves and the last to move wins. Show that (x1 , x2 , . . . , xn ) is a P-position if and only if the numbers of coins on the odd numbered steps, (x1 , x3 , . . . , xk ) where k = n if n is odd and k = n − 1 if n is even, forms a P-position in ordinary nim. 7. Moore’s Nimk . A generalization of nim with a similar elegant theory was proposed by E. H. Moore (1910), called Nimk . There are n piles of chips and play proceeds as in nim except that in each move a player may remove as many chips as desired from any k piles, where k is fixed. At least one chip must be taken from some pile. For k = 1 this reduces to ordinary nim, so ordinary nim is Nim1 . Try playing Nim2 at http://www.math.ucla.edu/ tom/Games/Moore.html .
˜
Moore’s Theorem states that a position (x1 , x2 , . . . , xn ), is a P-position in Nimk if and only if when x1 to xn are expanded in base 2 and added in base k + 1 without carry, the result is zero. (In other words, the number of 1’s in each column must be divisible by k + 1.) (a) Consider the game of Nimble of Exercise 3 but suppose that at each turn a player may move one or two coins to the left as many spaces as desired. Note that this is really Moore’s Nimk with k = 2. Using Moore’s Theorem, show that the Nimble position of Exercise 3 is an N-position, and find a move to a P-position. (b) Prove Moore’s Theorem. (c) What constitutes optimal play in the mis`ere version of Moore’s Nimk ?
I – 13
3. Graph Games. We now give an equivalent description of a combinatorial game as a game played on a directed graph. This will contain the games described in Sections 1 and 2. This is done by identifying positions in the game with vertices of the graph and moves of the game with edges of the graph. Then we will define a function known as the Sprague-Grundy function that contains more information than just knowing whether a position is a P-position or an N-position. 3.1 Games Played on Directed Graphs. We first give the mathematical definition of a directed graph. Definition. A directed graph, G, is a pair (X, F ) where X is a nonempty set of vertices (positions) and F is a function that gives for each x ∈ X a subset of X, F (x) ⊂ X. For a given x ∈ X, F (x) represents the positions to which a player may move from x (called the followers of x). If F (x) is empty, x is called a terminal position. A two-person win-lose game may be played on such a graph G = (X, F ) by stipulating a starting position x0 ∈ X and using the following rules: (1) Player I moves first, starting at x0 . (2) Players alternate moves. (3) At position x, the player whose turn it is to move chooses a position y ∈ F (x). (4) The player who is confronted with a terminal position at his turn, and thus cannot move, loses. As defined, graph games could continue for an infinite number of moves. To avoid this possibility and a few other problems, we first restrict attention to graphs that have the property that no matter what starting point x0 is used, there is a number n, possibly depending on x0 , such that every path from x0 has length less than or equal to n. (A path is a sequence x0 , x1 , x2 , . . . , xm such that xi ∈ F (xi−1 ) for all i = 1, . . . , m, where m is the length of the path.) Such graphs are called progressively bounded. If X itself is finite, this merely means that there are no cycles. (A cycle is a path, x0 , x1 , . . . , xm , with x0 = xm and distinct vertices x0 , x1 , . . . , xm−1 , m ≥ 3.) As an example, the subtraction game with subtraction set S = {1, 2, 3}, analyzed in Section 1.1, that starts with a pile of n chips has a representation as a graph game. Here X = {0, 1, . . . , n} is the set of vertices. The empty pile is terminal, so F (0) = ∅, the empty set. We also have F (1) = {0}, F (2) = {0, 1}, and for 2 ≤ k ≤ n, F (k) = {k−3, k−2, k−1}. This completely defines the game.
0
1
2
3
4
5
6
7
8
9
10
Fig. 3.1 The Subtraction Game with S = {1, 2, 3}. It is useful to draw a representation of the graph. This is done using dots to represent vertices and lines to represent the possible moves. An arrow is placed on each line to I – 14
indicate which direction the move goes. The graphic representation of this subtraction game played on a pile of 10 chips is given in Figure 3.1. 3.2 The Sprague-Grundy Function. Graph games may be analyzed by considering P-positions and N-positions. It may also be analyzed through the Sprague-Grundy function. Definition. The Sprague-Grundy function of a graph, (X, F ), is a function, g, defined on X and taking non-negative integer values, such that g(x) = min{n ≥ 0 : n = g(y)
for y ∈ F (x)}.
(1)
In words, g(x) the smallest non-negative integer not found among the Sprague-Grundy values of the followers of x. If we define the minimal excludant, or mex, of a set of non-negative integers as the smallest non-negative integer not in the set, then we may write simply g(x) = mex{g(y) : y ∈ F (x)}. (2) Note that g(x) is defined recursively. That is, g(x) is defined in terms of g(y) for all followers y of x. Moreover, the recursion is self-starting. For terminal vertices, x, the definition implies that g(x) = 0, since F (x) is the empty set for terminal x. For non-terminal x, all of whose followers are terminal, g(x) = 1. In the examples in the next section, we find g(x) using this inductive technique. This works for all progressively bounded graphs, and shows that for such graphs, the Sprague-Grundy function exists, is unique and is finite. However, some graphs require more subtle techniques and are treated in Section 3.4. Given the Sprague-Grundy function g of a graph, it is easy to analyze the corresponding graph game. Positions x for which g(x) = 0 are P-positions and all other positions are N-positions. The winning procedure is to choose at each move to move to a vertex with Sprague-Grundy value zero. This is easily seen by checking the conditions of Section 1.3: (1) If x is a terminal position, g(x) = 0. (2) At positions x for which g(x) = 0, every follower y of x is such that g(y) = 0, and (3) At positions x for which g(x) = 0, there is at least one follower y such that g(y) = 0. The Sprague-Grundy function thus contains a lot more information about a game than just the P- and N-positions. What is this extra information used for? As we will see in the Chapter 4, the Sprague-Grundy function allows us to analyze sums of graph games. 3.3 Examples. 1. We use Figure 3.2 to describe the inductive method of finding the SG-values, i.e. the values that the Sprague-Grundy function assigns to the vertices. The method is simply to search for a vertex all of whose followers have SG-values assigned. Then apply (1) or (2) to find its SG-value, and repeat until all vertices have been assigned values. To start, all terminal positions are assigned SG-value 0. There are exactly four terminal positions, to the left and below the graph. Next, there is only one vertex all of I – 15
2 1
3
0 0
2
1
0
2 1
0
0 c
0 0
a
b 2
1 0
0
Fig. 3.2
whose followers have been assigned values, namely vertex a. This is assigned value 1, the smallest number not among the followers. Now there are two more vertices, b and c, all of whose followers have been assigned SG-values. Vertex b has followers with values 0 and 1 and so is assibgned value 2. Vertex c has only one follower with SG-value 1. The smallest non-negative integer not equal to 1 is 0, so its SG-value is 0. Now we have three more vertices whose followers have been assigned SG-values. Check that the rest of the SG-values have been assigned correctly. 2. What is the Sprague-Grundy function of the subtraction game with subtraction set S = {1, 2, 3}? The terminal vertex, 0, has SG-value 0. The vertex 1 can only be moved to 0 and g(0) = 0, so g(1) = 1. Similarly, 2 can move to 0 and 1 with g(0) = 0 and g(1) = 1, so g(2) = 2, and 3 can move to 0, 1 and 2, with g(0) = 0, g(1) = 1 and g(2) = 2, so g(3) = 3. But 4 can only move to 1, 2 and 3 with SG-values 1, 2 and 3, so g(4) = 0. Continuing in this way we see x 0 g(x) 0
1 1
2 3 2 3
4 0
5 1
6 7 2 3
8 0
9 10 1 2
11 3
12 13 0 1
14 . . . 2...
In general g(x) = x (mod 4), i.e. g(x) is the remainder when x is divided by 4. 3. At-Least-Half. Consider the one-pile game with the rule that you must remove at least half of the counters. The only terminal position is zero. We may compute the Sprague-Grundy function inductively as x 0 g(x) 0
1 1
2 3 2 2
4 3
5 3
6 7 3 3
8 4
9 10 4 4
11 4
12 . . . 4 ...
We see that g(x) may be expressed as the exponent in the smallest power of 2 greater than x: g(x) = min{k : 2k > x}. I – 16
In reality, this is a rather silly game. One can win it at the first move by taking all the counters! What good is it to do all this computation of the Sprague-Grundy function if one sees easily how to win the game anyway? The answer is given in the next chapter. If the game is played with several piles instead of just one, it is no longer so easy to see how to play the game well. The theory of the next chapter tells us how to use the Sprague-Grundy function together with nim-addition to find optimal play with many piles. 3.4 The Sprague-Grundy Function on More General Graphs. Let us look briefly at the problems that arise when the graph may not be progressively bounded, or when it may even have cycles. First, suppose the hypothesis that the graph be progressively bounded is weakened to requiring only that the graph be progressively finite. A graph is progressively finite if every path has a finite length. This condition is essentially equivalent to the Ending Condition (6) of Section 1.2. Cycles would still be ruled out in such graphs. As an example of a graph that is progressively finite but not progressively bounded, consider the graph of the game in Figure 3.3 in which the first move is to choose the number of chips in a pile, and from then on to treat the pile as a nim pile. From the initial position each path has a finite length so the graph is progressively finite. But the graph is not progressively bounded since there is no upper limit to the length of a path from the initial position.
ω
0
1
2
3
4
5
6
Fig 3.3 A progressively finite graph that is not progressively bounded. The Sprague-Grundy theory can be extended to progressively finite graphs, but transfinite induction must be used. The SG-value of the initial position in Figure 3.3 above would be the smallest ordinal greater than all integers, usually denoted by ω. We may also define nim positions with SG-values ω + 1, ω + 2, . . . , 2ω, . . . , ω 2 , . . . , ω ω , etc., etc., etc. In Exercise 6, you are asked to find several of these transfinite SG-values. If the graph is allowed to have cycles, new problems arise. The SG-function satisfying (1) may not exist. Even if it does, the simple inductive procedure of the previous sections may not suffice to find it. Even if the the Sprague-Grundy function exists and is known, it may not be easy to find a winning strategy. Graphs with cycles do not satisfy the Ending Condition. Play may last forever, in which case we say the game ends in a tie; neither player wins. Here is an example where there are tied positions. I – 17
a c
d
e
b Figure 3.4 A cyclic graph. The node e is terminal and so has Sprague-Grundy value 0. Since e is the only follower of d, d has Sprague-Grundy value 1. So a player at c will not move to d since such a move obviously loses. Therefore the only reasonable move is to a. After two more moves, the game moves to node c again with the opponent to move. The same analysis shows that the game will go around the cycle abcabc . . . forever. So positions a, b and c are all tied positions. In this example the Sprague-Grundy function does not exist. When the Sprague-Grundy function exists, more subtle techniques are required to find it. Some examples for the reader to try his/her skill are found in Exercise 9. But there is another problem. Suppose the Sprague-Grundy function is known. If you are at a position with non-zero SG-value, you know you can win by moving to a position with SG-value 0. But which one? You may choose one that takes you on a long trip and after many moves you find yourself back where you started. An example of this is in Northcott’s Game in Exercise 5 of Chapter 2. There it is easy to see how to proceed to end the game, but in general it may be difficult to see what to do. For an efficient algorithm that computes the Sprague-Grundy function along with a counter that gives information on how to play, see Fraenkel (2002). 3.5 Exercises. 1.
Fig 3.5 Find the Sprague-Grundy function. 2. Find the Sprague-Grundy function of the subtraction game with subtraction set S = {1, 3, 4}. 3. Consider the one-pile game with the rule that you may remove at most half the chips. Of course, you must remove at least one, so the terminal positions are 0 and 1. Find the Sprague-Grundy function. I – 18
4. (a) Consider the one-pile game with the rule that you may remove c chips from a pile of n chips if and only if c is a divisor of n, including 1 and n. For example, from a pile of 12 chips, you may remove 1, 2, 3, 4, 6, or 12 chips. The only terminal position is 0. This game is called Dim+ in Winning Ways. Find the Sprague-Grundy function. (b) Suppose the above rules are in force with the exception that it is not allowed to remove the whole pile. This is called the Aliquot game by Silverman, (1971). (See http://www.cut-the-knot.com/SimpleGames/Aliquot.html .) Thus, if there are 12 chips, you may remove 1, 2, 3, 4, or 6 chips. The only terminal position is 1. Find the SpragueGrundy function. 5. Wythoff’s Game. (Wythoff (1907)) The positions of the Wythoff’s game are given by a queen on a chessboard. Players, sitting on the same side of the board, take turns moving the queen. But the queen may only be moved vertically down, or horizontally to the left or diagonally down to the left. When the queen reaches the lower left corner, the game is over and the player to move last wins. Thinking of the squares of the board as vertices and the allowed moves of the queen as edges of a graph, this becomes a graph game. Find the Sprague-Grundy function of the graph by writing in each square of the 8 by 8 chessboard its Sprague-Grundy value. (You may play this game at http://www.chlond.demon.co.uk/Queen.html .) 6. Two-Dimensional Nim is played on a quarter-infinite board with a finite number of counters on the squares. A move consists in taking a counter and moving it any number of squares to the left on the same row, or moving it to any square whatever on any lower row. A square is allowed to contain any number of counters. If all the counters are on the lowest row, this is just the game Nimble of Exercise 3 of Chapter 2. (a) Find the Sprague-Grundy values of the squares. (b) After you learn the theory contained in the next section, come back and see if you can solve the position represented by the figure below. Is the position below a P-position or an N-position? If it is an N-position, what is a winning move? How many moves will this game last? Can it last an infinite number of moves?
(c) Suppose we allow adding any finite number of counters to the left of, or to any row below, the counter removed. Does the game still end in a finite number of moves? I – 19
7. Show that subtraction games with finite subtraction sets have Sprague-Grundy functions that are eventually periodic. 8. Impatient subtraction games. Suppose we allow an extra move for impatient players in subtraction games. In addition to removing s chips from the pile where s is in the subtractions set, S, we allow the whole pile to be taken at all times. Let g(x) represent the Sprague-Grundy function of the subtraction game with subtraction set S, and let g +(x) represent the Sprague-Grundy function of impatient subtraction game with subtraction set S. Show that g +(x) = g(x − 1) + 1 for all x ≥ 1. 9. The following directed graphs have cycles and so are not progressively finite. See if you can find the P- and N- positions and the Sprague-Grundy function. (a)
(b)
(c)
I – 20
4. Sums of Combinatorial Games. Given several combinatorial games, one can form a new game played according to the following rules. A given initial position is set up in each of the games. Players alternate moves. A move for a player consists in selecting any one of the games and making a legal move in that game, leaving all other games untouched. Play continues until all of the games have reached a terminal position, when no more moves are possible. The player who made the last move is the winner. The game formed by combining games in this manner is called the (disjunctive) sum of the given games. We first give the formal definition of a sum of games and then show how the Sprague-Grundy functions for the component games may be used to find the Sprague-Grundy function of the sum. This theory is due independently to R. P. Sprague (1936-7) and P. M. Grundy (1939). 4.1 The Sum of n Graph Games. Suppose we are given n progressively bounded graphs, G1 = (X1 , F1 ), G2 = (X2 , F2 ), . . . , Gn = (Xn , Fn ). One can combine them into a new graph, G = (X, F ), called the sum of G1 , G2 , . . . , Gn and denoted by G = G1 +· · ·+Gn as follows. The set X of vertices is the Cartesian product, X = X1 ×· · ·×Xn . This is the set of all n-tuples (x1 , . . . , xn ) such that xi ∈ Xi for all i. For a vertex x = (x1 , . . . , xn ) ∈ X, the set of followers of x is defined as F (x) = F (x1 , . . . , xn ) = F1 (x1 ) × {x2 } × · · · × {xn } ∪ {x1 } × F2 (x2 ) × · · · × {xn } ∪ ··· ∪ {x1 } × {x2 } × · · · × Fn (xn ). Thus, a move from x = (x1 , . . . , xn ) consists in moving exactly one of the xi to one of its followers (i.e. a point in Fi (xi )). The graph game played on G is called the sum of the graph games G1 , . . . , Gn . If each of the graphs Gi is progressively bounded, then the sum G is progressively bounded as well. The maximum number of moves from a vertex x = (x1 , . . . , xn ) is the sum of the maximum numbers of moves in each of the component graphs. As an example, the 3-pile game of nim may be considered as the sum of three one-pile games of nim. This shows that even if each component game is trivial, the sum may be complex. 4.2 The Sprague-Grundy Theorem. The following theorem gives a method for obtaining the Sprague-Grundy function for a sum of graph games when the SpragueGrundy functions are known for the component games. This involves the notion of nim-sum defined earlier. The basic theorem for sums of graph games says that the Sprague-Grundy function of a sum of graph games is the nim-sum of the Sprague-Grundy functions of its component games. It may be considered a rather dramatic generalization of Theorem 1 of Bouton. The proof is similar to the proof of Theorem 1. I – 21
Theorem 2. If gi is the Sprague-Grundy function of Gi , i = 1, . . . , n, then G = G1 + · · · + Gn has Sprague-Grundy function g(x1 , . . . , xn ) = g1 (x1 ) ⊕ · · · ⊕ gn (xn ). Proof. Let x = (x1 , . . . , xn ) be an arbitrary point of X. Let b = g1 (x1 )⊕ · · ·⊕ gn (xn ). We are to show two things for the function g(x1 , . . . , xn ): (1) For every non-negative integer a < b, there is a follower of (x1 , . . . , xn ) that has g-value a. (2) No follower of (x1 , . . . , xn ) has g-value b. Then the SG-value of x, being the smallest SG-value not assumed by one of its followers, must be b. To show (1), let d = a ⊕ b, and k be the number of digits in the binary expansion of d, so that 2k−1 ≤ d < 2k and d has a 1 in the kth position (from the right). Since a < b, b has a 1 in the kth position and a has a 0 there. Since b = g1 (x1 ) ⊕ · · · ⊕ gn (xn ), there is at least one xi such that the binary expansion of gi (xi ) has a 1 in the kth position. Suppose for simplicity that i = 1. Then d ⊕ g1 (x1 ) < g1 (x1 ) so that there is a move from x1 to some x′1 with g1 (x′1 ) = d ⊕ g1 (x1 ). Then the move from (x1 , x2 , . . . , xn ) to (x′1 , x2 , . . . , xn ) is a legal move in the sum, G, and g1 (x′1 ) ⊕ g2 (x2 ) ⊕ · · · ⊕ gn(xn ) = d ⊕ g1 (x1 ) ⊕ g2 (x2 ) ⊕ · · · ⊕ gn (xn ) = d ⊕ b = a. Finally, to show (2), suppose to the contrary that (x1 , . . . , xn ) has a follower with the same g-value, and suppose without loss of generality that this involves a move in the first game. That is, we suppose that (x′1 , x2 , . . . , xn ) is a follower of (x1 , x2 , . . . , xn ) and that g1 (x′1 ) ⊕ g2 (x2 ) ⊕ · · · ⊕ gn (xn ) = g1 (x1 ) ⊕ g2 (x2 ) ⊕ · · · ⊕ gn (xn ). By the cancellation law, g1 (x′1 ) = g1 (x1 ). But this is a contradiction since no position can have a follower of the same SG-value. One remarkable implication of this theorem is that every progressively bounded impartial game, when considered as a component in a sum of such games, behaves as if it were a nim pile. That is, it may be replaced by a nim pile of appropriate size (its SpragueGrundy value) without changing the outcome, no matter what the other components of the sum may be. We express this observation by saying that every (progressively bounded) impartial game is equivalent to some nim pile. 4.3 Applications. 1. Sums of Subtraction Games. The one-pile subtraction game, G(m), with subtraction set Sm = {1, 2, . . . , m}, in which from 1 to m chips may be removed from the pile, has Sprague-Grundy function gm (x) = x (mod m + 1), and 0 ≤ gm (x) ≤ m. Consider the sum of three subtraction games. In the first game, m = 3 and the pile has 9 chips. In the second, m = 5 and the pile has 10 chips. And in the third, m = 7 and the pile has 14 chips. Thus, we are playing the game G(3) + G(5) + G(7) and the initial position is (9, 10, 14). The Sprague-Grundy value of this position is g(9, 10, 14) = g3 (9) ⊕ g5 (10) ⊕ g7 (14) = 1 ⊕ 4 ⊕ 6 = 3. One optimal move is to change the position in game G(7) to have Sprague-Grundy value 5. This can be done by removing one chip from the pile of 14, leaving 13. There is another optimal move. Can you find it? This shows the importance of knowing the Sprague-Grundy function. We present further examples of computing the Sprague-Grundy function for various one-pile games. I – 22
Note that although many of these one-pile games are trivial, as is one-pile nim, the SpragueGrundy function has its main use in playing the sum of several such games. 2. Even if Not All – All if Odd. Consider the one-pile game with the rule that you can remove (1) any even number of chips provided it is not the whole pile, or (2) the whole pile provided it has an odd number of chips. There are two terminal positions, zero and two. We compute inductively, x 0 g(x) 0
1 1
2 3 0 2
4 1
5 6 3 2
7 4
8 3
9 10 5 4
11 6
12 . . . 5 ...
and we see that g(2k) = k − 1 and g(2k − 1) = k for k ≥ 1. Suppose this game is played with three piles of sizes 10, 15 and 20. The SG-values are g(10) = 4, g(15) = 7 and g(20) = 9. Since 4 ⊕ 7 ⊕ 9 = 10 is nit zero, this is an N-position. A winning move is to change the SG-value 9 to a 3. For this we may remove 12 chips from the pile of 20 leaving 8, since g(8) = 3. 3. A Sum of Three Different Games. Suppose you are playing a three pile take-away game. For the first pile of 18 chips, the rules of the previous game, Even if Not All – All if Odd, apply. For the second pile of 17 chips, the rules of At-Least-Half apply (Example 3.3.3). For the third pile of 7 chips, the rules of nim apply. First, we find the SG-values of the three piles to be 8, 5, and 7 respectively. This has nim-sum 10 and so is an N-position. It can be changed to a P-position by changing the SG-value of the first pile to 2. From the above table, this occurs for piles of 3 and 6 chips. We cannot move from 18 to 3, but we can move from 18 to 6. Thus an optimal move is to subtract 12 chips from the pile of 18 chips leaving 6 chips. 4.4 Take-and-Break Games. There are many other impartial combinatorial games that may be solved using the methods of this chapter. We describe Take-and-Break Games here, and in the next chapter, we look in greater depth at another impartial combinatorial game called Green Hackenbush. Take-and-Break Games are games where the rules allow taking and/or splitting one pile into two or more parts under certain conditions, thus increasing the number of piles. 1. Lasker’s Nim. A generalization of Nim into a Take-and-Break Game is due to Emanuel Lasker, world chess champion from 1894 to 1921, and found in his book, Brettspiele der V¨olker (1931), 183-196. Suppose that each player at his turn is allowed (1) to remove any number of chips from one pile as in nim, or (2) to split one pile containing at least two chips into two non-empty piles (no chips are removed). Clearly the Sprague-Grundy function for the one-pile game satisfies g(0) = 0 and g(1) = 1. The followers of 2 are 0, 1 and (1, 1), with respective Sprague-Grundy values of 0, 1, and 1 ⊕ 1 = 0. Hence, g(2) = 2. The followers of 3 are 0, 1, 2, and (1, 2), with Sprague-Grundy values 0, 1, 2, and 1 ⊕ 2 = 3. Hence, g(3) = 4. Continuing in this manner, we see x 0 1 2 3 4 5 6 7 8 9 10 11 12 . . . g(x) 0 1 2 4 3 5 6 8 7 9 10 12 11 . . . I – 23
We therefore conjecture that g(4k + 1) = 4k + 1, g(4k + 2) = 4k + 2, g(4k + 3) = 4k + 4 and g(4k + 4) = 4k + 3, for all k ≥ 0. The validity of this conjecture may easily be verified by induction as follows. (a) The followers of 4k + 1 that consist of a single pile have Sprague-Grundy values from 0 to 4k. Those that consist of two piles, (4k, 1), (4k − 1, 2), . . . , (2k + 1, 2k), have even Sprague-Grundy values, and therefore g(4k + 1) = 4k + 1. (b) The followers of 4k + 2 that consist of a single pile have Sprague-Grundy values from 0 to 4k+1. Those that consist of two piles, (4k+1, 1), (4k, 2), . . . , (2k+ 1, 2k + 1), have Sprague-Grundy values alternately divisible by 4 and odd, so that g(4k + 2) = 4k + 2. (c) The followers of 4k + 3 that consist of a single pile have Sprague-Grundy values from 0 to 4k + 2. Those that consist of two piles, (4k + 2, 1), (4k + 1, 2), . . . , (2k + 2, 2k + 1), have odd Sprague-Grundy values, and in particular g(4k + 2, 1) = 4k + 3. Hence g(4k + 3) = 4k + 4. (d) Finally, the followers of 4k + 4 that consist of a single pile have SpragueGrundy values from 0 to 4k + 2, and 4k + 4. Those that consist of two piles, (4k + 3, 1)(4k + 2, 2), . . . , (2k + 2, 2k + 2), have Sprague-Grundy values alternately equal to 1 (mod 4) and even. Hence, g(4k + 4) = 4k + 3. Suppose you are playing Lasker’s nim with three piles of 2, 5, and 7 chips. What is your move? First, find the Sprague-Grundy value of the component positions to be 2, 5, and 8 respectively. The nim-sum of these three numbers is 15. You must change the position of Sprague-Grundy value 8 to a position of Sprague-Grundy value 7. This may be done by splitting the pile of 7 chips into two piles of say 1 and 6 chips. At the next move, your opponent will be faced with a four pile game of Lasker’s nim with 1, 2, 5 and 6 chips. This has Sprague-Grundy value zero and so is a P-position. 2. The Game of Kayles. This game was introduced a century ago by Sam Loyd (see Mathematical Puzzles of Sam Loyd, Vol 2., 1960, Dover Publications), and by H. E. Dudeney (see The Canterbury Puzzles and Other Curious Problems, 1958, Dover Publications, New York). Two bowlers face a line of 13 bowling pins in a row with the second pin already knocked down. “It is assumed that the ancient players had become so expert that they could always knock down any single kayle-pin, or any two kayle-pins that stood close together (i.e. adjacent pins). They therefore altered the game, and it was agreed that the player who knocked down the last pin was the winner.” This is one of our graph games played with piles of chips whose moves can be described as follows. You may remove one or two chips from any pile after which, if desired, you may split that pile into two nonempty piles. Removing one chip from a pile without splitting the pile corresponds to knocking down the end chip of a line. Removing one chip with splitting the pile into two parts corresponds to knocking down a pin in the interior of the line. Similarly for removing two chips. Let us find the Sprague-Grundy function, g(x), for this game. The only terminal position is a pile with no chips, so g(0) = 0. A pile on one chip can be moved only to an empty pile, so g(1) = 1. A pile of two chips can be moved either to a pile of one or I – 24
zero chips, so g(2) = 2. A pile of three chips can be moved to a pile of two or one chips, (SG-value 1 and 2) or to two piles of one chip each (SG-value 0), so g(3) = 3. Continuing in this way, we find more of the Sprague-Grundy values in Table 4.1. y\z 0 12 24 36 48 60 72
0 0 4 4 4 4 4 4
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
3 3 7 8 3 8 8 8
4 1 1 5 1 1 1 1
5 4 4 4 4 4 4 4
6 3 3 7 7 7 7 7
7 2 2 2 2 2 2 2
8 1 1 1 1 1 1 1
9 10 11 4 2 6 4 6 7 8 6 7 8 2 7 4 2 7 8 6 7 8 2 7
Table 4.1. The SG-values for Kayles. Entries for the Table are for g(y + z) where y is on the left side and z is at the top. From x = 72 on, the SG-values are periodic with period 12, with the values in the last line repeating forever. There are only 14 exceptions to the sequence of the last line. They are displayed in bold face type. The last exception is at x = 70. Since we know all the SG-values, we may consider the game as solved. 3. Dawson’s Chess. One of T. R. Dawson’s fanciful problems in Caissa’s Wild Roses (1935), republished in Five Classics of Fairy Chess by Dover (1973), is give-away chess played with pawns. “Given two equal lines of opposing Pawns, White on 3rd rank, Black on 5th, n adjacent files, White to play at losing game, what is the result?” (Captures must be made, last player to move loses.) We treat this game here under the normal ending rule, that the last player to move wins. Those unfamiliar with the movement of the pawn in chess might prefer a different way of describing the game as a kind of mis´ere tic-tac-toe on a line of n squares, with both players using X as the mark. A player may place an X on any empty square provided it is not next to an X already placed. (The player who is forced to move next to another X loses.) This game may be described as a game of removing chips from a pile and possibly splitting a pile into two piles. If n = 1 there is only one move to n = 0, ending the game. For n > 1, a move of placing an X at the end of a line removes the two squares at that end of the line from the game. This corresponds to removing two chips from the pile. Similarly, placing an X one square from the end corresponds to removing three chips from the pile. Placing an X in one of the squares not at the end or next to it corresponds to removing three chips from the pile and splitting the pile into to parts. Thus the rules of the game are: (1) You may remove one chip if it is the whole pile, or (2) you may remove two chips from any pile, or (3) you may remove three chips from any pile and if desired split that pile into two parts. The Sprague-Grundy sequence for Dawson’s chess begins x 0 g(x) 0
1 1
2 3 1 2
4 0
5 3
6 7 1 1
8 0
9 10 3 3 I – 25
11 2
12 13 2 4
14 0
15 16 5 2
17 18 2 3
It is eventually periodic with period 34. There are only 7 exceptions and the last exception occurs at n = 51. Can you find the winning move on a line of 18 squares? Armed with the above Sprague-Grundy sequence, you may hone your skill at the game by playing against the computer at http://www.math.ucla.edu/ tom/Games/dawson.html .
˜
4. Grundy’s Game. In Grundy’s Game, the only legal move is to split a single pile into two nonempty piles of different sizes. Thus the only terminal positions are piles of size one or two. The Sprague-Grundy sequence is easy to compute for small pile sizes (see Exercise 10) and the values increase very slowly. Is the Sprague-Grundy sequence eventually periodic? This is unknown though more than 20,000,000,000 values have been computed as of 2002. 4.5 Exercises. 1. Consider the take-away game with the rule that (1) you may remove any even number of chips from any pile, or (2) you may remove any pile consisting of one chip. The only terminal position is 0. Find the Sprague-Grundy function. 2. Consider the one-pile game with the rule that you may remove (1) any number of chips divisible by three provided it is not the whole pile, or (2) the whole pile, but only if it has 2 (mod 3) chips (that is, only if it has 2, or 5, or 8, . . . chips). The terminal positions are zero, one and three. Find the Sprague-Grundy function. 3. Suppose you are playing a three-pile subtraction game. For the first pile of 18 chips, the rules of Exercise 1 hold. For the second pile of 17 chips, the rules of Exercise 2 apply. For the third pile of 7 chips, the rules of nim apply. What is the Sprague-Grundy value of this position? Find an optimal move. 4. Solve the Kayles problem of Dudeney and Loyd. Of the 13 bowling pins in a row, the second has been knocked down, leaving:
1
3
4
5
6
7
8
9
10
11
12
13
Figure 4.1 The Kayles problem of Dudeney and Loyd (a) Show this is an N-position. You may use Table 4.1. (b) Find a winning move. Which pin(s) should be knocked down? (c) Now that you know the theory and have Table 4.1 at hand, you can go to http://www.chlond.demon.co.uk/Kayles.html and beat the computer. 5. Suppose at each turn a player may (1) remove one or two chips, or (2) remove one chip and split the remaining chips into two piles. (a) Find the Sprague-Grundy function. (b) Suppose the starting position consists of one pile with 15 chips. Find an optimal first move. I – 26
6. Suppose that at each turn a player may (1) remove one chip if it is a whole pile, or (2) remove two or more chips and, if desired, split the remaining chips into two piles. Find the Sprague-Grundy function. 7. Suppose that at each turn a player may select one pile and remove c chips if c = 1 (mod 3) and, if desired, split the remaining chips into two piles. Find the Sprague-Grundy function. 8. Rims. A position in the game of Rims is a finite set of dots in the plane, possibly separated by some nonintersecting closed loops. A move consists of drawing a closed loop passing through any positive number of dots (at least one) but not touching any other loop. Players alternate moves and the last to move wins. (a) Show that this game is a disguised form of nim. (b) In the position given in Figure 4.2, find a winning move, if any.
Figure 4.2 A Rims Position 9. Rayles. There are many geometric games like Rims treated in Winning Ways, Chapter 17. In one of them, called Rayles, the positions are those of Rims, but in Rayles, each closed loop must pass through exactly one or two points. (a) Show that this game is a disguised form of Kayles. (b) Assuming the position given in Figure 4.2 is a Rayles position, find a winning move, if any. 10. Grundy’s Game. (a) Compute the Sprague-Grundy function for Grundy’s game, Example 4 Section 4.4, for a pile of n chips for n = 1, 2, . . . , 13. (b) In Grundy’s game with three piles of sizes 5, 8, and 13, find all winning first moves, if any. 11. A game is played on a finite (undirected) graph as follows. Players alternate moves. A move consists of removing a vertex and all edges incident to that vertex, with the exception that a vertex without any incident edges may not be removed. That is, at least one edge must be removed. Last player to move wins. Investigate this game. For example, (a) Find the Sprague-Grundy value of Sn , the star with n points. (The star with n points is the graph with n + 1 vertices and n edges that share a common vertex.) (b) Find the Sprague-Grundy value of Ln , the line of n edges and n + 1 vertices (at least for small values of n). (c) Find the Sprague-Grundy value of Cn, the circular graph of n vertices and n edges. (d) Find the Sprague-Grundy value of a double star. (A double star is a graph of two stars joined by a single edge.) I – 27
(e) Who wins the 3 by 3 square lattice, (i)? Who wins the tic-tac-toe board, (ii)? Generalize.
(i)
(ii) Figure 4.3
I – 28
5. Coin Turning Games. We have mentioned the game called Turning Turtles in Exercise 2.4 as a disguised version of nim. This form of the game of nim is a prototype of a class of other games that have similar descriptions. These ideas are due to H. W. Lenstra. In particular, the extension of these games to two dimensions leads to a beautiful theory involving nim multiplication which, with the definition of nim addition, makes the non-negative integers into a field. In this class of games, called Coin Turning Games, we are given a finite number of coins in a row, each showing either heads or tails. A move consists of turning over, from heads to tails or from tails to heads, all coins in a set of coins allowed by the rules of the game. The rules always specify that the rightmost coin turned over must go from heads to tails. The purpose of this is to guarantee that the game will end in a finite number of moves no matter how it is played (the Ending Condition). The rules also specify that the set of coins that may be turned over depends only on the position of the rightmost coin turned over and not otherwise on the position of the other heads and tails, or on the previous moves of the game, or on time, etc. Moreover, the games are impartial and the last player to move wins. Under these conditions, the same decomposition that worked for Turning Turtles also works for all these games, namely: A position with k heads in positions x1 , . . . , xk is the (disjunctive) sum of k games each with exactly one head, where for j = 1, . . . , k the head in game j is at xj . For example, the game, T H H T T H, is the sum of the three games, T H, T T H, and T T T T T H. This implies that to find the Sprague-Grundy value of a position, we only need to know the Sprague-Grundy values of positions with exactly one head. In the example, g(T H H T T H) = g(T H) ⊕ g(T T H) ⊕ g(T T T T T H). We begin with some examples. 5.1 Examples. 1. Subtraction Games. Many impartial combinatorial games can be put into the form of coin turning games, though the description may become rather complex. On the other hand, some games with simple descriptions as coin turning games have complex descriptions as games played with piles of counters. Subtraction Games have simple descriptions under both forms. Take for example the simple take-away game of Section 1.1, where we may remove from 1 to 3 counters from a pile. As a coin turning game, we may take the rules to be as follows. Label the positions of the coins starting from 1 for the leftmost coin, to n for the rightmost coin, where n is the number of coins. Some coin, say in position x, must be turned over from heads to tails, and a second coin in one of the positions x − 1, x − 2, or x − 3, must be turned over, except when x ≤ 3, in which case a second coin need not be turned over. We may compute the Sprague-Grundy function of this game as we did in Section 3.3. A heads in position 1 can only be turned over, ending the game; so it has SG-value 1. A single heads in the second position can be moved to a single heads in the first position or I – 29
to all tails; so it has SG-value 2. Continuing this analysis, we find position x : 1 g(x) : 1
2 2
3 4 3 0
5 1
6 2
7 8 3 0
9 1
10 11 2 3
12 0
13 14 . . . 1 2...
(1)
exactly as before. A row of coins with several heads corresponds to several piles of counters. Other subtraction games may be treated similarly. If S is the subtraction set, then as a coin turning game it may be described as: Some x goes from heads to tails, and also some y = x − z is turned over for some z in S, unless x − z = 0 for some z in S in which case no second coin need be reversed. There is another way of describing subtraction games as coin turning games. We require exactly two coins to be turned over at all times, the distance between the coins being y for some y ∈ S, with the rightmost coin going from heads to tails. In the analysis for this case, it is more convenient to start labelling the positions of the coins from 0 instead of 1. The first coin on the left is in position 0, the second coin from the left is in position 1 and so on. In the analysis of the simple case where S = {1, 2, 3}, a singleton heads in position 0 is a terminal position and so has SG-value 0. A singleton heads in position 1 can only be moved to a singleton heads in position 0 and so has SG-value 1. Continuing in the manner gives the same Sprague-Grundy function as in (1) but starting at position x = 0 with g(0) = 0. 2. Twins. This method applied to the game Turning Turtles gives us an equivalent game called Twins, which is also equivalent to nim. In turning Turtles, we may turn over one or two coins, with the rightmost coin going from heads to tails. In the game, Twins, the rules are: Turn over exactly two coins, with the rightmost coin going from heads to tails. If we label the positions of the coins from the left starting with 0, then the Sprague-Grundy function will be g(x) = x, the same as nim. 3. Mock Turtles. Here is a game that is better suited for description as a cointurning game than as a game involving piles of counters. It is like Turning Turtles but we are allowed to turn over up to three coins. The rules are : Turn over one, two, or three coins with the rightmost going from heads to tails. In computing the Sprague-Grundy function, it is again useful to start labelling the positions from 0, but for a different reason. A heads in position 0 can only move to the terminal position and so has SG-value 1. A heads in position 1 can move to heads in position 0 or to the terminal position and so has SG-value 2. A heads in position 2 can move to heads in position 1 (SG-value 2), or to heads in position 0 (SG-value 1), or to heads in positions 0 and 1 (SG-value 3) or to the terminal position, and so has SG-value 4. Continuing further we find position x : g(x) :
0 1 1 2
2 4
3 7
4 5 8 11
6 13
7 8 14 16
9 10 19 21
11 22
12 13 25 26
14 . . . 28 . . .
(2)
What are these numbers? It seems as if g(x) is equal to either 2x or 2x + 1; but which one? The answer depends on the number of 1’s appearing in the binary expansion of 2x. An nonnegative integer is called odious if the number of 1’s in its binary expansion is odd, I – 30
and it is called evil otherwise. Thus the numbers 1, 2, 4, and 7 are odious since the binary expansions are 1, 10, 100, and 111. The numbers 0, 3, 5, and 6 are evil (expansions 0, 11, 101, and 110). All the numbers appearing as g(x) in (2) are odious. Moreover, the sequence (2) seems to contain all the odious numbers in order. Thus it seems as if g(x) is 2x if 2x is odious and 2x + 1 if 2x is evil. How can we check this? The key observation is to note that the nim-sum of two evil numbers or two odious numbers is evil, and that the nim-sum of a evil number and an odious number is odious. Symbolically, evil ⊕ evil = odious ⊕ odious = evil evil ⊕ odious = odious ⊕ evil = odious To show that the SG-values in (2) are just the odious numbers in order, we proceed by induction. Suppose this hypothesis is true for every position to the left of x, and we want to show that g(x) is the next odious number. Note that we can always move to an SG-value 0 by turning over just the coin at x. By turning over the coin at x and one other coin, we can move to all previous odious numbers. By turning over the coin at x and two other coins, we can move all smaller evil numbers, since every nonzero evil number is the nim-sum of two smaller odious numbers; but we can never move the next odious number because the sum of two odious numbers is evil. This completes the induction. Suppose now that a Mock Turtles position with heads at positions x1 , x2 , . . . , xn is a P-position, so that g(x1 ) ⊕ · · · ⊕ g(xn ) = 0. Then certainly n must be even since the sum of an odd number of odious numbers is odious and cannot be zero. Moreover, since g(x) is just 2x with a 1 added if necessary to make g(x) odious, we must have x1 ⊕ · · · ⊕ xn = 0. Conversely, if x1 ⊕ · · · ⊕ xn = 0 and n is even, then g(x1 ) ⊕ · · · ⊕ g(xn ) = 0. This gives us a very simple description of the P-positions in Turning Turtles. The P-positions in Mock Turtles are exactly those P-positions in nim that have an even number of piles. Note that {1, 2, 3} is a P-position in nim, but not in Mock Turtles. However, the position {0, 1, 2, 3} is a P-position in Mock Turtles. The coin at position 0 is known as the Mock Turtle. Even though the Mock Turtle has Sprague-Grundy value 0 in this interpretation of the P-positions, it still plays a role in the solution. 4. Ruler. Here is another game with a simple description as a coin turning game. Any number of coins may be turned over but they must be consecutive, and the rightmost coin must be turned from heads to tails. If we number the positions of the coins starting with 1 on the left, the Sprague-Grundy function for this game satisfies g(n) = mex{0, g(n − 1), g(n − 1) ⊕ g(n − 2), . . . , g(n − 1) ⊕ . . . ⊕ g(1)}. From this, it is easy to show that the function satisfies position x : g(x) :
1 2 1 2
3 1
4 4
5 6 1 2
7 1
8 8
9 10 1 2
I – 31
11 12 1 4
13 1
14 15 2 1
16 . . . 16 . . .
(3)
Thus, g(x) is the largest power of 2 dividing x. This game is called Ruler because of the way the function g(x) imitates the marks on a ruler, (similar to the Sprague-Grundy function for Dim+ ). 5. Grunt. Turn over four symmetric coins, one of which is the leftmost coin, with the rightmost coin going from heads to tails. This is Grundy’s game in disguise. Number the positions of the coins from 0. A singleton heads in positions 0, 1, or 2, is a terminal position and so has SG-value 0. A singleton heads in position n ≥ 3 gets replaced by heads in positions 0, x and n − x for some x < n/2. The heads in position 0 has SG-value 0, so this is like taking a pile of n counters and splitting it into two nonempty piles of different sizes — exactly Grundy’s Game. 5.2 Two-dimensional Coin Turning Games. In the generalization of coin turning games to two dimensions, the coins to be turned are in a rectangular array. We number the coordinates of the array starting at (0, 0), with coins at coordinates (x, y) with x ≥ 0 and y ≥ 0. The condition that the rightmost coin turned must be from heads to tails is replaced by the condition that one of the coins, say at (x, y) and referred to as the southeast coin, goes from heads to tails and that any other coins that are turned over must be in the rectangle {(a, b) : 0 ≤ a ≤ x, 0 ≤ b ≤ y}. 1. Acrostic Twins. A move is to turn over two coins, either in the same row or the same column, with the southeast coin going from heads to tails. The Sprague-Grundy function satisfies g(x, y) = mex{g(x, b), g(a, y) : 0 ≤ b < y, 0 ≤ a < x},
(4)
this being the least number not appearing earlier in the same row or column as (x, y). If y = 0, this game is just nim, so g(x, 0) = x; similarly g(0, y) = y, the function being symmetric. It is easy to construct the following table of the values of g(x, y); each entry is just the mex of the numbers above it and to the left. When we do we find a pleasant surprise — that g(x, y) is just the nim-sum, x ⊕ y.
0 1 2 3 4 5 6 7 8 9
0
1
0 1 2 3 4 5 6 7 8 9
1 0 3 2 5 4 7 6 9 8
2
3
4
2 3 3 2 0 1 1 0 6 7 7 6 4 5 5 4 10 11 11 10
4 5 6 7 0 1 2 3 12 13
5
6
7
8
9
5 6 4 7 7 4 6 5 1 2 0 3 3 0 2 1 13 14 12 15
7 8 5 4 3 2 1 0 15 14
8 9 10 11 12 13 14 15 0 1
9 8 11 10 13 12 15 14 1 0
Table 5.1. For Acrostic Twins, g(x, y) = x ⊕ y. I – 32
To fix the ideas, consider the game with layout T T T T T T T T H T (5) T T T T T T T H T T T T T T H We use the convention when referring to a position at (x, y) in such a layout, that x represents row and y represents column. Thus, the three heads are at positions (1,3), (3,2) and (4,4). The heads are at positions with SG-values, 2, 1 and 0. Since 2 ⊕ 1 ⊕ 0 = 3, this is an N-position. It can be moved to a P-position by moving the SG-value 2 to SG-value 1. This is done by turning over the coins at positions (1,3) and (1,0). (There are other winning moves. Can you find them?) 2. Turning Corners. Let us examine a more typical game. A move consists of turning over four distinct coins at the corners of a rectangle, i.e. (a, b), (a, y), (x, b) and (x, y), where 0 ≤ a < x and 0 ≤ b < y. The Sprague-Grundy function of this game satisfies the condition g(x, y) = mex{g(x, b) ⊕ g(a, y) ⊕ g(a, b) : 0 ≤ a < x, 0 ≤ b < y}.
(6)
Since we require that the four corners of the selected rectangle be distinct, no coin along the edge of the board may be used as the southeast coin. Therefore, g(x, 0) = g(0, y) = 0 for all x and y. Moreover, g(1, 1) = 1 and g(x, 1) = mex{g(a, 1) : 0 ≤ a < x} = x by induction (or simply by noticing that the game starting at (x, 1) is just nim). The rest of Table 5.2 may be constructed using equation (6).
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0
1
2
3
4
5
6
7
8
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 2 3 1 8 10 11 9 12 14 15 13 4 6 7 5
0 3 1 2 12 15 13 14 4 7 5 6 8 11 9 10
0 4 8 12 6 2 14 10 11 15 3 7 13 9 5 1
0 5 10 15 2 7 8 13 3 6 9 12 1 4 11 14
0 6 11 13 14 8 5 3 7 1 12 10 9 15 2 4
0 7 9 14 10 13 3 4 15 8 6 1 5 2 12 11
0 8 12 4 11 3 7 15 13 5 1 9 6 14 10 2
9 10 0 9 14 7 15 6 1 8 5 12 11 2 10 3 4 13
0 10 15 5 3 9 12 6 1 11 14 4 2 8 13 7
11
12 13
14
15
0 11 13 6 7 12 10 1 9 2 4 15 14 5 3 8
0 12 4 8 13 1 9 5 6 10 2 14 11 7 15 3
0 14 7 9 5 11 2 12 10 4 13 3 15 1 8 6
0 15 5 10 1 14 4 11 2 13 7 8 3 12 6 9
Table 5.2. For Turning Corners, g(x, y) = x ⊗ y. I – 33
0 13 6 11 9 4 15 2 14 3 8 5 7 10 1 12
As an illustration, let us compute g(4, 4) using equation (6). The are 16 moves from position (4,4), but using symmetry we can reduce the number to 10, say (x, y) for 0 ≤ x ≤ y ≤ 3. Computing the SG-values of each of these moves separately, we find g(4, 4) = mex{0, 4, 8, 12, 1, 14, 11, 3, 5, 2} = 6. If (5) represents a position in Turning Corners, we can find the SG-value easily as 3 ⊕ 1 ⊕ 6 = 4. This is therefore an N-position, that can be moved to a P-position by moving the SG-value 6 to an SG-value 2. There is a unique way that this may be done, namely by turning over the four coins at (3,3), (3,4), (4,3) and (4,4). T T T T T
T T T T T
T T T H T
T H T T T
T T T T H
−→
T T T T T
T T T T T
T T T H T
T H T H H
T T T H T
5.3 Nim Multiplication. The entries in Table 5.2 may seem rather haphazard, but such an appearance is deceptive. In fact, the function g defined by (6) may be considered as a form of nim multiplication. Using the notation x⊗ y to represent g(x, y), we can easily see that 0 acts like a zero for multiplication since x ⊗ 0 = 0 ⊗ x = 0 for all x; and 1 acts like a unit for multiplication since x ⊗ 1 = 1 ⊗ x = x for all x. Moveover, the commutative law obviously holds: x ⊗ y = y ⊗ x for all x and y. Not at all obvious is the fact that the associative law holds: x ⊗ (y ⊗ z) = (x ⊗ y) ⊗ z,
for all x, y and z.
(7)
Thus 3 ⊗ (5 ⊗ 6) = 3 ⊗ 8 = 4, and (3 ⊗ 5) ⊗ 6 = 15 ⊗ 6 = 4. Even more remarkably, when combined with nim addition, the distributive law holds: x ⊗ (y ⊕ z) = (x ⊗ y) ⊕ (x ⊗ z) for all x, y and z.
(8)
For example, 3 ⊗ (5 ⊕ 6) = 3 ⊗ 3 = 2 and (3 ⊗ 5) ⊕ (3 ⊗ 6) = 15 ⊕ 13 = 2. Another significant fact is that every number other than zero has a multiplicative inverse. One sees this by noting that there is a 1 in every row except the top row of the multiplication table. Thus the nim reciprocal of 2 is 3 since 2 ⊗ 3 = 1. Using ⊘ to indicate nim division, this is written as 1 ⊘ 2 = 3. Check that we also have 1 ⊘ 7 = 11 and 6 ⊘ 5 = 9. In mathematical terms, the nonnegative integers form a field under the operations of nim addition and nim multiplication. See Lenstra (1977-78). In the book of Conway (1976), it is shown that this is the “simplest” field, in some sense, that one can make out of the integers. We assume in what follows that laws (7) and (8) hold. Aren’t you glad you don’t have to memorize this multiplication table? Still, it would be nice if one could find the product, say 24 ⊗ 17, without first finding all products of smaller numbers. Here is a method of acomplishing that feat. Let us call a number of the n form 22 for n = 0, 1, 2, . . ., a Fermat 2-power. These are the numbers 2, 4, 16, 256, 65536, I – 34
. . . . We can find the product of two numbers using the following two rules, along with the associative and distributive laws, (7) and (8). (i) The nim-product of a Fermat 2-power and any smaller number is their ordinary product. (ii) The nim-product of a Fermat 2-power with itself is the Fermat 2-power times 3/2 in the ordinary sense. Thus, 2 ⊗ 16 = 32, but 16 ⊗ 16 = (3/2)16 = 24. Let us find 24 ⊗ 17. 24 ⊗ 17 = (16 ⊕ 8) ⊗ (16 ⊕ 1) = (16 ⊗ 16) ⊕ (16 ⊗ 1) ⊕ (8 ⊗ 16) ⊕ (8 ⊗ 1) = 24 ⊕ 16 ⊕ 128 ⊕ 8 = 128. As another example, let us find 8 ⊗ 8. We cannot write 8 as the nim-sum of two simpler numbers, but we can write it as the nim-product of two simpler numbers, namely, 8 = 2⊗4. So, 8 ⊗ 8 = (2 ⊗ 4) ⊗ (2 ⊗ 4) = 2 ⊗ 2 ⊗ 4 ⊗ 4 = 3 ⊗ 6 = (2 ⊕ 1) ⊗ (4 ⊕ 2) = (2 ⊗ 4) ⊕ (2 ⊗ 2) ⊕ (1 ⊗ 4) ⊕ (1 ⊗ 1) = 8 ⊕ 3 ⊕ 4 ⊕ 2 = 13, which agrees with the value given in Table 5.2. 5.4 Tartan Games. The game Turning Corners is an example of a class of games with solutions that can be found with the aid of nim multiplication. These are the Tartan Games. Given two one-dimensional coin turning games, G1 and G2 , one can define the tartan game G1 ×G2 to be the two dimensional coin turning game whose moves can be described as follows. If turning coins at positions x1 , x2 , . . . , xm is a legal move in G1 and turning coins at positions y1 , y2 , . . . , yn is a legal move in G2 , then turning coins at positions (xi , yj ) for all 1 ≤ i ≤ m and 1 ≤ j ≤ n is a legal move in G1 ×G2 (provided, of course, that the southeast coin goes from heads to tails). With this definition, the game Turning Corners is just the game Twins×Twins. In Twins, we turn over two coins, so in Turning Corners, we turn over four coins at the corners of a rectangle. Tartan Games may be analyzed by means of the following theorem in which G1 and G2 represent two 1-dimensional coin turning games. The Tartan Theorem. If g1 (x) is the Sprague-Grundy function of G1 and g2 (y) is the Sprague-Grundy function of G2 , then the Sprague-Grundy function, g(x, y), of G1 ×G2 is the nim product, g(x, y) = g1 (x) ⊗ g2 (y). (9) For the game of Twins, the Sprague-Grundy function is simply g(x) = x. Since Turning Corners = Twins×Twins, the Tartan Theorem says that the Sprague-Grundy function for Turning Corners is just g(x, y) = x ⊗ y. Turning Turtles Squared. In the game (Turning Turtles)×(Turning Turtles), we may turn over any four coins at the corners of a rectangle as in Turning Corners, but we may also turn over any two coins in the same row, or any two coins in the same column, or we may turn over any single coin. Thus it is like Turning Corners, but the rectangle may I – 35
be degenerate. Although the Sprague-Grundy function of Turning Turtles is g(x) = x for x ≥ 1, remember that we started labelling the positions from 1 rather than 0. Equivalently, we may cross out all the zeros from Table 5.2 and use that as the Sprague-Grundy function, but we must remember that we are starting the labelling at (1,1). For example, if display (5) is a position in (Turning Turtles)2 , the SG-value is 8 ⊕ 12 ⊕ 7 = 3. A winning move is to change the SG-value 7 to SG-value 4. This may be done by turning over the coin at (5,5) (remember we begin the labelling at (1,1)) and also the three coins at (2,3), (2,5) and (5,3), whose combined SG-value is 1 ⊕ 10 ⊕ 15 = 4. T T T T T
T T T T T
T T T H T
T H T T T
T T T T H
−→
T T T T T
T T T T T
T H T H H
T H T T T
T H T T T
Rugs. A more interesting example is given by the game Rugs = Ruler×Ruler. Since a move in Ruler is to turn over all coins in any set of consecutive coins, a move in Rugs is to turn over all coins in any rectangular block of coins. Let us construct a table of the SG-values of the game Rugs. Recall that the Sprague-Grundy sequence for Ruler is 1, 2, 1, 4, 1, 2, 1, 8,. . . , starting the labelling at 1. The SG-values for Rugs are therefore just the nim products of these numbers. In Table 5.3, we put the SG-values for Ruler along the edges, and the nim products in the body of the table.
1 2 1 4 1 2 1 8
1
2
1
4
1 2 1 4 1 2 1 8
2 3 2 8 2 3 2 12
1 2 1 4 1 2 1 8
4 8 4 6 4 8 4 11
1
2
1
8
1 2 2 3 1 2 4 8 1 2 2 3 1 2 8 12
1 2 1 4 1 2 1 8
8 12 8 11 8 12 8 13
Table 5.3. The Sprague-Grundy values for Rugs. As an example, consider the position of display (5) as a position in Rugs, The SGvalues of the heads are 8, 4, and 1 with nim sum 13. There is a winning move that takes the SG-value 8 and replaces it with an SG-value 5. The move that achieves this is the move that turns over all the coins in the 2 × 4 rectangle from (1,1) to (2,4). T T T T T
T T T T T
T T T H T
T H T T T
T T T T H
−→
I – 36
H H T T T
H H T T T
H H T H T
H T T T T
T T T T H
This game is sometimes called Turnablock. Now that you know how to play well, try your skill on the web at http://thinks.com/java/turnablock/turnablock.htm . Solving Tartan Games. One of the difficulties of dealing with tartan games is that it is not always easy to find winning moves due to the bewildering number and complexity of moves available. Consider for example the following position in a game of (Mock Turtles)×(Mock Turtles) with just two heads. T T T T T
H T T T T
T T T T T
T T T T T
T T T T T
T T T T H
It is easy to find whether or not we can win if we are to move in this position. Recalling that the SG-sequence for Mock Turtles is 1, 2, 4, 7, 8, 11, we can find the corresponding SG-values for this problem using the multiplication table. 1 1 2 4 7 8
2
4
7
8
11
1 2 2 3 4 8 7 9 8 12
4 8 6 10 11
7 9 10 4 15
8 12 11 15 13
11 13 7 1 9
Table 5.4. The Sprague-Grundy values for (Mock Turtles)2 . We see that the two heads in our position occur at SG-values 2 and 9, with a nim-sum of 11. Therefore we can win if it is our turn to move. Moreover, to win we must replace the heads with SG-value 9 with some move of SG-value 2, but how do we find such a move? There are 176 different moves from this position using the heads with SG-value 9 as the southeast corner, and many of them are rather complex. Here is a method that will make the search for a winning move easier. It has the advantage that if you understand why the method works, you will be able to see why the Tartan Theorem holds. (See Exercise 7.) The method is as follows. In playing G1 × G2 , suppose you are at position (x, y) with SG-value g1 (x) ⊗ g2 (y) = v and suppose you desire to replace the SG-value v by an SG-value u. (In the above example, (x, y) = (4, 5), g1 (x) = 8, g2 (y) = 11, v = 9, and u = 2.) The method is in three parts. (1) Let v1 = g1 (x) and v2 = g2 (y). First, find a move in Turning Corners that takes (v1 , v2 ) into an SG-value u. Denote the northwest corner of the move by (u1 , u2 ), so that (u1 ⊗ u2 ) ⊕ (u1 ⊗ v2 ) ⊕ (v1 ⊗ u2 ) = u. (2) Find a move M1 in the 1-dimensional game G1 that moves the SG-value g1 (x) at x into an SG-value u1 . (Note that u1 < g1 (x).) (3) Find a move M2 in the 1-dimensional game G2 that moves the SG-value g2 (y) at y into an SG-value u2 . (Note that u2 < g2 (y).) Then the move M1 × M2 in G1 × G2 moves to an SG-value u as desired. I – 37
Let us use this method to find a winning move in our position in (Mock Turtles)2 . We have (v1 , v2 ) = (8, 11) and we want to find (u1 , u2 ) with u1 < v1 and u2 < v2 such that (u1 ⊗ u2 ) ⊕ (u1 ⊗ 11) ⊕ (8 ⊗ u2 ) = 2. One possibility is (u1 , u2 ) = (3, 10), since (3 ⊗ 10) ⊕ (3 ⊗ 11) ⊕ (8 ⊗ 10) = 5 ⊕ 6 ⊕ 1 = 2. (A simpler possibility is (u1 , u2 ) = (1, 1), but it would not illustrate the method as well.) Now we want to find a move in Mock Turtles to change the SG-value 8 into an SG-value 3. This is accomplished by turning over the coins at 1,2 and 5, since g1 (1) ⊕ g1 (2) = 1 ⊕ 2 = 3. We also want to find a move in Mock Turtles to change the SG-value 11 into an SG-value 10. This is accomplished by turning over coins at 2, 5 and 6, since g2 (2) ⊕ g2 (5) = 2 ⊕ 8 = 10. Therefore, the move of turning over the 9 coins at {1, 2, 5} × {2, 5, 6}, resulting in position T T T T T
T H T T H
T T T T T
T T T T T
H H T T H
H H T T T
is a winning move. Check that it has SG-value 0. There are many more aspects to this beautiful topic and many more examples that may be found in Chapter 14 of Winning Ways. 5.5 Exercises. 1. Consider the following position in a coin turning game. TTHTHHTTH Find a winning move, if any, if the game being played is (a) Turning Turtles. (b) Twins. (c) The subtraction game with subtraction set S = {1, 3, 4} when exactly two coins must be turned over. (d) Mock Turtles. 2. (a) How many moves can a game of Turning Turtles last, if the initial position has a just one heads as the rightmost coin of a line of n coins? (b) Same question but for the game of Mock Turtles. (c) Same question but for the game of Ruler. 3. Triplets. Suppose in Mock Turtles, we are not allowed to turn over just one or two coins, but are required to turn over three coins. This game is called Triplets. The rules are: Turn over exactly three coins, with the rightmost coin going from heads to tails. Find the Sprague-Grundy function for Triplets. Relate it to the Sprague-Grundy function for Mock Turtles. 4. Rulerette. Suppose in the game Ruler, we are not allowed to turn over just one coin. The rules are: Turn over any consecutive set of coins with at least two coins being turned over, and the rightmost coin going from heads to tails. Find the Sprague-Grundy function for this game and relate it to the Sprague-Grundy function for Ruler. I – 38
5. Consider a coin turning game of the subtraction game variety, but allow a single coin to be turned over also. The rules are: Turn over one or two coins, with the rightmost coin going from heads to tails; if two coins are turned over the distance between them must be in the subtraction set S. Relate the Sprague-Grundy function of this game to the Sprague-Grundy function of the subtraction game with subtraction set S. 6. (a) Find 6 ⊗ 21. (b) Find 25 ⊗ 40. (c) Find 15 ⊘ 14. (d) Find the nim square root of 8. (Note that every integer has an integer nim square root.) (e) Solve x2 ⊕ x ⊕ 6 = 0. There are two roots. (Here x2 represents x ⊗ x.) 7. Use the notation in the statement of the Tartan Theorem. (a) Consider a position in Turning Corners with a single heads at (v1 , v2 ). It has SG-value v1 ⊗ v2 . Consider also a position in G1 × G2 with a single heads at (x, y), where g1 (x) = v1 and g2 (y) = v2 . Assume that the Tartan Theorem holds for all positions (x′ , y ′ ) = (x, y) with x′ ≤ x, y ′ ≤ y. Show that there exists a move from the position in Turning Corners to a position of SG-value u if, and only if, there exists a move from the position in G1 × G2 to a position of SG-value u. (b) Conclude that the position in G1 × G2 also has SG-value v1 ⊗ v2 . 8. Consider the following position in the tartan game of (Mock Turtles)×Ruler. T T T T T
H T T T T
T T T T T
T T T T T
T T T T T
T T T T T
T T T T T
T T T T H
(a) Construct the table of Sprague-Grundy values for this position. (b) Note that the SG-value of this position is 15. Find a winning move for the first player. 9. (a) Who wins the n by n game of Rugs if the initial placement of the coins is such that heads occurs at (i, j) if and only if i + j is odd? Can you give a simple winning strategy? (b) Who wins it if heads occurs at (i, j) if and only if i + j is odd? Can you give a simple winning strategy? 10. Consider the tartan game, G1 × G2 , where G1 is the subtraction game with subtraction set S = {1, 2, 3, 4} in which exactly two coins must be turned ovr, and G2 is the game Ruler. The initial position consists of a rectanguler block of 100 × 100 coins. (Each coin is a penny, but the winner gets all of them, worth 100 dollars.) Initially, all coins are tails, except for heads at positions (100,100) and (4,1). You get to move first. What move do you make to win?
I – 39
6. Green Hackenbush The game of Hackenbush is played by hacking away edges from a rooted graph and removing those pieces of the graph that are no longer connected to the ground. A rooted graph is an undirected graph with every edge attached by some path to a special vertex called the root or the ground. The ground is denoted in the figures that follow by a dotted line. In this section, we discuss the impartial version of this game in which either player at his turn may chop any edge. This version is called Green Hackenbush where each edge is considered to be colored green. There is also the partizan version of the game, called Blue-Red Hackenbush, in which some edges are colored blue and some are colored red. Player I may only chop the blue edges and Player II may only chop the red edges so the game is no longer impartial. Blue-Red Hackenbush is the first game treated in Winning Ways. In the general game of Hackenbush, there may be some blue edges available only to Player I, some red edges available only to Player II, and some green edges that either player may chop. 6.1 Bamboo Stalks. As an introduction to the game of Green Hackenbush, we investigate the case where the graph consists of a number of bamboo stalks as in the left side of Figure 6.1. A bamboo stalk with n segments is a linear graph of n edges with the bottom of the n edges rooted to the ground. A move consists of hacking away one of the segments, and removing that segment and all segments above it no longer connected to the ground. Players alternate moves and the last player to move wins. A single bamboo stalk of n segments can be moved into a bamboo stalk of any smaller number of segments from n − 1 to 0. So a single bamboo stalk of n segments is equivalent to a nim pile of n chips. Playing a sum of games of bamboo stalks is thus equivalent to playing nim.
Figure 6.1 For example, the “forest” of three stalks on the left, is equivalent to the game of nim with three piles of 3, 4 and 5 chips. Since 3 ⊕ 4 ⊕ 5 = 2, this is an N-position which can be moved to a P-position by hacking the second segment of the stalk with three segments, leaving a stalk of one segment. The resulting position on the right has Sprague-Grundy value 0, and so is a P-position. I – 40
6.2 Green Hackenbush on Trees. Played with bamboo stalks, Green Hackenbush is just nim in a rather transparent disguise. But what happens if we allow more general structures than these simple bamboo stalks? Suppose we have the “forest” of three rooted trees found in Figure 6.2. A “rooted tree” is a graph with a distinguished vertex called the root, with the property that from every vertex there is a unique path (that doesn’t repeat edges) to the root. Essentially this means there are no cycles.
Figure 6.2 Again a move consists of hacking away any segment and removing that segment and anything not connected to the ground. Since the game is impartial, the general theory of Section 4 tells us that each such tree is equivalent to some nim pile, or if you will, to some bamboo stalk. The problem is to find the Sprague-Grundy values of each of the trees. This may be done using the following principle, known in its more general form as the Colon Principle: When branches come together at a vertex, one may replace the branches by a non-branching stalk of length equal to their nim sum. Let us see how this principle works to find the bamboo stalk equivalent to the left tree of Figure 6.2. There are two vertices with two branches. The higher of these vertices has two branches each with one edge. The nim sum of one and one is zero; so the two branches may be replaced by a branch with zero edges. That is to say, the two branches may be removed. This leaves a Y-shaped tree and the same reasoning may be used to show that the two branches at the Y may be removed. Thus the tree on the left of Figure 6.2 is equivalent to a nim pile of size one. This may have been a little too simple for illustrative purposes, so let’s consider the second tree of Figure 6.2. The leftmost branching vertex has two branches of lengths three and one. The nim sum of three and one is two, so the two branches may be replaced by a single branch of length two. The rightmost branching vertex has two branches of lengths one and two whose nim sum is three, so the two branches may be replaced by a single branch of length three. See the reduction in Figure 6.3. Continuing in like manner we arrive at the conclusion that the second tree of Figure 6.2 is equivalent to a nim pile of 8 chips. I – 41
=
=
=
Figure 6.3 Now try your luck with the third tree of Figure 6.2. See if you can show that it is equivalent to a nim pile of size 4. Now we can compute the Sprague-Grundy value of the sum of the three trees of Figure 6.2. It is 1 ⊕ 8 ⊕ 4 = 13. Since this is not zero, it is a win for the next person to play. The next problem is to find a winning move. It is clear that there is a winning move using the second tree that may be obtained by chopping some edge to arrive at a tree of Sprague-Grundy value 5. But which edge must be chopped to achieve this? The last version of the tree in Figure 6.3 has length 8 because the three branches of the previous tree were 3, 2 and 6, whose nim-sum is 3⊕2⊕6 = 7. To achieve length 5 in the last tree, we must change one of the three branches to achieve nim-sum 4. This may be done most easily by chopping the leftmost branch entirely, since 2 ⊕ 6 = 4. Alternatively, we may hack away the top edge of the middle branch leaving one edge, because 3 ⊕ 1 ⊕ 6 = 4. Each of these moves is easily translated into the corresponding chop on the tree on the left of Figure 6.3. However, there is another way to reduce this tree to Sprague-Grundy value 5, that uses the right branch of the tree. See if you can find it. The method of pruning trees given by the colon principle works to reduce all trees to a single bamboo stalk. One starts at the highest branches first, and then applies the principle inductively down to the root. We now show the validity of this principle for rooted graphs that may have circuits and several edges attached to the ground. Proof of the Colon Principle. Consider a fixed but arbitrary graph, G, and select an arbitrary vertex, x, in G. Let H1 and H2 be arbitrary trees (or graphs) that have the same Sprague-Grundy value. Consider the two graphs G1 = Gx : H1 and G2 = Gx : H2 , where Gx : Hi represents the graph constructed by attaching the tree Hi to the vertex x of the graph G. The colon principle states that the two graphs G1 and G2 have the same Sprague-Grundy value. Consider the sum of the two games as in Figure 6.4. The claim that G1 and G2 have the same Sprague-Grundy value is equivalent to the claim that the sum of the two games has Sprague-Grundy value 0. In other words, we are to show that the sum G1 + G2 is a P-position. I – 42
H1
H2 x
x
G
G
Gx : H1
Gx : H2 Figure 6.4
Here is a strategy that guarantees you a win if you are the second player to move in G1 + G2 . If the first player moves by chopping one of the edges in G in one of the games, then you chop the same edge in G in the other game. (Such a pair of moves may delete H1 and H2 from the games, but otherwise H1 and H2 are not disturbed.) If the first player moves by chopping an edge in H1 or H2 , then the Sprague-Grundy values of H1 and H2 are no longer equal, so that there exists a move in H1 or H2 that keeps the Sprague-Grundy values the same. In this way you will always have a reply to every move the opponent may make. This means you will make the last move and so win. 6.3 Green Hackenbush on general rooted graphs. We now consider arbitrary graphs. These graphs may have circuits and loops and several segments may be attached to the ground. Consider Figure 6.5 as an example.
Figure 6.5 From the general theory of Chapter 4, each separate graph is equivalent to some nim pile. To find the equivalent nim pile, we look for an equivalent tree, from which the equivalent nim pile may be found. This is done using the fusion principle. We fuse two neighboring vertices by bringing them together into a single vertex and bending the edge joining them into a loop. A loop is an edge joining a vertex to itself, as for example the head of the juggler on the right of Figure 6.5. As far as Green Hackenbush is concerned, a loop may be replaced by a leaf (an edge with one end unattached). I – 43
The Fusion Principle: The vertices on any circuit may be fused without changing the Sprague-Grundy value of the graph. The fusion principle allows us to reduce an arbitrary rooted graph into an equivalent tree which can be further reduced to a nim pile by the colon principle. Let us see how this works on the examples of Figure 6.5. Consider the door in the house on the left. The two vertices on the ground are the same vertex (remember the ground is really a single vertex) so the door is really the same as a triangle with one vertex attached to the ground. The fusion principle says that this is equivalent to a single vertex with three loops attached. Each loop is equivalent to a nim pile of size 1, and the nim sum of these is also a nim pile of size 1.
=
=
=
=
Figure 6.6 We see more generally that a circuit with an odd number of edges reduces to a single edge, and a circuit with an even number of edges reduces to a single vertex. For example, the circuit of four edges in the Christmas tree in the center of Figure 6.5 reduces to a single vertex with four loops, which reduces to a single vertex. So the Christmas tree is equivalent to a nim pile of size 1. Similarly, the chimney on the house becomes a single vertex, and the window on the right of the house is also a single vertex. Continuing further, we find that the house (door included) has SG-value 3.
=
=
=
Figure 6.7 Now see if you can show that the juggler on the right of Figure 6.5 has SG-value 4. And then see if you can find a winning move in the Hackenbush position given by Figure 6.5. The proof of the fusion principle is somewhat longer than the proof of the colon principle, and so is omitted. For a proof, see Winning Ways, Chapter 7.
I – 44
6.4 Exercises. 1. (Stolen from Fair Game by Richard Guy.) Find the SG-values of the graphs in Figure 6.8, and find a winning move, if any.
Figure 6.8
I – 45
References. E. R. Berlekamp, J. H. Conway and R. K. Guy (1982)Winning Ways for your mathematical plays, vols. 1 and 2, Academic Press, New York. C. L. Bouton (1902) Nim, a game with a complete mathematical theory, Ann. Math. 3, 35-39. J. H. Conway (1976) On Numbers and Games, Academic Press, New York. T. S. Ferguson (1998) Some chip transfer games, Theoretical Computer Science 191, 157171. A. S. Fraenkel (2002) Two-player games on cellular automata, in More Games of No Chance, MSRI Publications 42, R. Nowakowski ed., Cambridge University Press, 279-306. D. Gale (1974) A curious nim-type game, Amer. Math. Mo. 81, 876-879. P. M. Grundy (1939) Mathematics and games, Eureka 2, 6-8. (reprinted (1964), Eureka 27, 9-11.) Richard K. Guy (1989) Fair Game, COMAP Math. Exploration Series, Arlington, MA. R. K. Guy (1996) Impartial games, in Games of No Chance, MSRI Publications 29, R. Nowakowski ed., Cambridge University Press, 61-78. Emanuel Lasker (1931) Brettspiele der V¨olker (1931) Berlin, 183-196. H. W. Lenstra (1977-78) Nim multiplication, in Seminaire de Theorie des Nombres, expos´e No. 11, Univ. Botdeaux. E. H. Moore (1910) A generalization of a game called nim, Ann. Math. 11, 93-94. Geoffrey Mott-Smith (1954), Mathematical Puzzles for Beginners and Enthusiasts, 2nd edition, Dover Publ. Inc. Fred. Schuh (1952) The game of divisions, Nieuw Tijdschrift voor Wiskunde 39, 299-304. Fred. Schuh (1968) The Master Book of Mathematical Recreations, translated from the 1934 edition, Dover Publ. Inc. A. J. Schwenk (1970) Take-away games, Fibonacci Quart. 8, 225-234. David L. Silverman (1971) Your Move, McGraw-Hill, New York. ¨ R. Sprague (1936) Uber mathematische Kampfspiele, Tohoku Math. J. 41, 438-444. ¨ R. Sprague (1937) Uber zwei Abarten von Nim, Tohoku Math. J. 43, 351-354. M. J. Whinihan (1963) Fibonacci Nim, Fibonacci Quart. 1 #4, 9-13. W. A. Wythoff (1907) A modification of the game of nim, Nieuw Archief voor Wiskunde 7, 199-202.
I – 46