Lab 1: Cellular Automata

John Conway’s ‘Game of Life’ is especially intriguing in that he managed to essentially re-create the cycle of life according to his own terms. Of course, at first glance, the simulation may seem impossibly complicated, but by understanding a few simple ‘genetic laws’, the average reader will be able to get a feel for how the game unfolds. 

Taking a snippet from Martin Gardner’s article, “Mathematical Games: The Fantastic Combinations of John Conway’s New Solitaire Game ‘Life’”, we can list the basic genetic laws that govern the game of life:

“1. Survivals. Every counter with two or three neighboring counters survives for the next generation.

2. Deaths. Each counter with four or more neighbors dies (is removed) from overpopulation. Every counter with one neighbor or none dies from isolation. 

3. Births. Each empty cell adjacent to exactly three neighbors— no more, no fewer — is a birth cell.”

    – Gardner (2)

Both birth and death happen simultaneously, resulting in the myriad of changes within the patterns of cells. Cells can take on many forms, including the stabilized ‘blocks’ and alternating ‘blinkers’, as illustrated by the graphic below. 

In order to create such a simulation, Conway made use of three basic methods for constructing a working cellular automata:

  • Grid: space where the cells reside (can exist on a finite number of dimensions)
  • State: usually represented by “0” and “1” as “off” and “on” respectively, but a cell can have a varying number of states
  • Neighborhood: a list of adjacent cells

With these basic methods, variations of Conway’s cellular automata can be created:

Cyclic Cellular Automata: https://github.com/phasenraum2010/cyclic-cellular-automaton

WireWorld: https://rosettacode.org/wiki/Wireworld

Rainbow: https://github.com/Tebs-Lab/conways-game-of-life

Though these variations are similar to Conway’s original simulation, they differ in many aspects, including dimensional changes, color changes, and addition of new rules. The Rainbow variation contains cells that are colored based on the average color values of parent cells, thereby introducing new patterns. The Cyclic Cellular Automata utilizes a different set of rules; a hierarchy of colors is established in the beginning, and whenever a cell is neighbored by another cell with a color that is next in the ‘cycle’, it does not undergo a state change. Lastly, the Wireworld variation simulates electronic circuits, and has each cell represent an electron flowing through conductors. This simulation operates on four basic rules that differ slightly from Conway’s; empty cells are always empty (black cells), electron heads (blue cells) become electron tails in the succeeding generation, electron tails (red cells) become conductors, and conductors (yellow cells) become electron heads if exactly one or two neighboring cells are electron heads. 

Tinker (pre)

Tinker (after)

Going off of the Rainbow variation for Conway’s game of life, I changed the original symmetry of the sketch, and morphed the rectangles into ellipses. Instead of the colors changing gradually like a gradient, the colors in the tinkered sketch pulsate according to the average color scheme of the parent cells in the neighborhood. 

Reference

Gardner, Martin. Mathematical Games: The Fantastic Combinations of John Conway ‘s New Solitaire Game ‘Life’. web.stanford.edu/class/sts145/Library/life.pdf.

Gardner, Martin. Mathematical Games: The Fantastic Combinations of John Conway ‘s New Solitaire Game ‘Life’. web.stanford.edu/class/sts145/Library/life.pdf.

One Reply to “Lab 1: Cellular Automata”

  1. Gardner provides a very concise and clear description of Game of Life. The fact that the game can last for so many generations is perhaps why it has ben so compelling as a potential simulation of biology. However, there are very many factors missing in the game – rule 2 is especially my concern. How does it happen that a cell dies from overpopulation? What exactly causes it? In the real world it’s due to the scarcity of life resources.

    Still, intricate specialization was able to evolve out of these simple rules. That’s visible in the implenentation that you tested. It seems like after tinkering, the structure has been dismantled. That’s interesting, would like to know more about what rules have been changed or skipped.

Leave a Reply