# CellularAutomaton

Usage

CellularAutomaton[rnum, init, t] generates a list representing the evolution of cellular automaton rule rnum from initial condition init for t steps.
CellularAutomaton[rnum, init, t, {, , ... }] keeps only the parts of the evolution list with the specified offsets.

Notes

• Possible settings for rnum are:
 n , , elementary rule {n, k} general nearest-neighbor rule with colors {n, k, r} general rule with colors and range {n, k, {, , ... , }} -dimensional rule with neighborhood {n, k, {{}, {}, ... , {}}} rule with neighbors at specified offsets {n, {k, 1}} -color nearest-neighbor totalistic rule {n, {k, 1}, r} -color range totalistic rule {n, {k, {, , ... }}, rspec} rule in which neighbor is assigned weight {fun, {}, rspec} applies the function fun to each list of neighbors, with a second argument of the step number
CellularAutomaton[{n, k}, ... ] is equivalent to CellularAutomaton[{n, {k, {k^2, k, 1}}}, ... ].
• Common forms for 2D cellular automata include:
 {n, {k, 1}, {1, 1}} 9-neighbor totalistic rule {n, {k, {{0, 1, 0}, {1, 1, 1}, {0, 1, 0}}}, {1, 1}} 5-neighbor totalistic rule {n, {k, {{0, k, 0}, {k, 1, k}, {0, k, 0}}}, {1, 1}} 5-neighbor outer totalistic rule
• Normally, all elements in init and the evolution list are integers between 0 and .
• But when a general function is used, the elements of init and the evolution list do not have to be integers.
• The second argument passed to fun is the step number, starting at 0.
• Initial conditions are constructed from init as follows:
 {, , ... } explicit list of values , assumed cyclic {{, , ... }, b} values superimposed on a b background {{, , ... }, {, , ... }} values superimposed on a background of repetitions of , ,
 {{{{, , ... }, }, {{, ... }, }, ... }, bspec} values at offsets on a background {{, , ... }, {, ... }, ... } explicit list of values in two dimensions {aspec, bspec} values in dimensions with -dimensional padding
• The first element of aspec is superimposed on the background at the first position in the positive direction in each coordinate relative to the origin. This means that bspec[[1, 1, ... ]] is aligned with aspec[[1, 1, ... ]].
• Time offsets are specified as follows:
 all steps through u steps 0 through -1 last step (step ) {u} step {, } steps through {, , du} steps , + ,
CellularAutomaton[rnum, init, t] generates an evolution list of length .
• The initial condition is taken to have offset 0.
• Space offsets are specified as follows:
 all cells that can be affected by the specified initial condition all cells in the region that differs from the background 0 cell aligned with beginning of aspec x cells at offsets up to on the right -x cells at offsets up to on the left {x} cell at offset to the right {-x} cell at offset to the left {, } cells at offsets through {, , dx} cells , + ,
• In one dimension, the first element of aspec is taken by default to have space offset 0.
• In any number of dimensions, aspec[[1, 1, 1, ... ]] is taken by default to have space offset {0, 0, 0, ... }.
• Each element of the evolution list produced by CellularAutomaton is always the same size.
• With an initial condition specified by an aspec of width , the region that can be affected after steps by a cellular automaton with a rule of range has width .
• If no bspec background is specified, space offsets of All and Automatic will include every cell in aspec.
• A space offset of All includes all cells that can be affected by the initial condition.
• A space offset of Automatic can be used to trim off background from the sides of a cellular automaton pattern.
• In working out how wide a region to keep, Automatic only looks at results on steps specified by .
• See Section 3.8.6.
• Implementation notes: see Section A.9.4.
• New in Version 4.2.

THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.