Cyclic Cellular Automata
Your browser cannot show this simulation.

Generation: 0 Cells changing: - Grid:

Rule parameters

A new number of states starts again with random colors. The threshold and the neighborhood change the running pattern.

In a cyclic cellular automaton, the colors (states) of the cells form a cycle, like the hours on a clock: every color has a successor, and the successor of the last color is the first one again. In each generation, a cell takes its successor color if at least a threshold number of its neighbors already have that color. Otherwise it keeps its color. All cells change at the same time, based on the previous generation.

The rule was developed by the mathematician David Griffeath. Started from random colors, it organizes itself: each color is eaten by its successor wherever enough of it is nearby, so colors start to chase each other in waves, and the waves often wind up into spirals that keep turning.

The rule parameters decide what happens:

  • States: how many colors the cycle has, from 2 to 24.
  • Threshold: how many neighbors must already have the successor color. Whether a threshold is low or high depends on the size of the neighborhood: 5 of 8 neighbors is a strict requirement, while 5 of 48 is easy to meet. Low thresholds give waves and spirals, high ones make the grid freeze into still blocks, and in between the waves become turbulent.
  • Neighborhood: which cells count as neighbors. Moore is the square around the cell, up to the range in each direction (8, 24 or 48 cells). Von Neumann is the diamond of cells that can be reached in at most range steps up, down, left or right (4, 12 or 24 cells).

Choose a rule to see what it does, then change the parameters to explore. Cells changing shows how much of the grid changed in the last generation: when it drops to 0%, the pattern has frozen for good. The grid wraps around at its edges.

To learn more, read Cyclic cellular automaton on Wikipedia, or the paper by Robert Fisch, Janko Gravner and David Griffeath, Threshold-range scaling of excitable cellular automata (Statistics and Computing, 1991).