Life-like cellular automaton

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

A cellular automaton (CA) is Life-like (in the sense of being similar to Conway's Game of Life) if it meets the following criteria:

  • The array of cells of the automaton has two dimensions.
  • Each cell of the automaton has two states (conventionally referred to as "alive" and "dead", or alternatively "on" and "off")
  • The neighborhood of each cell is the Moore neighborhood; it consists of the eight adjacent cells to the one under consideration and (possibly) the cell itself.
  • In each time step of the automaton, the new state of a cell can be expressed as a function of the number of adjacent cells that are in the alive state and of the cell's own state; that is, the rule is outer totalistic (sometimes called semitotalistic).

This class of cellular automata is named for the Game of Life (B3/S23), the most famous cellular automaton, which meets all of these criteria. Many different terms are used to describe this class. It is common to refer to it as the "Life family" or to simply use phrases like "similar to Life".

Notation for rules

There are three standard notations for describing these rules, that are similar to each other but incompatible. Wolfram & Packard (1985) use the Wolfram code, a decimal number the binary representation of which has bits that correspond to each possible number of neighbors and state of a cell; the bits of this number are zero or one accordingly as a cell with that neighborhood is dead or alive in the next generation.[1] The other two notations unpack the same sequence of bits into a string of characters that is more easily read by a human.

In the notation used by Mirek's Cellebration, a rule is written as a string x/y where each of x and y is a sequence of distinct digits from 0 to 8, in numerical order. The presence of a digit d in the x string means that a live cell with d live neighbors survives into the next generation of the pattern, and the presence of d in the y string means that a dead cell with d live neighbors becomes alive in the next generation. For instance, in this notation, Conway's Game of Life is denoted 23/3.[2][3]

In the notation used by the Golly open-source cellular automaton package and in the RLE format for storing cellular automaton patterns, a rule is written in the form By/Sx where x and y are the same as in the MCell notation. Thus, in this notation, Conway's Game of Life is denoted B3/S23. The "B" in this format stands for "birth" and the "S" stands for "survival".[4]

A selection of Life-like rules

File:Diamonds.png
Chaotic diamonds in the Diamoeba (B35678/S5678) rule
File:Seeds.png
Exploding chaos in the Seeds (B2/S) rule
File:Conway.png
Conway's Game of Life (B3/S23)
File:Anneal CA.png
Anneal (B4678/S35678)

There are 218 = 262,144 possible Life-like rules, only a small fraction of which have been studied in any detail. In the descriptions below, all rules are specified in Golly/RLE format.

Notable Life-like rules
Rule Name Description and sources
B1357/S1357 Replicator Edward Fredkin's replicating automaton: every pattern is eventually replaced by multiple copies of itself.[2][3][4]
B2/S Seeds All patterns are phoenixes, meaning that every live cell immediately dies, and many patterns lead to explosive chaotic growth. However, some engineered patterns with complex behavior are known.[2][5][6]
B25/S4 This rule supports a small self-replicating pattern which, when combined with a small glider pattern, causes the glider to bounce back and forth in a pseudorandom walk.[4][7]
B3/S012345678 Life without Death Also known as Inkspot or Flakes. Cells that become alive never die. It combines chaotic growth with more structured ladder-like patterns that can be used to simulate arbitrary Boolean circuits.[2][4][8][9]
B3/S23 Life Highly complex behavior.[10][11]
B34/S34 34 Life Was initially thought to be a stable alternative to Life, until computer simulation found that larger patterns tend to explode. Has many small oscillators and spaceships.[2][12][13]
B35678/S5678 Diamoeba Forms large diamonds with chaotically fluctuating boundaries. First studied by Dean Hickerson, who in 1993 offered a $50 prize to find a pattern that fills space with live cells; the prize was won in 1999 by David Bell.[2][4][14]
B36/S125 2x2 If a pattern is composed of 2x2 blocks, it will continue to evolve in the same form; grouping these blocks into larger powers of two leads to the same behavior, but slower. Has complex oscillators of high periods as well as a small glider.[2][15]
B36/S23 HighLife Similar to Life but with a small self-replicating pattern.[2][4][16]
B3678/S34678 Day & Night Symmetric under on-off reversal. Has engineered patterns with highly complex behavior.[2][4][17]
B368/S245 Morley Named after Stephen Morley; also called Move. Supports very high-period and slow spaceships.[2][4][18]
B4678/S35678 Anneal Also called the twisted majority rule. Symmetric under on-off reversal. Approximates the curve-shortening flow on the boundaries between live and dead cells.[19][20][21]

Several more rules are listed and described in the MCell rule list[2] and by Eppstein (2010), including some rules with B0 in which the background of the field of cells alternates between live and dead at each step.[4]

Any automaton of the above form that contains the element B1 (e.g. B17/S78, or B145/S34) will always be explosive for any finite pattern: at any step, consider the cell (x,y) that has minimum x-coordinate among cells that are on, and among such cells the one with minimum y-coordinate. Then the cell (x-1,y-1) must have exactly one neighbor, and will become on in the next step. Similarly, the pattern must grow at each step in each of the four diagonal directions. Thus, any nonempty starting pattern leads to explosive growth.[4]

Any automaton of the above form that does not include any of B0, B1, B2 or B3 cannot support movement or expansion of patterns because any cell outside a rectangular building box containing the pattern has at most three on neighbours. Most finite patterns in rules whose notation begins with B2, and all finite patterns in rules beginning with B1, grow in all directions rather than remaining of bounded size, with a front that moves at the speed of light. Thus, the remaining "interesting" rules are the ones beginning with B3 (Game of Life, Highlife, Morley, 2x2, Day&Night) or beginning with B0 (and not including S8, as otherwise the dual can be studied instead).[4]

Generalizations

There are other cellular automata which are inspired by the Game of Life, but which do not fit the definition of “life-like” given in this article, because their neighborhoods are larger than the Moore neighborhood, or they are defined on three-dimensional lattices, or they use a different lattice topology. For example:

  • Larger than Life is a family of cellular automata studied by Kellie Michele Evans. They have very large radius neighborhoods, but perform “birth/death” thresholding similar to Conway’s life. These automata have eerily organic “glider” and “blinker” structures.[22]
  • RealLife is the “continuum limit” of Evan’s Larger Than Life CA, in the limit as the neighborhood radius goes to infinity, while the lattice spacing goes to zero. Technically, they are not cellular automata at all, because the underlying “space” is the continuous Euclidean plane R2, not the discrete lattice Z2. They have been studied by Marcus Pivato.[23]
  • Carter Bays has proposed a variety of generalizations of the Game of Life to three-dimensional CA defined on Z3 (3D Life).[24] Bays has also studied two-dimensional life-like CA with triangular or hexagonal neighborhoods.[25][26]

References

  1. Lua error in package.lua at line 80: module 'strict' not found. Reprinted in Lua error in package.lua at line 80: module 'strict' not found..
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 Lua error in package.lua at line 80: module 'strict' not found..
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found..
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 Lua error in package.lua at line 80: module 'strict' not found..
  5. Lua error in package.lua at line 80: module 'strict' not found..
  6. Patterns for Seeds collected by Jason Summers.
  7. Lua error in package.lua at line 80: module 'strict' not found..
  8. Lua error in package.lua at line 80: module 'strict' not found..
  9. Lua error in package.lua at line 80: module 'strict' not found..
  10. Lua error in package.lua at line 80: module 'strict' not found..
  11. Lua error in package.lua at line 80: module 'strict' not found..
  12. Lua error in package.lua at line 80: module 'strict' not found..
  13. Lua error in package.lua at line 80: module 'strict' not found..
  14. Lua error in package.lua at line 80: module 'strict' not found..
  15. Lua error in package.lua at line 80: module 'strict' not found..
  16. Lua error in package.lua at line 80: module 'strict' not found..
  17. Lua error in package.lua at line 80: module 'strict' not found..
  18. Lua error in package.lua at line 80: module 'strict' not found..
  19. Lua error in package.lua at line 80: module 'strict' not found..
  20. Lua error in package.lua at line 80: module 'strict' not found..
  21. Lua error in package.lua at line 80: module 'strict' not found..
  22. Lua error in package.lua at line 80: module 'strict' not found..
  23. Lua error in package.lua at line 80: module 'strict' not found..
  24. Lua error in package.lua at line 80: module 'strict' not found..
  25. Lua error in package.lua at line 80: module 'strict' not found..
  26. Lua error in package.lua at line 80: module 'strict' not found..

External links

  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..