hpca » SampleProject3 »

Appendix A: About the Game of Life:

The Game of Life is the best-known example of a cellular automaton devised by the British mathematician John Horton Conway in 1970.

A cellular automaton is a discrete model studied in computability theory, mathematics, theoretical biology and microstructure modeling. It consists of a regular grid of cells, each in one of a finite number of states. The grid can be in any finite number of dimensions. Time is also discrete, and the state of a cell at time t is a function of the states of a finite number of cells (called its neighborhood) at time t − 1. These neighbors are a selection of cells relative to the specified cell, and do not change (though the cell itself may be in its neighborhood, it is not usually considered a neighbor). Every cell has the same rule for updating, based on the values in this neighborhood. Each time the rules are applied to the whole grid a new generation is created. A cellular automaton is Life-like (in the sense of being similar to Conway's Game of Life) if it meets the following criteria:

- The cellular automation has two dimensions.
- The cellular automation has two states (called OFF and ON, or Live and Dead). In our code, we use live/dead to refer to the state of a cell.
- The neighborhood is the Moore neighborhood; it consists of the eight adjacent cells to the one under consideration and (possibly) the cell itself. The version of the game we use for this project only considers the eight adjacent cells (a cell is not considered to be its own neighbor).
- The new state of the cell in the next generation can be expressed as a function of the number of adjacent cells that are in the ON state and the cell's own state.

There is a notation used to describe these automata. It is written in the form S/B.

- S (for survival) is a list of all the numbers of states that cause an ON cell to remain ON.
- B (for birth) is a list of all the numbers of states that cause an OFF cell to turn on. If 0 is in the list, then blank regions of the universe will turn on in one generation.

Note that a cell that is ON will not stay on if it does not satisfy S conditions, even if it does satisfy B conditions. As an example, the Seeds rule is described as /2. Thus every ON cell dies in every generation, since the survival list is empty, but all OFF cells that had exactly two adjacent ON cells turn on. Note that the neighbor count considered for S/B rules is from the previous generation, i.e. if a cell goes from ON to OFF in generation X it still counts as ON when determining the state for other cells in generation X.

This class of cellular automata is named for the Game of Life (23/3), the most famous cellular automaton. Many different terms are used to describe this class. It is common to refer to it as the "Life family" or to simply use phrases like "similar to Life".

This description is based on the one found in Wikipedia. You can play java based game of life at Game of Life