The Game

Cellular Automata
The Game
The Game of Life is not your typical computer game. It is a
'cellular automation', and was invented by the Cambridge
mathematician John Conway.
This game became widely known when it was mentioned in an
article published by Scientific American in 1970. It consists of
a collection of cells which, based on a few mathematical rules,
can live, die or multiply. Depending on the initial conditions,
the cells form various patterns throughout the course of the
game.
Cellular Automation
Formally, we must think of an infinite square grid in which each cell
exists in one or two states, „living“ or „dead“. Each cell is a simple
automation that at every tick of a great clock must decide which state it
will be in until the next tick.
It makes this decision on the basis of not only its present state but also
those of its eight neighbours, four adjacent along sides and four adjacent
at corners.
The Rules
For a space that is 'populated':
Each cell with one or no neighbours dies, as if by loneliness.
Each cell with four or more neighbours dies, as if by overpopulation.
Each cell with two or three neighbours survives.
For a space that is 'empty' or 'unpopulated'
Each cell with three neighbours becomes populated.
The algorithm
below computes successive generations for Life in matrix L.
A 1 represents a live cell in the i,jth entry, and a 0 represents a dead cell.
1. for i  1 to 100
1. for j  1 to 100
1. s  0
2. for p i -1 to i +1
for q  j - 1 to j +1
s  s + L(p,q)
3. s  s - L(i,j)
4. if (s = 3) or (s + L(i,j) = 3)
then X(i,j) = 1
else X(i,j) = 0
2. for i  1 to 100
1. for j  1 to 100
1. L(i,j)  X(i,j)
2. display L(i,j)
/compute effect
/of neighbours
/store life or death
/in auxiliary array X
/refresh L
/display L
The Game of Life
A java applet:
A dos program:
Interesting links:
www.bitstorm.org/gameoflife
www.math.com/students/wonders/life/lif.html
hensel.lifepatterns.net
http://wwwhomes.uni-bielefeld.de/achim/gol.html