Professional Documents
Culture Documents
Phutball Endgames Are Hard: A Review
Phutball Endgames Are Hard: A Review
Daniel Dörr
16th August 2007
Contents
1 Introduction 2
5 Conclusion 7
6 References 8
1
1 Introduction
Phutball is a two player board game which was first described in the book “Winning ways for your
Mathematical Plays” in 1982. The game is played on the intersections of a 19x15 grid board using one
white stone and as many black stones as needed. In many ways the Phutball rules resemble the ones in
Checkers, a fairly common board game.
Phutball derives its name from that of a Monty Python Sketch, “Philosopher’s Football”, which is part
of the “Flying Cirus” collection illustrated during 1972. In this sketch German Philosophers play soccer
against Greek Philosophers. The game is won by the Greek since the only goal that is scored in the
match is a header by Socrates.
2
3.2 Why is it NP-complete? – Intuitive Hardness
Testing for a winning jump sequence is clearly in NP, since a jump sequence can only be as long as the
number of men on the board.
In Phutball the exponential number of jump sequences possible in a single move, together with the ways in
which parts of a jump sequence can interfere with each other, leads to the high computational complexity
of finding a winning move.
This can be proven by reducing this problem to a 3-SAT instance, which is known to be NP-complete.
A 3-SAT instance is a boolean expression in conjunctive normal form with at most three variables per
clause.
Figure 2: The horizontal lines define the truth value of each variable, whereas the vertical lines are
associated with the triple clauses of the boolean expression.
3
this gadget can be used twice within the same jump sequence. Other than the interacting line crossing
gadget: Jumping horizontally or vertically through this gadget destroys the possible jump sequence on
the orthogonal line and can no longer be used within the same move. In both gadgets it is not possible
to change the direction of the jump sequence. Therefore once entered at one end, the jump sequence has
to leave the gadget at the opposite position on the same line.
Figure 3: From left to right: Fan-in and fan-out gadget, non-interacting line crossing gadget, interacting
line crossing gadget.
Figure 4: Complete translation of the boolean expression (a ∨ b ∨ c) ∧ (ā ∨ b̄ ∨ c̄) into a Phutball position.
The intersections where an interacting line crossing gadget has been placed, are highlighted.
Figure 5 shows the boolean expression which has been reduced to the Phutball position in Figure 4. As
4
the table reveals there are six among eight possible assignments which satisfy the boolean expression.
Therefore, there also must be exactly six different winning jump sequences in the Phutball position of
Figure 4. One possible jump sequence is shown in Figure 6.
a b c (a ∨ b ∨ c) ∧ (ā ∨ b̄ ∨ c̄)
1 true true true false
2 true true false true
3 true false true true
4 true false false true
5 false true true true
6 false true false true
7 false false true true
8 false false false false
Figure 5: The table shows all possible truth assignments for the boolean expression (a ∨ b ∨ c) ∧ (ā ∨ b̄ ∨ c̄).
Figure 6: Winning jump sequence for a = f alse, b = true, c = true. In the left clause (a ∨ b ∨ c) there
are two possible jump sequences which both satisfy the boolean expression since both variables b and c
are set to true.
5
Figure 7: A Checkers Position can be transformed into an Euler Path.
time. This can be proven by transforming a Checkers position into an Euler path (Figure 7). The main
difference between Checkers and Phutball is that in Checkers the jump sequence can not be influenced
by previous jumps within the same move. This corresponds to the definition of an Euler path, which
is a path that visits each edge of a graph exactly once. Translated into a Checkers position, an edge is
associated with a jumpable stone of the opponent player.
5 Conclusion
The previous section showed that in Checkers jumps do not interfere with each other within the same
jump sequence. Therefore, even if there may exist an exponential number of possible jump sequences, it
is still possible to test for a winning jump sequence within polynomial time.
It could also be proven that in Phutball testing if there exists a winning jump sequence for a given
position is NP-complete. But still, it has not been studied yet how much the complexity is to determine
the outcome of the game for a given Phutball position. That is, even if there does not exist a winning
jump sequence for a given Phutball position, how complex is it to calculate if the player may win the
game in the following moves?
6
6 References
Phutball Endgames are Hard Erik D. Demaine, Martin L. Demaine, David Eppstein