Extended Generations: Difference between revisions

From LifeWiki
Jump to navigation Jump to search
formatted ref
Confocal (talk | contribs)
 
(3 intermediate revisions by 3 users not shown)
Line 5: Line 5:


==Description==
==Description==
Extended Generations rules are described by [[rulestring]]s in the form Bb/Ss/Dd; where b and s are numbers between 0 - 8. The last segment, d, specifies ranges of activity/inactivity, starting with the former and then alternating.
Extended Generations rules are described by [[rulestring]]s in the form B''b''/S''s''/D''d''; where ''b'' and ''s'' are numbers between 0 - 8. The last segment, ''d'', specifies ranges of activity/inactivity, starting with the former and then alternating.


We write n ∈ B, n ∈ S if n is one of the numbers in b, s; patterns then evolve according to the following rules:
We write ''n'' ''B'', ''n'' ''S'' if ''n'' is one of the numbers in ''b'', ''s''; patterns then evolve according to the following rules:


# An active cell
# An active cell:
## Remain in its current state if n ∈ S
## remains in its current state if ''n'' ''S'';
## If not, it advances to state ((x + 1) mod y) in the next generation of the pattern where x is the current state and y is the total number of states.
## advances to state ((''x'' + 1) mod ''y'') in the next generation of the pattern otherwise, where ''x'' is the current state of the cell and ''y'' is the total number of states in the rule
# An inactive cell
# An inactive cell:
## Advances to state ((x + 1) mod y) in the next generation of the pattern where x is the current state and y is the total number of states. I behaves like a normal [[Generations]] dying cell.
## advances to state ((''x'' + 1) mod ''y'') in the next generation of the pattern otherwise, where ''x'' is the current state and ''y'' is the total number of states, i.e. behaves like a normal [[Generations]] dying cell.
# A dead cell
# A dead cell:
## Advances to state 1 if n ∈ B.
## advances to state 1 if ''n'' ∈ B;
## If not, it remains dead.
## remains dead otherwise.


[[Generations]] and snoitareneG<ref name="thread2939"/><ref name="thread372"/><ref name="post44058"/> can be considered subsets of the Extended Generations rulespace.<ref name="post62255"/>
[[Generations]] and snoitareneG<ref name="thread2939"/><ref name="thread372"/><ref name="post44058"/> can be considered subsets of the Extended Generations rulespace.<ref name="post62255"/>


==Software support==
==Software support==
Extended Generations rules are not natively supported by either [[Golly]] or [[LifeViewer]] (support is planned for the latter),<ref name="post68691" /> but can be run using the Golly's [[RuleLoader]] algorithm and a suitable rule table. [[Catagolue]] and [[apgsearch]] also support Extended Generations rules.
Extended Generations rules are not natively supported by either [[Golly]] or [[LifeViewer]] (support is planned for the latter),<ref name="post68691" /> but can be run with a suitable ruletable on either. [[Catagolue]] and [[apgsearch]] natively support Extended Generations rules.<ref>{{cite web|url=https://gitlab.com/apgoucher/apgmera/-/commit/a5812bb36a3f2d40b7fbf630f90546bbf1bf1fe4|title=Native support for Extended Generations and Deficient rules courtesy of M. I. Wright|author=Adam P. Goucher|date=January 15, 2019|work=GitLab}}</ref>


==References==
==References==
Line 67: Line 67:
[[Category:Cellular automata]]
[[Category:Cellular automata]]
[[Category:Generations| ]]
[[Category:Generations| ]]
[[Category:Multistate rules]]

Latest revision as of 14:59, 7 March 2023

Extended Generations rules are a generalization of Generations rules. This extension explores the result of changing the amounts of time cells can be active/inactive for, and also of allowing cells to "come back" from inactivity and alternate between being active/inactive an indefinite amount of times before dying.

They were conceived by users DigitalCross and later Milo Jacquet.[1]

Description

Extended Generations rules are described by rulestrings in the form Bb/Ss/Dd; where b and s are numbers between 0 - 8. The last segment, d, specifies ranges of activity/inactivity, starting with the former and then alternating.

We write nB, nS if n is one of the numbers in b, s; patterns then evolve according to the following rules:

  1. An active cell:
    1. remains in its current state if nS;
    2. advances to state ((x + 1) mod y) in the next generation of the pattern otherwise, where x is the current state of the cell and y is the total number of states in the rule
  2. An inactive cell:
    1. advances to state ((x + 1) mod y) in the next generation of the pattern otherwise, where x is the current state and y is the total number of states, i.e. behaves like a normal Generations dying cell.
  3. A dead cell:
    1. advances to state 1 if n ∈ B;
    2. remains dead otherwise.

Generations and snoitareneG[2][3][4] can be considered subsets of the Extended Generations rulespace.[1]

Software support

Extended Generations rules are not natively supported by either Golly or LifeViewer (support is planned for the latter),[5] but can be run with a suitable ruletable on either. Catagolue and apgsearch natively support Extended Generations rules.[6]

References

  1. 1.0 1.1 M. I. Wright (August 1, 2018). "Extended" Generations rules (discussion thread) at the ConwayLife.com forums
  2. Saka (July 2, 2017). snoitareneG Rules (discussion thread) at the ConwayLife.com forums
  3. Martin Grant (April 10, 2010). "Reverse Generations" Rules (discussion thread) at the ConwayLife.com forums
  4. Brian Prentice (June 4, 2017). Re: Thread for basic questions (discussion thread) at the ConwayLife.com forums
  5. Chris Rowett (January 26, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  6. Adam P. Goucher (January 15, 2019). "Native support for Extended Generations and Deficient rules courtesy of M. I. Wright". GitLab.