The Game of Life is a two-dimensional cellular automaton invented by mathematician John Conway and can be considered as a simple model for the behavior of a colony of organisms.
June 26, 2017—Michal Sadowski
Setting the Scene
The scene in which the Game of Life takes place is a two-dimensional rectangular grid of cells. Each cell can be in one of two possible states: either alive, which is represented as 1, or dead, which is represented as 0.
Make a 100 by 100 grid of random states and visualize it with colors, with white for 0 and black for 1:
The Game of Life is performed by evolution of the cells’ states in time. To carry out the evolution, rules of the evolution must be specified. The general principle is that the successive state of a given cell depends on the states its neighboring cells and the cell itself had in the previous time step. Thus, the neighborhood of a cell needs to be specified.
Visualize examples of neighborhoods on a grid. The black cells are considered neighbors of the pink cell in the center:
We could specify any neighborhood, but the Game of Life uses the Moore neighborhood. Having defined neighborhood of a cell, we can define rules of evolution.
Make a list of evolution rules. The first element in a rule is the state of a given cell, and the second element is the number of a cell’s neighbours that are alive. The new state of the cell is specified after the arrow:
In[]:=
listOfRules={{1,2}1,{1,3}1,{0,3}1,{_,_}0}
Out[]=
{{1,2}1,{1,3}1,{0,3}1,{_,_}0}
Evolution
Patterns
Universal Computations
FURTHER EXPLORATIONS
Investigate the theory of cellular automata
Investigate Matthew Cook’s proof that rule 110 is Turing complete