Directory UMM :Data Elmu:jurnal:O:Operations Research Letters:Vol27.Issue2.2000:

Operations Research Letters 27 (2000) 7–11
www.elsevier.com/locate/dsw

Maximum density stable patterns in variants of Conway’s game
of Life
Robert A. Bosch
Department of Mathematics, Oberlin College, Oberlin, OH 44074, USA
Received 1 May 1999; received in revised form 1 November 1999

Abstract
We use integer programming to nd maximum density stable patterns in variants of Conway’s game of Life, and we
describe how to use the constraints of an integer programming formulation to construct upper bounds on the maximum
c 2000 Elsevier Science B.V. All rights reserved.
density of in nite stable patterns.
Keywords: Integer programming; Game of life; Cellular automata

1. Introduction
In the August 1998 issue of Scienti c American
[8], Martin Gardner, one of the world’s greatest popularizers of mathematics, presented a “highlight reel”
of his “Mathematical Games” column, which ran in
Scienti c American from 1956 to 1981. One of the

topics Gardner gave special attention to was the game
of Life, which was invented by John Horton Conway
in the late 1960s. In 1970 and 1971, Gardner introduced Life to the public by making it the subject of two
of his columns [6,7]. Since then, a great many mathematicians – both amateur and professional – have contributed to a greater understanding of the game. (See
[1,3].)
In [2] we described how integer programming (IP)
can be used to answer a number of questions con-

E-mail address: bobb@cs.oberlin.edu (R.A. Bosch).

cerning Conway’s game of Life. Here, we present an
IP formulation for nding maximum density stable
patterns in “B36=S236 Life”, a variant of the original
game. Our formulation for B36=S236 Life is significantly larger and more complicated than the formulation presented in [2]. We then use some of the
constraints of our formulation to prove that the maximum density of in nite stable patterns in B36=S236
Life is 45 . We also argue that the maximum density of
in nite stable patterns in B36=S23 Life (also known
as High Life) is 21 .
2. Life and its variants
Conway’s game of Life and its variants can be

thought of as single-player board games. In each one,
the playing pieces are checkers, all the same color,
and the board is an uncolored, in nite checkerboard.
We refer to the squares of the board as cells, and we

c 2000 Elsevier Science B.V. All rights reserved.
0167-6377/00/$ - see front matter
PII: S 0 1 6 7 - 6 3 7 7 ( 9 9 ) 0 0 0 1 6 - X

8

R.A. Bosch / Operations Research Letters 27 (2000) 7–11

Fig. 1.

consider a cell to have eight neighbors: the eight cells
that share one or two corners with it.
To set up Life or one of its variants, the player
constructs an initial pattern of checkers by placing
checkers in some of the cells of the board. We refer

to a cell that has a checker in it as alive, or living, and
a cell that does not as dead.
In Life and its variants, play is divided into turns.
On each turn, the player follows three simple rules – a
birth rule, a survival rule, and a death rule – to produce
a new pattern from the current one. By playing for turn
after turn, the player produces a sequence of patterns.
Often, these sequences are mathematically interesting
and aesthetically pleasing. For the original game of
Life, the birth, survival, and death rules are as follows:

3. B36=S236 Life

• If a cell is dead and has three living neighbors, then
it must be alive in the new pattern.
• If a cell is alive and has either two or three living
neighbors, then it must be alive in the new pattern.
• Otherwise, the cell must be dead in the new pattern.

3.2. Variables


Henceforth, we will refer to Conway’s game of Life as
B3=S23 Life. In B36=S236 Life, a birth occurs when
a dead cell has three or six living neighbors, and a
living cell survives when it has two, three, or six living
neighbors. In B36=S23 Life, a birth takes place when
a dead cell has three or six living neighbors, and a
living cell survives when it has two or three living
neighbors.
The patterns displayed in Fig. 1 are stable – the rst
for B3=S23 Life, the second for both B3=S23 Life and
B36=S23 Life, and the third for B36=S236 Life. For
turn after turn, these patterns remain unchanged. On
each turn, every living cell stays alive, and every dead
cell remains dead.

Suppose that we are playing B36=236 Life and we
would like to nd a maximum density stable pattern
that can be constructed inside a given region R. In this
section, we present an IP formulation of this problem.

