Cellular Automata: The Game of Life

Cellular automata are cells in a grid that behave like finite state automata - they have a finite number of states (e.g. black/white) that can change through time. Each cell has its own behaviour that may be influenced by the other cells around it. Time advances in discrete steps and with each tick the cellular automata change state according to the rules of a particular model.

One version of cellular automata was devised by mathematician John Conway in 1970 and is known as 'The Game of Life' because of the way it appears to portray simple creatures being born and dying. You may know the board game (check here) but Conway's 'game' is different.

The rules appear simple but took some time to refine to the point where they produced the most interesting effects. With each step in time the following rules are followed by each automaton:

  1. Any live cell with fewer than two live neighbours dies, as if by loneliness.
  2. Any live cell with more than three live neighbours dies, as if by overcrowding.
  3. Any live cell with two or three live neighbours lives, unchanged, to the next generation.
  4. Any dead cell with exactly three live neighbours comes to life.

It's tempting to compare the rules of the 'game' ('model' is probably a better word) and and the patterns it produces with real life, the way organisms might react in certain situations of crowding or loneliness.

Practical Work

Take a sheet of graph paper and fill in some squares in the middle - three in a row will be enough to begin with. Add a label '1' to the bottom of the sheet. On a second sheet of graph paper plot the state of the squares after one step in time. Add a label '2' to this second sheet. Repeat this on 3 further sheets.

Doing this by hand is time-consuming. This link allows you to experiment on a computer model.

You may be tempted just to draw random patterns across the grid and set it going super-fast. That's OK to begin with but it won't help you understand the model and what it can do. Use the Clear option and draw some simple shapes and see how they develop. Better still, see if you can predict the next step by looking at the rules of the model. A 2x2 square is one possible starting point, followed by a 3x3 square and a 4x4. Then try a 3x3 square with an empty middle square and a 5x5 outline square.

Try out the shapes provided by the program such as the Glider and the Gosper Glider Gun.

Have a look at the Life Lexicon, which shows how seriously some people have taken this model. One of the uses of cellular automata is in computer games, for example SimCity where the game is played on a grid and the outcome on any cell is determined by what is happening on other cells nearby: no shops and a neighbourhood will die, no fire station and houses will burn down and so on.

Related Games

Reversi or Othello

Check the rules.

Play here.

Go

Check the game

SimCity

Before playing the game you should try designing a city on paper according to the principles of cellular automata considered above. Consider the things that are needed for a city to develop. Why did the first cities develop, what features did they have? (e.g. Babylon, Mohenjo-Daro, Teotihuacan). These might include:

  1. Dwellings
  2. Religious buildings
  3. Government buildings
  4. Military areas (e.g. castle)
  5. Shops
  6. Factories
  7. Transport facilities
  8. Services

Use the numbers above to plot the development of a city from a single function on a single square to something more complex. You could connect the growth of your pretend city with the development of a real city such as London.

Interview with Will Wright SimCity Online SimCity Communities
Ancient Game of Wei-Chi (Go) British Go Association Othello

What similarities do these games share?

Back