BSFKL

From LifeWiki
Jump to navigation Jump to search

BSFKL rules are a multistate generalization of Life-like cellular automata in which live cells that do not survive do not die outright, but instead transition to a third state called "destructive". BSFKL rules are related to but distinct from Generations rules; destructive cells do not decay on their own, as dying cells do in Generations rules, and can kill (and be killed by) live cells.

BSFKL rules were described by Brian Prentice in June 2014,[1] building on an earlier description of a related family of rules described by c0b0p0 in May 2014.[2]

As BSFKL rules always have three states by definition, and cells do not care about their configuration, BSFKL rules can be considered a subset of the 3-state outer-totalistic rule family.[3]

Description

BSFKL rules are described by rulestrings of the form Bb/Ss/Ff/Kk/Ll[note 1], an extension of B/S rulestrings, where each of b, s, f, k and l is a group of (unique) numbers between 0 and 8. We write nB, nS, ... if n is one of the numbers in b, s, ...; patterns then evolve according to the following rules:

  1. A live cell:
    1. dies if it has n destructive neighbors, and nK;
    2. survives (remains live) if it otherwise has n live neighbors, and nS
    3. becomes a destructive cell otherwise.
  2. A destructive cell:
    1. dies if it has n live neighbors, and nL;
    2. remains destructive otherwise.
  3. A dead cell:
    1. comes alive if it has n destructive neighbors and m live neighbors, and nF and mB.

BSFK rules

BSFK rules are an earlier class of cellular automata described by c0b0p0.[2] These rules are described by rulestrings of the form Bb/Ss/Ff/Kk; unlike with BSFKL rules, f and k are single numbers, and patterns evolve according to following rules:

  1. A live cell:
    1. dies if it has k or more destructive neighbors;
    2. survives (remains live) if it otherwise has n live neighbors, and nS
    3. becomes a destructive cell otherwise.
  2. A destructive cell:
    1. dies if it has at least one live neighbor;
    2. remains destructive otherwise.
  3. A dead cell:
    1. gets born if it has fewer than f destructive neighbors and n live neighbors, and nB.

BSFK rules are a strict subset of BSFKL rules; BSFK rule Bb/Ss/Ff/Kk is equivalent to the BSFKL rule Bb/Ss/F0..(f-1)/Kk..8/L12345678.

Extensions

Like Generations rules, BSFKL rules can be adapted to von Neumann and hexagonal neighbourhoods and extended to non-totalistic and non-isotropic rules in a straightforward manner.

BSFKL rules are a subset of the 3-state outer-totalistic rulespace.[4]

Software support

BSFKL rules are not natively supported (either as BSFKL themselves or through a 3-state outer-totalistic algorithm) by either Golly or LifeViewer, but can be run in both using the RuleLoader algorithm and a suitable rule table. Catagolue and apgsearch began supporting BSFKL rules on October 29, 2018.

Native LifeViewer support of BSFKL is planned.[5]

See also

Notes

  1. "F" stands for "forcing (a void)"; "K" and "L" may stand for "killing" and "living".

References

  1. Brian Prentice (June 10, 2014). Re: BSFK rulespace (discussion thread) at the ConwayLife.com forums
  2. 2.0 2.1 c0b0p0 (May 14, 2014). BSFK rulespace (discussion thread) at the ConwayLife.com forums
  3. Connor Steppie (January 18, 2020). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
  4. Connor Steppie (January 8, 2020). 3-state range-1 outer-totalistic rulespace (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

External links