## Cellular Automata

John Conway’s “Game of Life” involves simple patterns of cells on a grid that modify and reproduce themselves according to rules regarding their neighboring cells. At times, the rules and patterns can combine to create interestingly complex results that appear to grow and evolve. This is a simple example of cellular automata.

Cellular automata can be considered to be algorithmic machines or an abstract modeling environment. They typically involve some form of architectural matrix, a definition of the “cell”, the “neighborhood” or region of neighboring cells the cell has some interaction with, the states the cell can take, and a collection of rules that are applied to everything. Once all these factors are defined, the rule set is usually applied repetitively until some endpoint condition is reached.

In the game of life, the matrix is a simple grid of squares, the cell is a square, the neighborhood is the squares that directly adjoin the cell, the states are on or off, and the rules define whether cells are turned on or off according to how many neighbors are turned on. Even with these very simple rules, patterns can be generated that exhibit infinite growth and complexity.

**Conway’s Game of Life** – [wikipedia.org]

Gardner wrote:

The game made Conway instantly famous, but it also opened up a whole new field of mathematical research, the field of cellular automata … Because of Life’s analogies with the rise, fall and alterations of a society of living organisms, it belongs to a growing class of what are called ‘simulation games’ (games that resemble real life processes)

** John Conway Talks About the Game of Life Part 1** – [youtube.com]

**John Conway Talks About the Game of Life Part 2** – [youtube.com]

As simple as the game of life is, the overall concept of cellular automata is unlimited. It is possible to change the constraints of the matrix by adding dimensions beyond the strict two dimensional plane of the game of life. The shape of the cell can be changed, obviously to any shape that will smoothly tessellate across the defined matrix and perhaps beyond. The definition of neighborhood and the rules of interaction can also be made much more complex.

**Cellular Automata** – [nbickford.wordpress.com]

As if all this weren’t enough, there’s even a generalization of the previous into arbitrarily many rules for arbitrarily many states, as a rule table. Basically, the rules are based on a large table that tells the cell in a certain state to change to a different (or the same) state if it has

many live neighbors. The different rules for each state makes it easy to get the cellular automaton to do exactly what you want it to do.

Imagine a cellular automata matrix with unlimited dimensions, a variable cell shape, analog cell states and rules that can alter those basics as they are iterated. Instead of simply changing a cell state from ON to OFF, the rule could add a new dimension to the matrix, update the cell shape in accord with the dimensionality of the neighborhood, use infinitely variable analog values for the cell state and change existing rules or even generate new rules based on the changes of the previous iteration.

SEE ALSO:

**Self Organizing**

**Swarm Intelligence**

**1887 – E8**