by Dirk Brockmann
This explorable illustrates one of the most famous complex dynamical systems: The Game of Life developed by John Horton Conway in 1970. The Game of Life is a simple, discrete time dynamical system that evolves on a square lattice. Lattice cells can be alive or dead, interact with their neighboring cells, and evolve according to simple rules that mimic natural processes of replication, competition and cooperation.
Although the dynamic rules are very simple, the Game of Life can generate a wide range of dynamic patterns: spatio-temporal chaos, periodicity, self-replicating structures, and many other emergent phenomena. It plays an important role in biology, social sciences, physics, and the theory of computation.
Press Play and keep on reading ….
This is how it works
The Game of Life is a cellular automaton. It evolves on a two dimensional, square lattice. Each lattice cell has a binary state variable, 1 or 0, representing alive or dead, respectively. In the display panel live cells are black, and dead cells are white. Each cell interacts with its 8 nearest neighbors. The states of all cells are updated synchronously and depending on the states of each cell’s neighboring cells.
The rules are very simple:
- If a cell is alive and has less than 2 alive neighbors it will die.
- If a cell is alive and has more than 3 alive neighbors it will also die.
- If a cell is alive and has 2 or 3 alive neighbors it will continue to live.
- A dead cell will become alive in the next step if it has exactly 3 alive neighbors.
The first three rules imply that only when the number of neighbors is suitable, namely 2 or 3, a cell can survive. Overpopulation or too much competition will kill a cell (rule 2). Underpopulation, the lack of required cooperation, will also kill a cell (rule 1). Rule 4 mimics reproduction: Alive cells in the neighborhood can have a baby in the center.
So, in a nutshell, these simple rules mimic three vital biological forces, cooperation, competition and reproduction.
The above rules are static, no parameters are involved. However, depending on the initial conditions, the Game of Life generates different classes of patterns.
By default the initial setup is random, each cell is assigned its state randomly. With the density slider you can control the initial fraction of alive and dead cells. In this scenario you will observe that very quickly a dynamic pattern will emerge that exhibits little patches that are static and other regions that are highly dynamic. If you look closely, you will see that every now and then little gliders are generated that move diagonally until they collide with other parts of the pattern.
If you select the tiny glider setup in the control panel you can inspect how a tiny glider works in detail. The pattern is such that the glider moves constantly into one direction. Without any obstacles, this will go on forever. If you select tiny glider swarm, you can observe what happens if these critters collide.
There are countless other glider forms, or spaceships: Patterns that move in one direction, despite the fact that nothing in the rules would indicate that.
An interesting feature about the Game of Life is its capacity to host replicating patterns. In the control panel you can choose three different patterns that generate gliders, known as gliders guns. Some of these can be very complex.
One can also find initial conditions for periodic patterns that repeat after a certain number of iterations. Some of these pulsars are really complex as the example shown here. If you are patient you can see in the example how a structure in the center is built up and gets removed again, periodically.
The Game of Life has practically no limit in terms of the complexity of patterns it can generate. A great source for exploring this further is Golly, an internative Game of Life simulator. Golly also offers different versions and variations of the Game of Life slight variations of the original rules.
It’s also worthwhile to whatch this youtube video on the Game of Life.