Difference between revisions of "Larger than Life"
Apple Bottom (talk | contribs) (→External links: Also link to the Golly 3.0b1 thread so that people can download the version of Golly required to play with LtL rules.) |
(→Examples: LinkCatagolue) |
||
(32 intermediate revisions by 6 users not shown) | |||
Line 2: | Line 2: | ||
'''Larger than Life''' (abbreviated as '''LTL''' or '''LtL''') is an algorithm that supports a family of [[rule]]s with an extendable [[neighbourhood]], as defined by [[Kellie Michele Evans]] in her 1996 thesis. | '''Larger than Life''' (abbreviated as '''LTL''' or '''LtL''') is an algorithm that supports a family of [[rule]]s with an extendable [[neighbourhood]], as defined by [[Kellie Michele Evans]] in her 1996 thesis. | ||
Larger than Life rules are supported by [[Golly]] 3. | ==Notation== | ||
Larger than Life rules are supported by [[Golly]] 3.0 and onwards and [[LifeViewer]] build 260 and onwards, using the following notation, created by [[Mirek Wójtowicz]] for [[Mirek's Cellebration|MCell]]: | |||
:<tt>Rr,Cc,Mm,Ss<sub>min</sub>..s<sub>max</sub>,Bb<sub>min</sub>..b<sub>max</sub>,Nn</tt> | :<tt>Rr,Cc,Mm,Ss<sub>min</sub>..s<sub>max</sub>,Bb<sub>min</sub>..b<sub>max</sub>,Nn</tt> | ||
Line 8: | Line 9: | ||
Here: | Here: | ||
* <tt>Rr</tt> specifies the range (<tt>r</tt> is from 1 to | * <tt>Rr</tt> specifies the range (<tt>r</tt> is from 1 to 500 in Golly and LifeViewer; 1 to 10 in [[Mirek's Cellebration|MCell]]). | ||
* <tt>Cc</tt> specifies the number of states (<tt>c</tt> is from 0 to 255 in Golly | * <tt>Cc</tt> specifies the number of states (<tt>c</tt> is from 0 to 255 in Golly, LifeViewer and MCell{{refn|group=note|The documentation for [[Mirek's Cellebration|MCell]] specifies a maximum of 25 states; this is a typo.}}) | ||
* <tt>Mm</tt> specifies if the middle cell is included in the neighborhood count (<tt>m</tt> is 0 or 1). | * <tt>Mm</tt> specifies if the middle cell is included in the neighborhood count (<tt>m</tt> is 0 or 1). | ||
* <tt>Ss<sub>min</sub>..s<sub>max</sub></tt> specifies the count limits for a state 1 cell to survive. | * <tt>Ss<sub>min</sub>..s<sub>max</sub></tt> specifies the count limits for a state 1 cell to survive. | ||
* <tt>Bb<sub>min</sub>..b<sub>max</sub></tt> specifies the count limits for a dead cell to become a birth. | * <tt>Bb<sub>min</sub>..b<sub>max</sub></tt> specifies the count limits for a dead cell to become a birth. | ||
* <tt>Nn</tt> specifies the extended neighborhood type (<tt>n</tt> is <tt>M</tt> for [[Moore neighbourhood|Moore]] or <tt>N</tt> for [[von Neumann neighbourhood|von Neumann]] | * <tt>Nn</tt> specifies the extended neighborhood type (<tt>n</tt> is <tt>M</tt> for [[Moore neighbourhood|Moore]] or <tt>N</tt> for [[von Neumann neighbourhood|von Neumann]]. Golly and LifeViewer also support <tt>C</tt> for Circular neighborhood). | ||
This diagram shows the extended Moore and von Neumann neighborhoods for range 3: | This diagram shows the extended Moore and von Neumann neighborhoods for range 3: | ||
Line 23: | Line 24: | ||
|} | |} | ||
If the number of states (specified after <tt>C</tt>) 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. <tt>C0</tt> and <tt>C1</tt> are equivalent to <tt>C2</tt>. | If the number of states (specified after <tt>C</tt>) 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. <tt>C0</tt> and <tt>C1</tt> are equivalent to <tt>C2</tt>. | ||
==Examples== | ==Examples== | ||
The <tt>Patterns/Larger-than-Life</tt> folder included with [[Golly]] | The <tt>Patterns/Larger-than-Life</tt> folder included with [[Golly]] contains a number of example patterns (mostly from the [[Mirek's Cellebration|MCell]] collection). The following table shows a number of example rules along with their commonly used names: | ||
{| class="wikitable" style="margin-left: auto; margin-right: auto;" | {| class="wikitable" style="margin-left: auto; margin-right: auto;" | ||
Line 56: | Line 57: | ||
|- | |- | ||
| <tt>R1,C0,M1,S1..1,B1..1,NN</tt> | | <tt>R1,C0,M1,S1..1,B1..1,NN</tt> | ||
| | | B1/S0V | ||
| [[Gnarl]] | | [[Gnarl]] | ||
| an exploding rule by [[Kellie Evans]]. | | an exploding rule by [[Kellie Evans]]. | ||
Line 81: | Line 82: | ||
|} | |} | ||
==Alternative rule | Notable patterns which are frequently found within Larger than Life rules include "bugs", which are patterns (usually spaceships, but sometimes oscillators) which are hollow, characterised by those from [[Bosco's Rule]], "solid ships", which are typically extremely slow circular spaceships first noted in 2002 (such as {{LinkCatagolue|xq1846_wgoosqssuuuutvusogz83tvvvvvvvvvvvvvvvvhzwjfvvvvvvvvvvvvvvvvczx17fvvvfff777b731|rule=r10b133t265s154t262|patternname=this one|style=raw}}), and "roomba bugs", travelling patterns that usually stabilise into low-period oscillators after intense amounts of generations but are infrequently found to be real spaceships. | ||
Golly also | |||
==Alternative rule notations== | |||
Golly and LifeViewer also allow 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: | |||
:<tt>r,bmin,bmax,smin,smax</tt> | :<tt>r,bmin,bmax,smin,smax</tt> | ||
[[Catagolue]], [[apgsearch]] and LifeViewer use a related notation in which the letter <tt>t</tt> ("to") is used to indicate birth/survival condition ranges; the initial <tt>g</tt>''C'' is optional, with the number of states defaulting to two: | |||
:<tt>g</tt>''C''<tt>r</tt>''R''<tt>b</tt>''B<sub>min</sub>''<tt>t</tt>''B<sub>max</sub>''<tt>s</tt>''S<sub>min</sub>''<tt>t</tt>''S<sub>max</sub>'' | |||
These notations assume an extended [[Moore neighbourhood]] in which a live middle cell is included in the neighbourhood count. For example, [[Conway's Game of Life|Life]] can be entered as <tt>1,3,3,3,4</tt> in Evans' notation. | |||
==Generalizing LtL rules to different ranges== | |||
Larger than Life rules can be generalized ("converted") to different ranges. To convert the range-''r<sub>0</sub>'' rule <tt>Rr<sub>0</sub>,Cc,Mm,Ssmin<sub>0</sub>..smax<sub>0</sub>,Bbmin<sub>0</sub>..bmax<sub>0</sub>,Nn</tt> to a range-''r<sub>1</sub>'' rule: | |||
# Compute ''N'' = (2 · ''r<sub>1</sub>'' + 1)<sup>2</sup> / (2 · ''r<sub>0</sub>'' + 1)<sup>2</sup>. | |||
# Multiply the original rule's minimum and maximum birth/survival conditions by ''N'' and round off, to wit: | |||
## Compute ''smin<sub>1</sub>'' = round(''smin<sub>0</sub>'' · ''N''). | |||
## Compute ''smax<sub>1</sub>'' = round(''smax<sub>0</sub>'' · ''N''). | |||
## Compute ''bmin<sub>1</sub>'' = round(''bmin<sub>0</sub>'' · ''N''). | |||
## Compute ''bmax<sub>1</sub>'' = round(''bmax<sub>0</sub>'' · ''N''). | |||
The converted rule is <tt>Rr<sub>1</sub>,Cc,Mm,Ssmin<sub>1</sub>..smax<sub>1</sub>,Bbmin<sub>1</sub>..bmax<sub>1</sub>,Nn</tt>. | |||
===Example=== | |||
For example, converting the range-2 rule <tt>R2,C0,M1,S5..9,B7..9,NM</tt> to range 7, we obtain: | |||
# ''N'' = (2 · 7 + 1)<sup>2</sup> / (2 · 2 + 1)<sup>2</sup> = 225 / 25 = 9. | |||
# ''smin<sub>1</sub>'' = 5 · 9 = 45. | |||
# ''smax<sub>1</sub>'' = 9 · 9 = 81. | |||
# ''bmin<sub>1</sub>'' = 7 · 9 = 63. | |||
# ''bmax<sub>1</sub>'' = 9 · 9 = 81. | |||
The converted rule is, therefore, <tt>R7,C0,M1,S45..81,B63..81,NM</tt>. | |||
==See also== | |||
* [[Generations]] | |||
* [[List of rules investigated on Catagolue#Larger than Life rules|List of Larger than Life rules investigated on Catagolue]] | |||
==Notes== | |||
<references group="note" /> | |||
==References== | ==References== | ||
{{LinkMirek|filename=rullex_lgtl.html|title=Cellular Automata rules lexicon: Family: Larger than Life}} | {{LinkMirek|filename=rullex_lgtl.html|title=Cellular Automata rules lexicon: Family: Larger than Life}} | ||
* [[Kellie Michele Evans]]: [http://www.csun.edu/~kme52026/thesis.html Larger than Life: ''it's so nonlinear''] (1996 Ph.D. thesis) | * [[Kellie Michele Evans]]: [http://www.csun.edu/~kme52026/thesis.html Larger than Life: ''it's so nonlinear''] (1996 Ph.D. thesis) | ||
==Further reading== | |||
* [[Kellie Michele Evans]]: ''Larger than Life's Extremes: Rigorous Results for Simplified Rules and Speculation on the Phase Boundaries'', in: [[Andrew Adamatzky]] (ed.), ''Game of Life Cellular Automata'', Springer (London) (2010), ISBN 978-1-84996-216-2, OCLC 619946115 | |||
* [[Kellie Michele Evans]]: ''Larger than Life'', in: [[Andrew Adamatzky]], [[Genaro J. Martínez]] (eds.): ''Designing Beauty: The Art of Cellular Automata'', Springer (2016), ISBN 978-3-319-27269-6, OCLC 934720008 | |||
==External links== | ==External links== | ||
{{LinkForumThread|f=11|t=2933|title=Larger than Life}} | {{LinkForumThread|f=11|t=2933|title=Larger than Life}} | ||
[[Category:Algorithms]] | [[Category:Algorithms]] | ||
[[Category:Cellular automata]] | |||
[[Category:Larger than Life| ]] |
Revision as of 23:08, 17 August 2019
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.0 and onwards and LifeViewer build 260 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 and LifeViewer; 1 to 10 in MCell).
- Cc specifies the number of states (c is from 0 to 255 in Golly, LifeViewer and MCell[note 1])
- 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. Golly and LifeViewer also support C for Circular neighborhood).
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 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. |
Notable patterns which are frequently found within Larger than Life rules include "bugs", which are patterns (usually spaceships, but sometimes oscillators) which are hollow, characterised by those from Bosco's Rule, "solid ships", which are typically extremely slow circular spaceships first noted in 2002 (such as this one), and "roomba bugs", travelling patterns that usually stabilise into low-period oscillators after intense amounts of generations but are infrequently found to be real spaceships.
Alternative rule notations
Golly and LifeViewer also allow 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
Catagolue, apgsearch and LifeViewer use a related notation in which the letter t ("to") is used to indicate birth/survival condition ranges; the initial gC is optional, with the number of states defaulting to two:
- gCrRbBmintBmaxsSmintSmax
These notations assume 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 in Evans' notation.
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:
- Compute N = (2 · r1 + 1)2 / (2 · r0 + 1)2.
- Multiply the original rule's minimum and maximum birth/survival conditions by N and round off, to wit:
- Compute smin1 = round(smin0 · N).
- Compute smax1 = round(smax0 · N).
- Compute bmin1 = round(bmin0 · N).
- Compute bmax1 = round(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:
- N = (2 · 7 + 1)2 / (2 · 2 + 1)2 = 225 / 25 = 9.
- smin1 = 5 · 9 = 45.
- smax1 = 9 · 9 = 81.
- bmin1 = 7 · 9 = 63.
- bmax1 = 9 · 9 = 81.
The converted rule is, therefore, R7,C0,M1,S45..81,B63..81,NM.
See also
Notes
References
Cellular Automata rules lexicon: Family: Larger than Life at Mirek Wójtowicz's Cellebration page
- Kellie Michele Evans: Larger than Life: it's so nonlinear (1996 Ph.D. thesis)
Further reading
- Kellie Michele Evans: Larger than Life's Extremes: Rigorous Results for Simplified Rules and Speculation on the Phase Boundaries, in: Andrew Adamatzky (ed.), Game of Life Cellular Automata, Springer (London) (2010), ISBN 978-1-84996-216-2, OCLC 619946115
- Kellie Michele Evans: Larger than Life, in: Andrew Adamatzky, Genaro J. Martínez (eds.): Designing Beauty: The Art of Cellular Automata, Springer (2016), ISBN 978-3-319-27269-6, OCLC 934720008
External links
- Larger than Life (discussion thread) at the ConwayLife.com forums