Larger than Life

From LifeWiki
Jump to navigation Jump to search

Larger than Life (abbreviated as LTL or LtL) is an algorithm that supports a family of rules with an extendable neighbourhood, as defined by Kellie Michele Evans in her 1996 thesis.

Notation

Larger than Life rules are supported by Golly 3.0b1 and onwards, using the following notation, created by Mirek Wójtowicz for MCell:

Rr,Cc,Mm,Ssmin..smax,Bbmin..bmax,Nn

Here:

  • Rr specifies the range (r is from 1 to 500 in Golly[note 1]; 1 to 10 in MCell).
  • Cc specifies the number of states (c is from 0 to 255 in both Golly and MCell[note 2])
  • Mm specifies if the middle cell is included in the neighborhood count (m is 0 or 1).
  • Ssmin..smax specifies the count limits for a state 1 cell to survive.
  • Bbmin..bmax specifies the count limits for a dead cell to become a birth.
  • Nn specifies the extended neighborhood type (n is M for Moore or N for von Neumann in Golly; NM or NN respectively in MCell).

This diagram shows the extended Moore and von Neumann neighborhoods for range 3:

File:Mooreneighbourhood range3.png File:Vonneumannneighbourhood range3.png

If the number of states (specified after C) is greater than 2, then states 1 and above don't die immediately but gradually decay. Note that state values above 1 are not included in the neighborhood counts and thus play no part in deciding the survival of a state 1 cell, nor the birth of an empty cell. C0 and C1 are equivalent to C2.

Examples

The Patterns/Larger-than-Life folder included with Golly 3.0b1 contains a number of example patterns (mostly from the MCell collection). The following table shows a number of example rules along with their commonly used names:

Rule B/S equivalent Name Remarks
R1,C0,M0,S2..3,B3..3,NM B3/S23 Life the default rule for this algorithm in Golly.
R5,C0,M1,S34..58,B34..45,NM Bugs a chaotic rule by Kellie Evans.
R10,C0,M1,S123..212,B123..170,NM Bugsmovie a chaotic rule by David Griffeath.
R8,C0,M0,S163..223,B74..252,NM Globe an expanding rule by Mirek Wójtowicz.
R1,C0,M1,S1..1,B1..1,NN B1/S0V Gnarl an exploding rule by Kellie Evans.
R4,C0,M1,S41..81,B41..81,NM Majority a stable rule by David Griffeath.
R7,C0,M1,S113..225,B113..225,NM Majorly an expanding rule by David Griffeath.
R10,C255,M1,S2..3,B3..3,NM ModernArt a chaotic rule by Charles A. Rockafellor.
R7,C0,M1,S100..200,B75..170,NM Waffle an expanding rule by Kellie Evans.

Alternative rule notation

Golly also allows rules to be entered using the notation defined by Kellie Evans in her thesis. The range, birth limits and survival limits are specified by five integers separated by commas:

r,bmin,bmax,smin,smax

This notation assumes an extended Moore neighbourhood in which a live middle cell is included in the neighbourhood count. For example, Life can be entered as 1,3,3,3,4.

Generalizing LtL rules to different ranges

Larger than Life rules can be generalized ("converted") to different ranges. To convert the range-r0 rule Rr0,Cc,Mm,Ssmin0..smax0,Bbmin0..bmax0,Nn to a range-r1 rule:

  1. Compute N = (2 · r1 + 1)2 / (2 · r0 + 1)2.
  2. Multiply the original rule's minimum and maximum birth/survival conditions by N, to wit:
    1. Compute smin1 = smin0 · N.
    2. Compute smax1 = smax0 · N.
    3. Compute bmin1 = bmin0 · N.
    4. Compute bmax1 = bmax0 · N.

The converted rule is Rr1,Cc,Mm,Ssmin1..smax1,Bbmin1..bmax1,Nn.

Example

For example, converting the range-2 rule R2,C0,M1,S5..9,B7..9,NM to range 7, we obtain:

  1. N = (2 · 7 + 1)2 / (2 · 2 + 1)2 = 225 / 25 = 9.
  2. Compute smin1 = 5 · 9 = 45.
  3. Compute smax1 = 9 · 9 = 81.
  4. Compute bmin1 = 7 · 9 = 63.
  5. Compute bmax1 = 9 · 9 = 81.

The converted rule is, therefore, R7,C0,M1,S45..81,B63..81,NM.

Also see

Notes

  1. 1 to 50 in Golly 3.0b1.
  2. The documentation for MCell specifies a maximum of 25 states; this is a typo.

References

Cellular Automata rules lexicon: Family: Larger than Life at Mirek Wójtowicz's Cellebration page

Further reading

External links

  • Golly 3.0b1 (discussion thread) at the ConwayLife.com forums