# Fun with cellular automata

Note: Your browser must have Java enabled to use the applets on these pages.

## One-dimensional cellular automata

A cellular automaton is a group of cells that evolves only by nearest neighbor interaction. They are thought to be able to represent the evolution of living organisms and minerals. In one dimension, the cells are a line of points. Each point has a value, represented by a color. The evolution of each point is determined by its value and by the value of the neighboring points. By setting some simple rules for evolution, and picturing the evolution of the line of cells, it is possible to obtain very complex and beautiful patterns. Here are some examples giving an idea of the diversity of image that can result:

In above examples, each point can take the values 0, 1, 2, or 3, corresponding respectively to the colors black, red, green, and blue. The initial state (i.e. the top line) is chosen randomly. Then, the cells evolve from top to bottom according to a set of rules, each line representing a step of evolution.

How many rules are possible? If we consider only nearest neighbour interaction, and four colors, we have 4x4x4 = 64 different patterns possible of three cells. A rule of evolution is a function that relates each of these 64 patterns to one color. There are 4^64 patterns possible : it is a huge number, approximately 34000000000000000000000000000000000...

A subset of these rules are those that satisfy the following two conditions: (1) the rule depends only on the sum of the values of the cell and its neighbours; (2) if the sum is zero, the resulting value is zero. Even thus, there are 9 possible values of the sum for four colors and nearest neighbour interaction, which yeilds 4^9 = 262144 possible patterns.

Have fun exploring these patterns with the calculator below. You can try to create patterns that give vertical lines, horizontal lines, triangles, or tree-like components. Puzzle: see if you can reproduce the rules for above examples!

Usage: Click on the compute button to compute a pattern. When random is selected, the rule is randomly generated at each computation. If continuous is selected, a new pattern is generated every 2 seconds. The initial condition, i.e. the top line of each pattern, is always randomly generated at each computation. In continuous mode, the computation can be stopped at any time by deselecting the continuous checkbox. If continuous is selected, and random is not, patterns will be periodically generated with a constant rule, but different initial conditions. The parameter "Extent" gives the number of neighbours on each side that are included in the sum. The parameter "Nb shades" gives the number of colors. When random is not selected, it is possible to edit the rule on the right side of the screen.

Have fun and luck in your hunt. If you find a pretty pattern, please send me its rule, I will be happy to see it.

Now continue with the game of life.