Pattern

In a cellular automaton, a pattern is any particular configuration of cells covering the infinite plane (or other backdrop) that the automaton operates on.

Finiteness

Only those patterns that have finite complexity can be studied. Most typically this is accomplished by establishing a vacuum: requiring the existence of a cell type that, in a neighborhood of no other cells, will remain the same type. A finite pattern, then, is a pattern where infinitely many cells are in the vacuum state, and a finite number in all other states. The vacuum state cells will be known as dead cells, all others as live cells, or "plain" cells.

A bounding box can be defined for any finite pattern, as the smallest rectangular area that contains all the live cells of a pattern. By definition, all cells outside the bounding box are dead, and a simple finite description of a pattern is to enumerate the state of each cell within the bounding box.

A different approach that allows patterns of infinite population is the study of spatially periodic patterns, known as agars.

Equivalence

Two patterns, finite or not, are normally considered the same, if they differ only by an isometry: a rotation, reflection or translation. For certain pattern types, other criteria may also be established: typically e.g. the phases of an oscillator or a spaceship are not considered different patterns entirely.

Interestingness

Patterns are usually only considered interesting if they evolve in special ways. Certain families of patterns of interest include oscillators and spaceships.

gollark: ddg! void star
gollark: Add more *s.
gollark: ↓ a gamechanging book which really helps with learning Rust
gollark: Go `PRAGMA page_count` yourself.
gollark: That is a very cursed program.

See also

  • List of patterns
This article is issued from Conwaylife. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.