3.1. Notation
We use lower case letters (such as e and f) to
represent individual cells and capital letters (such as
R and S) to stand for sets of cells. For each cell e in
R, we let N (e) denote the set of cells in R that are
neighbors of e.

For each cell e in R, we let

1 if e is immortal (always alive);
xe =
0 if e is eternally dead:
3.3. Objective
We de ne the density of a stable pattern over a
region to be the number of immortal cells in the pattern
divided by the total number of cells in the region. We
let d denote the density. To obtain a stable pattern
with maximum density over R, we
X
xe

maximize
e∈R

subject to constraints that enforce the birth and death
rules.

R.A. Bosch / Operations Research Letters 27 (2000) 7–11

9

Fig. 2.

3.4. Birth constraints
In a stable pattern in B36/S236 Life, if a cell has
exactly three or exactly six immortal neighbors, it must
be immortal. To enforce this rule at cell e, we can
impose the following constraints:
X
X
xf −

xf 6|S| − 1;
−xe +

The rst constraint demands that e be eternally dead
whenever it has fewer than two immortal neighbors.
The next ( 84 ) = 70 constraints require e to be eternally
dead whenever it has exactly four or exactly ve immortal neighbors. The last constraint makes sure that
e is eternally dead whenever it has more than six immortal neighbors. We refer to the last constraint as the
“death-by-overcrowding” constraint for e.

f∈N (e)−S

f∈S

∀ S ⊆ N (e): |S| = 3 or |S| = 6:

3.6. Boundary constraints

The ( 83 ) = 56 constraints that correspond to threeelement subsets of neighbors ensure that e is immortal whenever it has exactly three immortal neighbors;
the ( 86 )=28 constraints that correspond to six-element

subsets guarantee that e is immortal whenever it has
exactly six immortal neighbors.

The only other constraints we need are for keeping
our stable pattern inside R. If e is a cell outside of R
and has exactly three neighbors f, g, and h that belong
to R, then we impose the “boundary constraint”

3.5. Death constraints

3.7. The full formulation

In a stable pattern in B36=S236 Life, if a cell has
fewer than two immortal neighbors, exactly four or
exactly ve immortal neighbors, or more than six immortal neighbors, it must be eternally dead. To enforce this rule at cell e, we can impose the following
constraints:
X
xf 60;
2xe −


The full formulation has one binary variable per cell
of R and 156 constraints per interior cell of R. Eventhough B36=S236 Life and B3=S23 Life have nearly
identical rule sets, the formulation for B36=S236 Life
has 98 more constraints per interior cell than the analogous formulation for B3=S23 Life. (For B3=S23 Life,
only ( 83 ) = 56 birth constraints and two death constraints are needed per interior cell.)

f∈N (e)

2xe + 2

X

xf −

f∈S

X

f∈N (e)−S


∀ S ⊆ N (e): |S| = 4;
X
xf 68:
2xe +
f∈N (e)

xf 68;

xf + xg + xh 62:

3.8. Some results
Fig. 2 displays some maximum density stable
B36=S236 Life patterns that can be constructed in
square regions. Each one was obtained by solving an

10

R.A. Bosch / Operations Research Letters 27 (2000) 7–11

Fig. 3.


can be tightened by reducing its right-hand side from
8 to 5. (If e ∈ C, then N (e) consists of three cells. If
e ∈ E, then N (e) consists of ve cells. If e ∈ E and e is
immortal, then e will have either two or three immortal
neighbors – it cannot have six – and the left-hand side
of DO(e) will be at most 5.)
Next, note that xe appears in |N (e)| + 1 death-byovercrowding constraints: the constraint for cell e
(with a coecent of 2) and the |N (e)| constraints for
e’s neighbors (with coecients of 1). Using this, it
is easy to show that adding DO(e) for each e ∈ I and
the tightened version of DO(e) for each e ∈ E ∪ C
yields the inequality
X
X
X
7xe +
10xe +
5xe
e∈E

e∈I

instance of the integer program with version 4.0.9 of
CPLEX’s Mixed Integer Solver [4] (with all CPLEX
parameters set at their default values). All computations were performed on a 200 MHz Pentium PC.

