Description
Last Biscuit is a game that challenges you to use a systematic
approach to deduce a winning strategy. Can you find a strategy
that will beat the computer?
Solution:
You can beat your opponent if you leave the following number of
biscuits: 1, 2 3, 5 4, 7 6, 10 8, 13 9, 15 11, 18 12, 20 14, 23
16, 26 17, 28 19, 31 21, 34 22, 36 24, 39 25, 41 27, 44 29, 47
30, 49 32, 52 33, 54 35, 57 37, 60 38, 62 40, 65 42, 68 43, 70
45, 73 46, 75 48, 78 50, 81
I'm now convinced there's some interesting maths in this. It
looked like w1(i) and w2(i) [the biscuits lefts in the ith
winning position] were approximately linearly related to i, so I
charted them in Excel and read off the regression line: Using a
few 10s of results this gave: w1(i) is approximately 2.618i -
0.5026 w2(i) is approximately 1.618i - 0.5026 Interesting, since
1.618 is very close to the golden ratio phi, and 2.618 is (phi+1)
or phi^2. That -0.5026 looks like it's caused by rounding down to
an integer value. So, with phi = (\sqrt(5)+1)/2, I tried for 0
< = i < = 10000: w1(i) = floor(phi*i) w2(i) =
floor((phi+1)*i) Perfect match on all pairs! If phi is involved
there must be some Fibonacci sequences around. In fact there are
lots of them. The winning pairs are the even pairs of consecutive
numbers in a union of Fibonacci sequences. If F(1,2) is the
Fibonacci sequence that starts 1,2,3,5,8... and F(1,3) starts
1,3,4,7,11,.... you can use F(1,3) to fill in the gaps left by
F(1,2). F(2,4) fills in the gaps left by the previous 2, and so
on. This all makes a certain amount of sense since the ratio of
successive Fibonacci numbers is phi - and that was the gradient
of the regression line. It's still all just conjecture though - I
haven't been able to prove any of it so far. Assuming it's all
true, it's possible to write a slick algorithm that works for
very large numbers of biscuits - essentially by using the inverse
linear relationship to find the nearest winning pairs that can be
reached from any position. Unfortunately, the calculation is
still a bit much to do in one's head - but it avoids the need to
tabulate all pairs up to the one that works. I tried that and so
far as I can tell it works fine. An Excel spreadsheet so you can
see what I mean is saved in common > site content. See
http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/fibrab.html#PhiPlot
This page is all relevant to the winning pairs in Last Biscuit.
It's talking about the same function I needed to calculate them -
floor(i*phi) - defining this as the spectrum of phi. There's an
interesting section on how the spectra of 2 numbers A and B can
partition the integers into 2 sets iff 1/A + 1/B = 1. The smaller
and larger numbers of the winning pairs form such a partition
with A = phi and B = phi^2. 1/phi + 1/phi^2 = 1 since phi + 1 =
phi^2. http://home.att.net/~numericana/answer/games.htm goes into
some detail linking this version other nim like games and the
grundy numbers. After that background, the following paper might
be more understandable
http://www.math.temple.edu/~xysun/wythoff/wythoff_2.pdf I think
it contains a proof that last biscuit winning pairs are a wythoff
sequence - but it ain't easy!
You can beat your opponent if you leave the following number of
biscuits:
1, 2
3, 5
4, 7
6, 10
8, 13
9, 15
11, 18
12, 20
14, 23
16, 26
17, 28
19, 31
21, 34
22, 36
24, 39
25, 41
27, 44
29, 47
30, 49
32, 52
33, 54
35, 57
37, 60
38, 62
40, 65
42, 68
43, 70
45, 73
46, 75
48, 78
50, 81
A strategy to find winning moves is to note that
is a winning pair and
then find the complete set of winning pairs by induction.
If
is the last move discovered, then
is
the minimum positive integer that does not appear in a winning pair yet, and
.