Our page on **grids** discusses why one might want to describe an image as a discrete grid
of color values. If such a description is taken as "realistic" (rather than as an arbitrary representation), it implies an image
generation strategy: to specify classes of images by means of local
processes on color grids. The mathematical articulation of this idea
is the cellular automaton.

A cellular
automaton is a grid of cells whose "color" changes in time.
Time moves in discrete steps, and at every step, every cell assumes
a new color. An update rule specifies how the new state of a cell
depends on its old state and on the old states of its neighboring
cells.

Different
cellular automata can be specified, varying in the geometry of the
grid, the number of states of the cells, the definition of "neighborhood",
and the nature of the update rule. For instance, the grid can be one-dimensional,
two-dimensional or three-dimensional. The cells in a two-dimensional
grid are usually square, but they may also be triangular or hexagonal.
The state of every cell may be a Boolean (black and white), a scalar
(grey-tones), or a three-tuple of scalars (colors). The neighborhood
is often the area within one cell distance, but it can also be larger;
diagonal neighbors may be included or excluded. The update rule can
be deterministic or probabilistic. Often it is a "voting rule",
which only counts the number of occurrences of the states of the neighbors,
without taking into account their positions.

Because
of the local nature of the update rules, the behaviour of cellular
automata may be reminiscent of physical, biological or social processes.
The structures observed in visualizations of the resulting configurations
are typical examples of "emergent phenomena": they are not
pre-programmed, but arise out of an unforeseen interaction between
the update rule and the initial conditions. Often,
the emerging shapes have a natural, organic look. Cellular Automata
thus demonstrate that constructivism may be process art, and vice
versa.