As happened with other topics, long ago I wanted to write about this one: Artificial life and John Conway‘s Life Game.
If you already happen to know about it or have just searched the internet, I’m afraid I’m not going to tell you something new, or maybe I am: John Horton Conway is a mathematician born in Liverpool, United Kingdom in 1937. One of his most known (and he has worked many) field are mathematic games, like Sprouts Game, or the Game of Life I’m going to explain here.
Life game is played on a reticulated board or grid that is supposed to be infinite in extension. Obviously, this cannot exist in practice, but is ok to use one large enough. Each cell of this grid is in one of two states: live or dead, represented with different colors (here white and black respectively).
This “game” is a zero-player game, meaning that its evolution is determined by its initial state, needing no input from human players.
The game is turn-based. At each step (also called generation) every cell in the board is examined and its new state calculated. Finally, when all the new states are known, the board is updated.
The cell next state is calculated following 3 rules that although really simple (as it happen on most Conway’s games) can lead to surprisingly complex configurations:
- If a cell is alive and the number of alive neighbours is less than 2, it will die by isolation and will be removed from the board in the next turn.
- If a cell is alive and the number of alive neighbours is greater than 3 it will die by overcrowding (it will be removed from the board the next turn).
- A free (dead) cell which happens to have 3 (and only 3) alive neighbours will came into life the next turn.
These three simple rules creates a chaotic system: changing just one cell state in a configuration can lead to dramatically different results which ranges from total extinction (empty board) to stable oscillating population or even more interesting life forms.
I’ve developed a simulator for the game of life. It uses the HTML5 canvas, and it should work ok on every browser (Firefox, Safari, Opera…) except Internet Explorer (it’s supposed Internet Explorer 9 will support it). If you’re using IE, please download Google Chrome Frame (it will work flawlessly!) or switch to another browser. Anyway, here you are:
Now I’m going to show some of the most known configurations. Click on any of them to put a copy on the simulation board:
- Still Life: It’s a pattern that does not change from one generation to another. You can click on them, but you won’t notice any change on the simulator.
The block The boat The loaf
- Oscillators are a patterns that return to their original state, in the same orientation and position, after a finite number of generations.
Blinker Toad Pentadecathlon Eight Digit
- Spaceships, patterns that repeat themselves in a different position. The fact that they exist points that this game can behave as a Turing Complete system.
Glider Light Spaceship Heavy Spaceship
- Everlasting patterns (they are also have other names) are those which grow up forever (previous ones either die or oscillate).
Growing up Warning: Since this board is finite and rather small this pattern dies because if fill up the board completely. You better try in on a bigger simulator (there are many of them on the internet). Gosper Glider Gun Warning: This is the Gosper Glider Gun that creates new gliders continually, so it’s an ever-growing pattern. To avoid the gliders to appear on the opposite side (due to its small size), I’ve put a glider eater which eats them.
It’s been proved there must exist a cell pattern that, as a true life form, is able to autorreplicate. However, this pattern is not known yet.
Conway conjectured his game is Turing Complete, that is, that it can emulate an universal computer and so to be able to perform any calculation. A Turing Machine pattern was finally discovered in 2000 (3 decades after the game was created).
This is a very interested (and extensive) topic, and I don’t want to write a very long post! (Sorry, it seems I’ve finally done it). Some day I’ll write more on it. I’m sure you’ll find it interesting and like it if you have bothered to reach the end of this post!