Initial Conditions

What John Conway’s ‘life’ teaches us about data compression, gene expression and the description of organisms

FullSizeRender (1).jpg

The mathematician John Conway is responsible for a simple but thought-provoking game called ‘life’ that has become a popular tool for demonstrating how complexity can emerge from the simplest of rules. Life is not, strictly speaking, a game, rather it is a type of model – a cellular automaton – that comprises a two-dimensional grid and a set of rules which determine the status (‘alive’ or 'dead’) of each cell across successive generations. The rules are as follows:

Whilst most starting configurations result in patterns of activity that quickly peter out, others produce fascinating results. Some shapes appear to move across the matrix like pixelated amoebae (‘gliders’, as they are known, see image below); others ('eaters’) behave like predators, consuming neighbouring cells in the grid. There are even some initial conditions called 'guns’ that exist in perpetuity, constantly spitting out gliders.

conway_game_of_life_glider.GIF'Glider’ moving across a life matrix

The existence of configurations such as gliders and guns, with properties that are easy to name and describe, gave Conway and his collaborators a handle on the game so they could begin to ask interesting questions about Life. It turns out that even though the model’s rules are extremely simple, a life universe can accommodate rich computational systems. For example, it is theoretically possible to construct a Turing machine (a simple computer) from a particularly cunning starting configuration. The possibility of implementing a Turing machine is important as it implies that all manner of processes could be simulated within a Life universe. Could this include exotic computational phenomena such as consciousness?

Thought-provoking though it is, Life has also become a bit of a puzzle for me. I remember my feeling of deep amazement when I first read about it in Darwin’s Dangerous Idea (1996)1 many years ago and yet the more I have considered it since then, the less sure I am of what it demonstrates. An undeniably interesting aspect of Life is that everything is observable. It has been constructed in such a way that we can see algorithms played out in real time rather than just their end result. It is, therefore, a vivid and persuasive means of demonstrating how complex behaviour emerges from simple rules. To this extent it is little wonder that Life is often used as a pedagogical tool. Rather like Braitenberg’s Vehicles, it removes some of the mystery of how the transition from dumb matter to living, behaving organisms might occur in the real world. What is less clear, however, is what it can tell us about computation and biology. There is often, I feel, some confusion between what we can see happening and what is being computed. Slow and simple Life denizens such as gliders and eaters are enigmatic when considered in isolation; however, when considered as components in a large-scale computing machine their superficially biological and amoeboid appearance becomes irrelevant. Thus, when we put Life to work on a scale that is too large to witness, we are left with an approach to problem-solving and simulation that is extraordinary only insofar as it is breathtakingly long-winded and cumbersome.

For me, the truly fascinating quality of Life lies in how it makes us think about information packaging. It is not interesting merely because it generates complexity from simple rules (did anyone honestly have an intuition one way or another about how complex or simple the underlying rules of physics and biology ought to be?!), rather it is interesting because it encourages us to think of the biological world in terms of initial conditions and interactions. The shapes we draw on a two-dimensional Life matrix are our initial conditions and it is not until we run the program that we make manifest all of the information contained in that initial pattern by expressing it through the prism of Life’s rules. This is analogous to one of the fundamental processes behind biological life. Our initial conditions are written in our DNA and this genetic code is expressed and fully realised within the rules of our universe. Life, therefore, provides us with a useful alternative to the enticing but flawed blue-print analogy of genetics, forcing us instead to think in terms of initial conditions that are designed to exploit the information and interactions inherent in our environment rather than in terms of a recipe for baking organisms.

The best way to understand Life is to play with a working version. I recommend Pedro Verruma’s Javascript Game of Life. It’s also worth taking time to listen to John Conway discuss Life in his own words in the video below. For more insight I also recommend Sigmund (1995)2 - but read Dennett first!

  1. Dennett, D. C. (1996). Darwin’s Dangerous Idea. London: Penguin. 

  2. Sigmund, K. (1995). Games of life: explorations in ecology, evolution and behaviour. London: Penguin. 


Now read this

Foraging in space, data and mind

Optimal foraging theory has always fascinated me. It is an attempt to formalise and explain how animals allocate time and energy to best exploit the resources within their environment. Thus an animal judges how to offset the energy it... Continue →