# Fibonacci nim

Fibonacci nim is a mathematical subtraction game, a variant of the game of nim. Players alternate removing coins from a pile, on each move taking at most twice as many coins as the previous move, and winning by taking the last coin. The Fibonacci numbers feature heavily in its analysis; in particular, the first player can win if and only if the starting number of coins is not a Fibonacci number. A complete strategy is known for best play in games with a single pile of counters, but not for variants of the game with multiple piles.

## Rules and history

Fibonacci nim is played by two players, who alternate removing coins or other counters from a pile. On the first move, a player is not allowed to take all of the coins, and on each subsequent move, the number of coins removed can be any number that is at most twice the previous move. According to the normal play convention, the player who takes the last coin wins.
The game was first described by Michael J. Whinihan in 1963, crediting its invention to Oregon State University mathematician Robert E. Gaskell. It is called Fibonacci nim because the Fibonacci numbers feature heavily in its analysis.
This game should be distinguished from a different game, also called Fibonacci nim, in which players may remove any Fibonacci number of coins on each move.

## Strategy

The strategy for best play in Fibonacci nim involves thinking of the current number of coins as a sum of Fibonacci numbers. There are many ways of representing numbers as sums of Fibonacci numbers, but only one representation that uses each Fibonacci number at most once, and avoids consecutive pairs of Fibonacci numbers; this unique representation is known as its Zeckendorf representation. For instance, the Zeckendorf representation of 10 is 8 + 2; although 10 can also be represented as sums of Fibonacci numbers in other ways, such as 5 + 5 or 5 + 3 + 2, those other ways do not meet the condition of only using each Fibonacci number once and avoiding consecutive pairs of Fibonacci numbers such as the pairs 2, 3 and 3, 5. The Zeckendorf representation of any number may be found by a greedy algorithm that repeatedly subtracts the largest Fibonacci number possible, until reaching zero.
The game strategy also involves a number called the "quota", which may be denoted as q. This is the maximum number of coins that can currently be removed. On the first move, all but one coin can be removed, so if the number of coins is n then the quota is q = n − 1. On subsequent moves, the quota is two times the previous move.
Based on these definitions, the player who is about to move can win whenever q is greater than or equal to the smallest Fibonacci number in the Zeckendorf representation, and will lose (with best play from the opponent) otherwise. In a winning position, it is always a winning move to remove all the coins (if this is allowed) or otherwise to remove a number of coins equal to the smallest Fibonacci number in the Zeckendorf representation. When this is possible, the opposing player will necessarily be faced with a losing position, because the new quota will be smaller than the smallest Fibonacci number in the Zeckendorf representation of the remaining number of coins. Other winning moves may also be possible. However, from a losing position, all moves will lead to winning positions.
The Zeckendorf representation of a Fibonacci number consists of that one number. So when the starting pile has a Fibonacci number n of coins, the smallest Fibonacci number in the Zeckendorf representation is just n, larger than the starting quota n − 1. Therefore, a Fibonacci number as the starting pile is losing for the first player and winning for the second player. However, any non-Fibonacci starting number of coins has smaller Fibonacci numbers in its Zeckendorf representation. These numbers are not larger than the starting quota, so whenever the starting number of coins is not a Fibonacci number, the first player can always win.

## Example

For example, suppose that there are initially 10 coins.
* The Zeckendorf representation of 10 is 10 = 8 + 2, and the initial quota is 9, larger than the smallest Fibonacci number 2 in the Zeckendorf representation, so the first player can win. One winning move by the first player would be to remove the smallest Fibonacci number in this representation, 2, leaving 8 coins.
* After this move, there are 8 coins left, with Zeckendorf representation 8, and the new quota is 4, meaning that the second player can remove at most 4 coins, not enough to reach the smallest number in the Zeckendorf representation. Removing 3 or 4 coins would allow the first player to win immediately; suppose instead that the second player takes 2 coins.
* This leaves 6 = 5 + 1 coins, with a quota of 4, larger than the 1 in the Zeckendorf representation. The first player can again takes the smallest Fibonacci number in this representation, 1, leaving 5 coins.
* With a pile of 5 coins, the Zeckendorf representation is 5, but the quota is 2, a smaller number. The second player could take two coins, but that would again lose immediately, so suppose that the second player takes only one coin.
* After this move, the number of coins is 4 = 3 + 1, and the quota is 2. The first player again takes the smallest Fibonacci number in the Zeckendorf representation, 1, leaving 3 coins.
* Now, regardless of whether the second player takes one or two coins, the first player will win the game in the next move.

## Multiple piles

Fibonacci nim is an impartial game in that the moves that are available from any position do not depend on the identity of the player who is about to move. Therefore, the Sprague–Grundy theorem can be used to analyze an extension of the game in which there are multiple piles of coins, and each move removes coins from only one pile (at most twice as many as the previous move from the same pile). For this extension, it is necessary to compute the nim-value of each pile; the value of the multi-pile game is the nim-sum of these nim-values. However, a complete description of these values is not known.
A different multiple-pile variant of the game that has also been studied limits the number of stones in each move to twice the number from the previous move, regardless of whether that previous move was to the same pile.