4. In nite stable patterns in B36=S236 Life
The Fig. 2 stable patterns all belong to the same
family. In each one, the interior is covered with copies
of a 3×3 tile of density 97 . Clearly, we can use this tile
to construct an in nite stable pattern of density 97 in
B36=S236 Life. Although this pattern is quite dense, it
is not the most dense. The following theorem implies
that the in nite stable pattern displayed in Fig. 3, with
a density of 45 , is the most dense one in B36=S236 Life.
Theorem. If dn is the density of the most dense stable
pattern that can be constructed in an n × n square R
in B36=S236 Life; then


1
4
1+ 2 :
(1)
dn 6
5
n
Proof. First, partition the cells of R into three sets: the
corner cells (C), the edge cells (E), and the interior
cells (I ). Since R is an n × n square, R has four corner
cells, 4(n − 2) edge cells, and (n − 2)2 interior cells.
For corner and edge cells, the death-by-overcrowding
constraint
X
xf 68 DO(e)
2xe +
f∈N (e)

e∈C

6 8(n − 2)2 + 5 × 4(n − 2) + 5 × 4
= 8n2 − 12n + 12:
To this inequality, add the inequalities 3xe 63 for
each cell e ∈ E and the inequalities 5xe 65 for each
cell e ∈ C. (These inequalities are valid because xe ∈
{0; 1} for each e ∈ R.) The resulting inequality is
X
10xe 6 (8n2 − 12n + 12) + 3
e∈R

× 4(n − 2) + 5 × 4
= 8n2 + 8:

(2)

Dividing (2) by 10n2 yields (1).
5. In nite stable patterns in other variants
The proof of the theorem presented in the previous section indicates that we can obtain a valid
upper bound on the maximum density of an in nite
stable pattern in a variant of Life by examining the
death-by-overcrowding constraint for that variant.
The bound is equal to the ratio of the right-hand
side of the death-by-overcrowding constraint to the
sum of the coecients of the variables in the lefthand side of the constraint. In B36=S23 Life, the
death-by-overcrowding constraint is
X
xf 65:
2xe +
f∈N (e)

(In B36=S23 Life, a stable pattern cannot have any
cells – immortal or eternally dead – that have more

R.A. Bosch / Operations Research Letters 27 (2000) 7–11

11

technique) that in B3=S23 Life, the maximum density
is actually 12 , as was long suspected by Life enthusiasts
[5]. Perhaps there is a valid inequality for the B3=S23
Life IP formulation that “generates” the tight upper
bound of 21 .
References

Fig. 4.

than ve immortal neighbors.) Thus, in B36=S23 Life,
the maximum density of an in nite stable pattern at
most 21 . Fig. 4 demonstrates that this bound is tight. In
B3=S23 Life, the death-by-overcrowding constraint is
X
xf 66:
3xe +
f∈N (e)

Thus, in B3=S23 Life, the maximum density of an
6
. This bound is not
in nite stable pattern is at most 11
tight. Noam Elkies has proved (using a “discharging”

[1] E.R. Berlekamp, J.H. Conway, R.K. Guy, Winning Ways
for your Mathematical Plays, Vol. 2, Games in Particular,
Academic Press, London, 1982.
[2] R.A. Bosch, Integer programming and Conway’s game of Life,
SIAM Rev. 41(3) (1999) 594–604.
[3] P. Callahan, Conway’s life miscellany web page, URL:
http:==www.cs.jhu.edu=∼callahan=lifepage.html, 1998.
[4] CPLEX Optimization, Using the CPLEX Callable Library,
CPLEX Optimization, Incline Village, NV, 1995.
[5] N.D. Elkies, The still-Life density problem and its
generalizations, in: P. Engel, H. Syta (Eds.), Voronoi’s Impact
on Modern Science, Book 1, Institute of Mathematics, Kyiv,
1998, pp. 228–253.
[6] M. Gardner, The fantastic combinations of John Conway’s
new solitare game “life”, Sci. Am. 223(4) (1970) 120–123.
[7] M. Gardner, On cellular automata, self-reproduction, the
Garden of Eden, and the game “life”, Sci. Am. 224(2) (1971)
112–117.
[8] M. Gardner, A quarter century of recreational mathematics,
Sci. Am. 279(2) (1998) 68–75.