Minesweeper: A Statistical and Computational Analysis Andrew Fowler Andrew Young Advisor: Matthew Hudelson Date: 5/1/2004 Honors Thesis ************************* PASS WITH DISTINCTION
Minesweeper: A Statistical and Computational Analysis
Andrew Fowler Andrew Young
Advisor: Matthew Hudelson Date: 5/1/2004
Honors Thesis ************************* PASS WITH DISTINCTION
TO THE UNIVERSITY HONORS COLLEGE:
As faculty advisor for A"~ HvJ (~vJle(, !J.r!rh./ Yb;;
I have read this paper and find it satisfactory.
~~7
Faculty Advisor
S -- /O-.ltV 1 Date
I. Introduction
Every PC user is familiar with the computer game Minesweeper. It has been
bundled with every Windows-based computer since the release of Windows 3.1, and
countless players have been intrigued by its simple and logical gameplay. Any player can
learn to play in minutes, but the simplicity and elegance of the game belie a deep and
fascinating mathematical structure. As is often the case in mathematics, a seemingly
trivial equivalent problem can become the framework for a legitimate and serious topic of
study, even allowing for insights that could not otherwise be noticed. Playing
Minesweeper, for example, can be shown to be equivalent to solving certain systems of
linear equations. In this regard, looking at the problem of playing Minesweeper is
essentially an interesting way of looking at a potentially dry subset of problems in Integer
Programming and Linear Algebra.
Minesweeper becomes mathematical when one attempts to develop strategies for
winning the game. Because the rules of the game are so simple, the resulting equations
can be expressed easily and directly. Only a small leap of insight is required to equate
gameplay into an equivalent mathematical system whose solution is comparable to
playing and winning the game. Therefore, various strategies of solving these equations
result in various strategies in playing Minesweeper, which vary in complexity and
effectiveness. Some are trivial and result in a very low winning probability, and some are
advanced and involved, requiring sophisticated mathematics and resulting in surprisingly
high success rates.
As is the case with most nontrivial games, an exhaustive analysis of gameplay is
computationally impractical, most often ridiculously so. Therefore, many of the methods
and strategies herein described have been analyzed statistically rather than analytically.
However, examining the game from a statistical and probabilistic standpoint is more
reasonable because the game itself is inherently random. Even the best players and
algorithms often encounter situations which require an element of chance, and the wrong
choice can be made regardless of the skill of the player or mathematical strength of the
algorithm.
- 1
Our research has taken two forms. The first is the design of algorithms for solving
the game of Minesweeper, both directly and by means of examining the linear equations
involved. The ultimate goal has been to create the best algorithm we can, one which wins
the game consistently more often than any other for various game parameters. This
attempt, however, has led us to the second branch of research, which is making these
algorithms computationally viable. Often a simply described gameplay algorithm can be
of an order far too vast to solve with any computer, let alone a desktop model. A very
effective algorithm is useless if it cannot be undertaken in a reasonable time. We have
studied computational complexity and have attempted to make each game strategy as
time-efficient as possible using various mathematical techniques. In short, we have tried
to design methods that are both effective and fast, making them applicable for both
mathematicians and Minesweeper players.
II. Rules and Strategies
Minesweeper is played on an m X n grid of squares where m, n eZ+. The
contents of each square are hidden from the player. Before a game begins, the player
knows the following:
• Each square conceals an integer or a single bomb.
• A nonnegative integer b ~ mn representing the number of squares on the board
containing a bomb.
• Clicking a square containing a bomb causes the player to lose the game.
• Clicking a square not containing a bomb reveals an integer k e [0,8] representing
the number of squares containing bombs that are immediately adjacent to the
clicked square, either horizontally, vertically, or diagonally. (Most versions of the
game use a blank square rather than revealing the number zero. See Fig. Ill).
• Flagging, or marking, a square does not reveal its contents but distinguishes it
from other squares.
• When every square containing a bomb has been flagged and all flags have been
removed from squares not containing a bomb, the player wins the game.
- 2
,- 1 1
2 .. 1 1 2 1 2 1~11 :3 1 2 a I~ 1
2 1 1 ..,. -.-, - III,
~
2 1
1 1 .! 2 _1
>
I
n 1 1 I I r Fig. 11.1. A typical Minesweeper board position.
The game itself is played by clicking and flagging squares using the numbers and
existing flags on the board to determine where the remaining bombs are located. This
process often involves both logical reasoning and an element of chance.
There are many strategies that players can use, but some basic elements are
common to all of them.
11.1 Notation and Definitions
• A square is the basic unit of the game which conceals a single bomb or number.
• A board is the playing grid and its component squares. It can be thought of as an
arranged set of squares.
• A click is a game action where a chosen square is revealed.
• Ajlag is a special game action whereby a chosen square can be distinguished but
not revealed.
• A square is legitimately jlagged if it is flagged and been determined to be a bomb.
• A square is unknown if it is neither clicked nor legitimately flagged.
• Two squares are adjacent if they share a comer or side.
• Define Am •1I ,h to be the set of all m x n boards with b bombs.
• For a board Be Am •1I ,h define Bi'i to be the square at coordinates (i,j) on B
oriented in standard matrix row-column positioning, where I ~ i ~ m, I ~ j ~ n, and
i,j e%..
- 3
• Given a board B and a square B. .E B, K (B. .) is the contents of B..I,} t,} I,}
• Given a board B and a square Bi,i E B, denote Ri~i E B as the set of all squares
adJ' acent to B.t,}
'.
II.2 Basic Strategy
Theorem 1
Given a board B and square B. ., if the number of unrevealed squares in gB. is equal to I,} t,}
K (Bi'i) (minus the number of legitimately flagged squares in Ri~i)' then all of those
unrevealed squares contain a bomb.
Proof
'" Suppose not. Then there exists an unrevealed square in gil which does not contain a" t.}
bomb. However, this would make K (Bi'i) greater than the total number of flagged and
unrevealed bombs in RH.. This is a contradiction by definition of K (B. .).t,} t,}
Theorem 2
Given a board B and square B I, }
., if the number of legitimately flagged squares
surrounding Bi,i is equal to K (Bi'i ), every unrevealed square in Ri~i does not contain a
bomb.
Proof
Suppose not. Then there exists an unrevealed square in RiB. ,}
that contains a bomb.
However, this would make the number of bombs in Ri~i greater than K (Bi'i ), a
contradiction.
-4
These two theorems used in conjunction are the basis for the beginning player's strategy
in playing Minesweeper. We will call it Basic Strategy (or BS), and it proceeds as
follows:
A.
• Click a random square in the set of unrevealed squares on the board.
• If a bomb is revealed, the game is over.
• If a bomb is not revealed, go to step B.
B.
• Apply Theorem 1 to all revealed numbered squares on the board. If the conditions
are satisfied, flag the appropriate squares.
• Apply Theorem 2 to all revealed numbered squares on the board. If the conditions
are satisfied, click the appropriate squares.
• If either theorem resulted in squares being flagged or clicked, repeat step B.
• If neither theorem resulted in squares being flagged or clicked, go to step A.
Here is an example of how BS can be used (granted, most players do not think of
gameplay in terms of theorems, but almost every beginning player implicitly understands
this strategy):
At the beginning of the game, step A is applied and the following board is revealed after
clicking in the upper-right corner (note, the Microsoft version of the game will
automatically and recursively apply Theorem 2 to revealed zeros and often reveal much
of the board).
- 5
1 II 2 1 1
2 " to 1 1 ! , I 1 1 I I- 1 1 r II-
Ir 2 1 1 DL :J!...), 1'1
1/ 2~
I 1 1
I'A I ,2I!, I ~
Fig. II.2 Game position after first click.
Now we go to step B. The squares labeled c, d, and e contain a bomb by Theorem 1. So
they may be flagged:
~.,- - c 1 -.J..Jr' 2
2 1 1
If 1 1 1 tl
1 ~
U' 1 1 I 1 1
I 2 1 I. -- • 2 1 1 2 • r r r - r
Fig. 11.3 Theorem 1 gives bomb locations.
Now we apply Theorem 2. Because of the newly flagged squares, the squares labeled/. g,
h, i, and) do not contain bombs, and they may be clicked safely.
- 6
~
II II 11 1 2 1
~
1 - 2 r 111
111
'=,1 - 1 1
1 1 .Il_ rII 2 1 1
2 1 1 2 I~ J 1r ~
Fig. 11.4 Theorem 2 gives numbered square positions.
Repeatedly applying step B results in the following game position. We attempt to apply
Theorems land 2 to the board, but there is no square which satisfies the conditions.
Therefore we must return to step A and click randomly in the set ofunrevealed squares.
5 21~ 1 - r 2 1 1
2 1 1 1 1
1
- 1 1 ~ 1 - 1 1 1 1
- 2 1 1 2 1 2 1 1 2 ~ 2 a;]
r .. 1!1t 2 1 t2 1 Fig. 11.5 Conditions of Theorems land 2 do not apply.
Unfortunately, a bomb is revealed and the game is over.
Fig 11.6 Game over.
- 7
II.3 Advanced Logical Reasoning
This strategy is good for proportionately low numbers of bombs, but as the
previous example demonstrated, it can still quite easily result in a loss. Could this loss
have been prevented? [t turns out that the answer is yes.
Experienced players of the game know that there are more advanced strategies
than merely applying BS. Using "what-if' types of logical reasoning can give
information about squares and their contents not attainable through BS. These strategies
can therefore increase the likelihood of a winning game. For example, suppose a player
has reached Fig. [[.5 and does not want the next click to be a completely random guess.
The following line of reasoning might be used:
Two of the squares m, n, andp are bombs because of the 2 at position (3,3). There
are (~) = 3 ways that this can happen, but we can rule out the two bombs being under
both of the squares nand p because that would make the number at position (4,3) at least
two, which it clearly is not. Therefore, either both m and n contain bombs or both m and p
contain bombs. Thus, square m definitely contains a bomb, and it may be flagged.
1Of 2!s.IJ I ... 2 1 1
II 2 p 1 1 1 1
]- 1 1
1 1
I1J T 1 1
2 1 1 2 1 2 1 1 2 !r1J 2]J
r 1 1112J 2 1 21 Fig. [1.7 Logical reasoning gives new information.
By this line of reasoning, we have determined the location of a bomb despite the
failures of Theorems I and 2 to do so. Having flagged a bomb, we may now continue to
use BS until another such situation arises. Similar lines of reasoning can used to identify
both squares containing numbers and those that contain bombs.
- 8
III. Application to Linear Algebra
Some of the published academic literature concerning Minesweeper attempts to
extrapolate higher levels of logical gameplay into theorem-based strategies which take
forms similar to BS, with speciaJized theorems for various game situations. A
Mathematical Introduction to the Game ofMinesweeper, by Philip Crow, describes no
fewer than fifteen such theorems which, the author suggests, should be memorized by
any serious player to improve their winning percentage (Crow 37-40). However, there is
a way of modeling the game which supercedes all such specific board-position-based
strategies and combines them all into a general form which can be symbolically described
using a very common mathematicaJ notation.
111.1 Notation and Definitions
• For a board B, define BU as the set of aJl unknown squares.
• Given a board B, we caJl the set of unknown squares in B that are adjacent to any
revealed numbered square the perimeter of B. We denote it symbolically by
Po ={B;,j E BU : R;~j contains at least one known numbered square}.
• Define Ipsi as the number of elements in PH"
• Give a set of squares S, define F(S) as the number of legitimately flagged
squares in S.
111.2 Linear Equations
Any given board-position on a board B can be modeled with a system of linear
equations. The system is generated as follows:
• Order the squares in Po sequentially by row and column.
• Define P~ as the i-th element of the newly ordered Po.
• Label the squares in Po as XI' x2 ' ~' ••• , x1Po1 ·
- 9
• For every Bi'i such that Ri:i nPB :t 0, create a linear equation of the form:
L Xk =K( Bi,J - F(Ri:J. F1 E R,H,
• Call this system of equations DB'
DB can be converted into the form rx = a, where r represents each linear sum,
x is a IPo I-dimensional vector, and a represents the K (Bi'i ) - F (Ri:i ) solution column.
Because each element of x represents whether or not a certain square contains a bomb, x
is composed of only ones and zeros: x = [x"x2"",x'Po,T, wherexk eZ 2 •
For example, consider the following board B.
Fig. IlL I A simple perimeter example.
Because there are three numbered squares adjacent to the perimeter, we can create three
linear equations DB :
XI + x2 + Xl + X4 + X5 + X7 = I
X4 + x5 + X7 + X9 + X IO + XII = 3
x5 +x6 +xs +x,o +X11 +X12 =2.
- 10
In matrix form:
1 1 1 1 1 0 1 0 0 0 0 0] r1]
ro 0 0 1 1 0 1 0 1 1 1 0 x= 3 .
000011010111 2
Every solution x' of this matrix equation corresponds to a configuration of bombs in the
perimeter that fits the constraints of the board. The only exception occurs when
Ilx'll, > b - F (B), where Ilx'III is the sum of all elements in x'. (Recall that b represents
the total number of bombs on B). These solutions are invalid because they require more
bombs than there are remaining on the board.
Suppose Fig. Ill. 1 is a 6 x 6 board with 11 bombs. An exhaustive computer
search results in 19 possible arrangements of in the perimeter tJ:tat fit the constraints of,
the board. However, none of perimeter squares is certain to contain a bomb or be safely
clickable because all 12 xk variables take on both 0 and 1 variously in these 19
arrangements. At this point, in the interests of developing a winning algorithm, we shall
compute the probability of each square containing a bomb.
III.3 Computing Probabilities
It is tempting to compute the probabilities by counting the number of times each
square contains a bomb within the 19 solutions and dividing by the total, but this is not
correct. We notice that four of the solutions contain three bombs in the perimeter and the
other fifteen contain four bombs in the perimeter. Because the 21 unknown squares can
contain different numbers of bombs for these two cases, a weighted average must be
computed:
- 11
-
Fig III.2a All solutions with 3 bombs.
~ - ~
~ - - 141 !r r 1 , r :3 21r
r ~
'= """~, Fig III.2b All solutions with 4 bombs.
We;<how describe an exhaustive perimeter probability (EPP) algorithm.
Perimeter arrangements with 3 bombs: 4. Possible arrangements of the remaining
II - 3 = 8 bombs in the 21 unknown squares: (~I } So, there are 4(~I) = 813,960 total
bomb arrangements that have 3 bombs in the perimeter.
- 12
Perimeter arrangements with 4 bombs: 15. Possible arrangements of the remaining
II-4 = 7 bombs in tbe 21 unknown squares: (~I]. So, there are I5( ~I )= 1,744,200
total bomb arrangements that have 4 bombs in the perimeter.
Thus the total number of possible bomb arrangements Tis 4 (~I ) +15 ( ~I) ~ 2,558,160.
Now, we count the number of solutions containing a bomb in each square, and
sort them by whether that solution has 3 or 4 total bombs. Now we can compute the
weighted average. For example, suppose we want to compute the probability that square
10, represented by x lO ' contains a bomb. Looking at the solutions, we see that square 10
contains a bomb in three of the three-bomb solution arrangements, and in nine of the
four-bomb arrangements.
Therefore 3( ~I ) +9 ( ~I) is the total number of solutions which contain a bomb
in square ten, making the probability of that square containing a bomb
P(x =0.648.)= 3(~1)+9(~1) w
T
Now we use the EPP algorithm on the remaining 11 perimeter squares.
- 13
k P(Xk )
I 0.0454 2 0.0454 3 0.0454 4 0.352 5 0.159 6 0.182 7 0.352 8 0.182 9 0.841 to 0.648 I I 0.648 12 0.182
This information shows that the player is least likely to click on a bomb if he/she clicks
on one of XI' X2 , or X3, and most likely to click on a bomb on X9 .
Suppose we had used the EPP algorithm after arriving at the board position in Fig.
11.5. We can relabel the perimeter squares as follows.
~fJ 2 ];] 1 JJ,~ 2 1 1 ..J'~ 2 _. X 1 1 1 1
T~.:s 1 1 I1J _J~ 1 1 1 1 , X, 2 1 1
J.j 2 Z
1 :xir x. 2 1 1 2
, x- l, " 1 !1J 2 1 2 1 Fig. III.3 Another look at Fig 11.5
We know that there are 10 bombs on the entire board, 5 of which have previously been
flagged. We can now use the EPP algorithm.
- 14
k p(Xk)
I 0 2 I 3 0 4 I 5 0 6 0 7 I 8 I 9 0
Squares with a probability of zero can be safely clicked and those with a probability of
one can be legitimately flagged.
Very often the EPP algorithm results in probabilities of 0 or I, allowing the player
to proceed safely without the risk of clicking on a bomb. As such it is a very good
algorithm for playing the game, and we can now describe a strategy called Perimeter
Strategy (PS) which utilizes it:
A.
• Click a random square in the set of unrevealed squares on the board.
o If a bomb is revealed, the game is over.
o If a bomb is not revealed, go to step B.
B.
• Apply the EPP algorithm to the board.
• Flag all squares in the perimeter with probability of I.
• Flag aU squares outside the perimeter with a probability of I.
o If the number of newly flagged squares plus the old flags equals the total
number of bombs on the board b, the player has found all the bombs and wins.
• Click all squares in the perimeter with probability of O.
• Click all squares outside the perimeter with a probability of O.
• If any square with a probability of I or 0 was found, repeat step B.
• If no square with a probability of I or 0 was found, go to step C.
- 15
c.
• If there is no perimeter, go to step A.
• Click on the square in the perimeter (or the unknown square) with the lowest
probability. If any squares identically have the lowest probability, select one at
random.
o If a bomb is revealed, the game is over.
o If a bomb is not revealed, go to step B.
IV. Algorithm Efficiency
The Perimeter Strategy is very effective, but it is computationaJly very taxing. In
order to calculate every possible solution for a given perimeter (and thereby calculate the
probabilities), every single possible arrangement of bombs in that perimeter has to be
checked. This means that if a perimeter contains n bombs, 2n arrangements need to be
checked against the board constraints. These numbers get very large very fast. For
example, in a lOx 10 game, it is not uncommon to encounter perimeters of 30 squares or
higher, which require checking at least 230 = 1,073,741,824 number arrangements, a
number far beyond the reasonable time constraints of any desktop computer. Thus, even
with the strength of the strategy in finding board probabilities, it is often limited by
computational speed and time available.
IV.1 Linear Programming
Several methods can be used to increase the time efficiency of the Perimeter
Strategy. Before apply the EPP algorithm we can create a linear program to determine
the minimum and maximum number of possible bombs in all the perimeter arrangements.
- 16
Given a system of linear equations Do' set up the pure integer programs Lmin :
Ipnl min L xk subject to the constraints of Do and Xi E 12
k-I
and LITlJjx'
Ipnl max LXk subject to the constraints of Do and Xi E Z2'
k-I
Solving LmiD and Lrnax using the Simplex Algorithm gives the minimum ([min) and
maximum ([rr.ax) number of possible bombs in all perimeter arrangements, respectively.
Now, when we can apply a modified EPP algorithm where instead of testing all 2n
I....arrangements of bombs, we must only test L (nJ arrangements, namely the ones that k-Im1n k
contain between [min and [max bombs inclusively.
Using this method, the example in Fig II!. I would only require
testing ( ':J+C:J= 715 perimeter arrangementsrather than 2" = 4,096. This is a
savings of 83 percent.
IV.2 Preempting PS with BS
Often the Simplex Algorithm is not enough to decrease the search space to a
reasonable size. However, in these cases with large perimeters, BS can often reveal
squares that certainly contain or do not contain bombs. This can bring the player closer to
solving the board without having to use PS. In fact, large perimeters are actually more
likely to contain situations solvable by BS. as is order O( n) because it has to test at
most 8 squares for each square on the board. However, because this method does not
always work, the problem of overcoming an exhaustive search is not entirely solved.
- 17
IV.3 Partitioning the Perimeter
In many cases, the perimeter squares can be partitioned into the union of smaller
subsets with individual special properties. Each subset possesses one of the following
properties:
• Every square in it is commonly adjacent to exactly one known numbered square.
• [t consists of one square adjacent to more than one known numbered squares.
IV.3.1 Notation and Definitions
• Each of these subsets we call a partition ofsize k, where k is the number of
squares in that subset.
• Given a board B, denote K: as the a-th partition of a perimeter PB •
Using the board position in Fig. III.l, the partitions are highl ighted and given below.
K1B ={x1' X2 , xJ }
K: ={.rr" xlJXK ,
K~I ={ X'I}
Fig. IV.I Partitioning the perimeter.
Only the partitions where everyone of its squares is commonly adjacent to
exactly one known numbered square are shown. From this point, a new system of linear
equations D; can be made:
- 18
8K I + X4 + X5 + X7 = I
X4 + X5 + X7 + K: + xlO + XII =3
X s + K: + X IO + XII =2,
8where KI E 7.2' K: E l3' K: E l2' Xi E 1-2.
This can be simplified by relabeling the perimeter squares
Fig. IV.2 Relabeling the perimeter.
and by again rewriting the system of linear equations D~
YI + Y2 + Y3 + Ys =I
Y2 + Y3 + Ys + Y", + Y7 + Y8 =3
Y3 + Y4 + Y7 + Y8 = 2,
where YI' Y2' Y3' Y5' Y6' Y7> Y8 El2 , Y4 E13 •
We now use D~, which has fewer unknowns than DB' in a modified EPP
algorithm called the perimeter partition probability (PPP) algorithm that accounts for the
variables that take on non-binary values. The results of PPP are exactly the same as if we
had used DB in the EPP algorithm, but are given to us relatively faster. Note that the
Simplex Algorithm is still applicable and the methods described in IV.I can be used on
D~.
- 19
The problem with all of these methods is that they do not consistently improve the
efficiency from 0(2"). This is due to a result given by Richard Kaye, that determining
the possible mine configurations for a perimeter is NP-Complete (Kaye 12). This means
that finding a polynomial-time algorithm for solving any perimeter may very well be an
impossible task.
v. Results
To statistically analyze these algorithms, we designed and implemented computer
programs that played many random Minesweeper games using each strategy. This allows
us to analyze the relative strength of each algorithm for various board configurations.
Because of the computational time constraints involved, we used a relatively small board
size for which 0(2") would not be prohibitive.
V.1. Levels of Strategy
We begin with an overview of all strategies previously mentioned, starting with
an implicit base strategy.
Level 0: Random play
At this level, every square is clicked or flagged with an equal
probability. The success rate of tllis "strategy" is far too low to be
worth considering. This level of strategy is only included for
completeness.
Levell: Basic Strategy (BS)
This is the strategy where only immediately obvious adjacent
bombs and open squares are clicked or flagged. When it fails to
determine such squares random play is used. This level of strategy
is practical for a human player.
- 20
Level 2: Perimeter Strategy (PS)
This strategy is a superset of alJ forms of the EPP greedy
algorithm, which determines exact probabilities of each square in
the perimeter having a bomb and clicks accordingly. This level of
strategy is practical for a desktop computer if the parameters are
carefully controlled.
Level 3: Perfect Strategy
This is the perfect strategy for playing Minesweeper. It proceeds as
follows:
I. For each board state, consider every possible game which
could proceed from this point.
n. Eliminate all losing games from this list.
III. Sort these games by the click that begins them.
IV. Make the move which begins the highest percentage of
these games.
V. Repeat.
This level of strategy is not practical for any computer known to
man. There are approximately 2.9x10115 games which can occur
for the "beginner" board (9x9 with 10 bombs). This is vastly
larger than the number of atoms in the universe.
V.2 Computer Programs
We implemented strategy levels 1 and 2 in Matlab and represented their results
graphically. We programmed a computer to play games of Minesweeper on 1000
random 4 x 4 boards for each number of bombs ranging from 0 to 16. We then graphed
the proportion of winning games for each number of bombs.
- 21
1000 Random 4x4 Boards
12 14
, , ,i i1- K i i
~I ID 10 0_9~ I ~ - f'7\'"
\0.8~ \
0.7 c
~ 0.6 0 c-o
~ 05
~ 0_4 \ \
s: \
\03 f 0_2 ~
\ O.H \~----
, , -0' i
0 2 4 6 8 10 16 Number of bombs
Fig. V.I Winning proportion graph.
From the above graph, we can see that level 2 (PS) is on average 4.0 times more
likely to result in a winning game than level I (BS). In both cases we follow the special
rule that disallows a loss on the first click. As a result we win trivially when there is only
one bomb and when there are all but one bomb. Furthermore, if the entire board is
covered with bombs, then we know where they all are and win by default.
VI. Conclusion
The most important thing that our data have shown is that Minesweeper is still
very much a game of chance, even when high-level strategies are used. Even using the
exhaustive greedy algorithm, a 5/l6 bomb proportion on the board results in a loss half
the time. 5/16 is only 31 % bombs, but if we look at the "expert" mode in Microsoft
Minesweeper we see that it has only 21 % bombs. This is in keeping with our data. A
bomb percentage of about 10%-25% seems to be a good range for making the game fun
- 22
and interesting with a high level of challenge, while still retaining a high probability of
winning when one plays well.
One shortcoming of our data is that the limits of our computer technology
required us to use a 4x4 board, which is extremely small compared to what most would
consider a nonnal game. However, we think that our data can be extrapolated to larger
boards because the game is essentially the same on a larger grid. In fact, we theorize that
certain factors like a smaller proportion of edge squares and potential for larger perimeter
sets might even improve the algorithms if they are used at that level.
Because the algorithms seem to have such potential, the important future research
would probably have to do with increasing their efficiency and making them applicable
to larger boards and larger systems of equations. Despite the NP-Completeness of the
general Minesweeper problem, it may be that for a very high percentage of board states
the problem may be solvable in polynomial time. This means that it may be possible to
use the greedy algorithm on boards of a size encountered in the actual game, using a
normal desktop computer to calculate the percentages.
It may also be reasonable to develop heuristic strategies for playing the game in
general, such as determining where it is best to make the very first click and what should
be done if the greedy algorithm fails. However, these probably would not be applicable to
the Linear Algebra of the problem, and would instead be important for casual players of
the game. But we're sure the mathematicians wouldn't mind.
- 23
0
VII. References
Adamatzky, Andrew "How Cellular Automaton Plays Minesweeper." AppLied Mathematics and Computation. 85 (1997), no. 2-3, 127-137.
Carrano, Helman, Veroff. Data Abstraction and Problem Solving with C++: Walls and Mirrors. Addison Wesley, 1998
Condon, Anne. Computational Models of Games. Cambridge, MA: MIT Press, 1989
Crow, Philip "A Mathematical Introduction to the Game of Minesweeper." The UMAP v Journal. 18 (1997), no. 1, 35-42.
DeVore, Jay L. Probability and Statistics for Engineering and the Sciences. Pacific, Grove, CA: Brooks/Cole, 2000
Kaye, Richard "Minesweeper is NP-complete." The MathematicaL InteLLigencer. 22 .,/ (2000), no. 2, 9-15.
Minesweeper as a Constraint Satisfaction ProbLem. Studholme, Chris. 2001. o <http://www.cs.toronto.edu/-cvs/minesweeper/minesweeper.pdf>
Mossel, E1chanan "The Minesweeper game: Percolation and Complexity." oCombinatoricf), ProbabiLity and Computing. 11 (2002), no. 5,487-499.
- 24
;
~~\,r' / f' ~' Andrew Fowler
Andrew Young /
Precis for Honors Thesis
How hard is it to win the game Minesweeper, and what algorithms can be
developed to play it efficiently? This question is interesting because it allows us to
examine a problem in Linear Algebra, a branch of mathematics, in a fun an interesting
way. This is because the question of playing the game Minesweeper can be shown to be
equivalent to solving a certain math problem. This means that the results that we have
found are applicable not only for players of the game but to mathematicians who study
certain problems in Linear Algebra,
Our methods were both mathematical and computational. First we examined the
game mathematically and developed formal terminology and symbology for equating the
game to the mathematics involved. Then we determined mathematical algorithms and
strategies for solving these systems and thereby playing the game. To do this we used a
combination of existing ideas in combinatorial mathematics and new ideas which applied
to the problem at hand. Then we programmed a computer to implement these algorithms
and strategies. We encountered a problem with algorithm efficiency, where the time
required for certain algorithms was prohibitively long for our computers, and we
attempted to solve this problem (with some success) by redesigning the algorithms with
time efficiency in mind. This allowed us to undertake a statistical analysis of the game of
Minesweeper using our newly developed algorithms on a personal computer.
Our statistical analysis showed us the relative effectiveness of the algorithms and
strategies we had developed. The most important implication of our results was that even
with powerful algorithms the game is still very hard to win consistently. Often elements
- 25
of chance and guessing come into play even when the equations are entirely solved.
However, at levels where the average player plays the game, the algorithms were found
to be very effective.
Because so little about Minesweeper exists in the current mathematical literature,
our results are in many cases the first of their kind. Our connection to Linear Algebra,
however, makes our algorithms applicable and interesting to the mathematical side of the
problem. If the research is to be continued, we plan to increase the efficiency of our
algorithms so that they may be used with larger board sizes in reasonable amounts of
time. We are confident that large increases in efficiency are possible, and are eager to see
our algorithms at work on larger problems.
- 26