BSFKL
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 n ∈ B, n ∈ S, ... if n is one of the numbers in b, s, ...; patterns then evolve according to the following rules:
- A live cell:
- dies if it has n destructive neighbors, and n ∈ K;
- survives (remains live) if it otherwise has n live neighbors, and n ∈ S
- becomes a destructive cell otherwise.
- A destructive cell:
- dies if it has n live neighbors, and n ∈ L;
- remains destructive otherwise.
- A dead cell:
- comes alive if it has n destructive neighbors and m live neighbors, and n ∈ F and m ∈ B.
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:
- A live cell:
- dies if it has k or more destructive neighbors;
- survives (remains live) if it otherwise has n live neighbors, and n ∈ S
- becomes a destructive cell otherwise.
- A destructive cell:
- dies if it has at least one live neighbor;
- remains destructive otherwise.
- A dead cell:
- gets born if it has fewer than f destructive neighbors and n live neighbors, and n ∈ B.
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
- ↑ "F" stands for "forcing (a void)"; "K" and "L" may stand for "killing" and "living".
References
- ↑ Brian Prentice (June 10, 2014). Re: BSFK rulespace (discussion thread) at the ConwayLife.com forums
- ↑ 2.0 2.1 c0b0p0 (May 14, 2014). BSFK rulespace (discussion thread) at the ConwayLife.com forums
- ↑ Connor Steppie (January 18, 2020). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
- ↑ Connor Steppie (January 8, 2020). 3-state range-1 outer-totalistic rulespace (discussion thread) at the ConwayLife.com forums
- ↑ Chris Rowett (January 26, 2019). Re: Pattern viewer for forum threads (discussion thread) at the ConwayLife.com forums
External links
- BSFK rulespace (discussion thread) at the ConwayLife.com forums
- Collection of BSFKL rules on Brian Prentice's website
- Description of the "Java Square Cell" program on Brian Prentice's website