## The Game of Life

The Game of Life was invented by J. Conway. It is a Cellular Automata: a mesh of very simple computers which make decisions by comparing information only with immediate neighbors. In Life, each of the squares which is either live or dead. Each generation, each square looks at its eight neighbors to determine its fate for the next generation.

1. A live square stays alive as long as it has 2 or 3 live neighbors;
2. A live square with more than 3 live neighbors dies from overcrowding;
3. A live square with less than 2 live neighbors dies from loneliness.
4. A dead square with exactly 3 neighbors gives birth: it is alive in the next generation.
5. In all other cases, the square stays the same.
The Life.java applet was written by Matt Mankins and myself. Click on the canvas to restart the applet with a new, random pattern.

It is possible to program in Life. This consists of finding the right starting pattern. J. Conway showed that any computer program can be written as a starting pattern in a life game, and determining certain properties of a life game, such as whether all the cells will eventually die, is a mathematically impossible task.

Life has a vast following among mathematicians and computer sciencetists.