Thursday, 8 September 2016

Conway’s Game of Life: Beyond a Game

We would have played many Mathematical games for fun however, one game called “Life” which is designed by John Horton Conway stands out of all. The ingesting thing about this game as Conway explains, it’s a no player game! This game is built on simple rules which simulate unpredicted patterns. The reason it is beyond a game is that, it explains or at least makes us think about evolution of life, space and also its practical application in today’s industries.

Background: 
John von Neumann, a great mathematician of 20th century has made many contributed in various fields of science such as Astrophysics, Game Theory and Economic Behavior, Shockwave, Hydrodynamics, Weather Control, Atomic Energy, Computer Technology and Theory of Automata. Conway studied Theory of Automata where Von Neumann discusses on colonizing red planet Mars. Von Neumann states that, we can send machines to Mars whose job would be smelting iron oxide to separate iron and oxygen, this way we can probably create colonize the planet Mars. Now the machines which will be sent out to Mars should be capable of creating a copy of its own, using the available iron and other metals (The idea similar to that of DNA – Replication, Transcription and Translation in humans!). Von Neumann considered Mars as a plane object and imagined a machine with 29 squares; each square performing different functions with different states. Conway simplified this idea and refined the rules laid out by Von Neumann, which resulted in wonderful mathematical game called “Life “or popularly known as “Game Of Life”. Conway considered only two states in his game Alive and Dead, unlike Von Neumann’s 29 state machines. To be precise Von Neumann’s machine was very well designed but Conway’s wasn’t!

Game of Life
Conway’s Game of Life was published in Scientific American (October, 1970) and it was one of the most popular reads of that time. The game resembles the rise, fall and alternations of a society of living organisms because of which it is categorized under simulation games. This game was initially played using small checkers or poker chips and a go board.  Later it was programmed in 1970’s computers which were known as PDPs (programmed data processors). Today the game is so advanced that we have many different patterns.

Initial assumption of the game should be that, it will be played on an infinite plane. Each cell in the board or plane has eight neighboring cells, four adjacent orthogonaly, four adjacent diagonally. Below are the Conway’s rules which are delightfully simple.

1.Survival: Every cell with two or three similar neighbors will survive for next generation.
2.Death:     Each cell with four neighbors will die because of over population.
        Each cell with one or zero neighbor will die from isolation.
3.Births:    Each empty counter adjacent to exactly three neighbors cells will give birth to a new cell.

It is important to note that all birth and death occurs simultaneously, because of which population will constantly undergo some unusual but beautiful changes creating different patterns.

Let us see some simple triplet patterns that get generated initially.

1.       Image showing triplet patterns (“ The Fantastic combination of John Conway’s new solitaire game life”, Martin Gardner, Scientific American, 1970)

In the above figure “A” and “B” patterns dies in the third move. The pattern “C” which is a single diagonal chain of counters, loses its end counters on each move until the chain finally disappears (Conway calls this as “Speed of Light”). Pattern “D” becomes a stable block and “E” will become a blinking oscillator due to its flip-flop property. In each step of this pattern, two cells die, the middle cell stays alive, and two new cells are born to give orientation as shown above. This pattern is also known as “Period”

Above picture illustrates triplets, let us consider tetrominoes (four cells) and see what are the patterns that are produced in below figure.

2.   Image showing tetrominos patterns (“ The Fantastic combination of John Conway’s new solitaire game life”, Martin Gardner, Scientific American, 1970)

The above figure illustrates five tetrominos where pattern “A” is still-life figure. Pattern “B” and “C” becomes a stable figure called “Beehive” and “D” becomes beehive on third move. Interestingly the pattern “E” becomes isolated blinker, in fact after nine moves it becomes four isolated blinkers this pattern is called “Traffic Light”.

Let us go one step ahead and consider five-cell initial population. At each step two cells will die and two new ones get birth. After four steps the original population will re-appears, however it will move diagonally down and across the plane. This pattern continues to move in the same direction forever, eventually it will disappear from our view but will continue to exist in the infinite plane. This pattern is called “Glider”.

3. Image showing Glider pattern (“Game of Life”, Cleve Moler, 2011)

The game becomes more interesting when we think beyond these static patterns.  The computer programs make this game dynamic and we can watch the evolution of larger population. One such pattern which creates curiosity among the readers is “Glider Gun” developed by Bill Gosper in 1970.
In Glider Gun a portion of the cell population between the two static blocks oscillates back and forth, and at every 30 steps, a glider emerges. This leads to a huge number of gliders that fly out of the view but exist in the infinite plane.

4. Image showing Glider Gun (“Game of Life”, Cleve Moler, 2011)

Over the years the game has been advanced and now it has numerous patterns. Below are some of the animations of the patterns.

5 (a) Blinker (Source: Wikipedia)

5 (b) Glider (Source: Wikipedia)

5 (c) Light Weight Space Ship (Source: Wikipedia)

Image 6. Glider Gun (Source: Wikipedia)

Image 7: Evolution of an MSM breeder – a puffer that produces Gosper guns, which in turn emit gliders. (Source: Wikipedia)

Image 8: Puffer (Source: mathworld.wolfram.com)

There are hundreds of programs like Python R, C, Java etc.which can develop various patterns of Game of Life. 

The idea of Game of life is applied in the various fields such as Music, for creating sound patterns using MDMI (Musical Instrument Digital Interface). The game of life is also used as a basis to explain the astronomical events. The game can also explain the evolution and survival of cells, species and organisms. Because of its wide range of application, The Game of Life stands beyond a simple mathematical game.

Reference:
1.“The Fantastic combination of John Conway’s new solitaire game life”, Martin Gardner, Scientific American, 1970.
2. “Game of Life”, Cleve Moler, 2011
3. Wikipedia
4. mathworld.wolfram.com