18 September 2012

Golly and evolution

Anyone who is interested in dynamic, evolving systems (such as biological, economic and political systems) should play with cellular automata (and here) at least once. They’re great fun and very educational. They show that even very simple systems can evolve in unexpected ways due to the interactions of the actors or components in the system.

A cellular automaton consists of a regular grid (or universe) of cells, each in one of a finite number of states. Each state is represented by a colour. The simplest automata use two states: normally represented by black and white. More complex automata use more colours and shades. For each cell, a set of cells called its neighbourhood is defined relative to the specified cell. For example, the neighbourhood may be the eight cells immediately surrounding a cell plus the cell itself. An initial state (time t = 0) is selected by assigning an initial state for each cell. A new generation is created (advancing t by 1), according to some fixed rule that determines the new state of each cell in terms of the current states of the cells in its neighbourhood.

The behaviour of a cellular automaton is dependent on its initial condition and the rule by which the universe evolves from one generation to the next. A wide variety of behaviours can be observed: the universe may evolve into a stable state or it may become unstable; it may live “forever” or die away quickly; it may generate regular or irregular patterns. The automaton can be stopped at any generation in order to manually change the state of one or more cells, in the same way that mutations occur in biological life. When the automaton is restarted, the mutation can change the behaviour of the universe radically or it can die out quickly as the universe reverts to its original behaviour.

Golly is a great computer program for exploring cellular automata. It’s an open source program so it’s free to download. It’s available for a range of computers including Windows PCs and Apple iPads.

Two of my favourite patterns in Golly are Bloomerang which generates a colourful kaleidoscopic pattern, and Wolfram 22 which generates a Sierpinski triangle.


Bloomerang



Wolfram 22

For more information on cellular automata check out the Wikipedia entries for Conway’s Game of Life and elementary cellular automata (and here). John von Neumann, Stanislaw Ulam and Stephen Wolfram were three of the key figures in the development of cellular automata. Check out their Wikipedia entries to get an idea of the provenance of cellular automata.

No comments:

Post a Comment