Isotropic non-totalistic rule

From LifeWiki
Jump to navigation Jump to search

An isotropic non-totalistic Life-like cellular automaton is a generalization of the concept of a Life-like cellular automaton in which transitions take into account not only the total number of live neighbors of a cell, but also the relative configuration of those neighbors.

Isotropic non-totalistic rules are described using Hensel notation, an extension of B/S notation developed by Alan Hensel additionally describing allowed or forbidden configurations. Each digit in the rule's birth and survival conditions is followed by an optional suffix, with each allowed configuration described by a specific letter; a minus sign may be used to forbid configurations rather than allow them. If no configurations are specified, all are considered to be allowed, as in the totalistic case. This notation is not used by non-isotropic Life-like cellular automata.

For instance, B2-a/S12 (the Just Friends rule) indicates that a dead cell will be born with 2 neighbors, except when they are adjacent (indicated by the "-a"), and that a live cell will survive with 1 or 2 neighbors in any configuration. This exclusion of the "B2a" transition prevents the rule from exploding in a similar manner as Seeds.

This notation has the following symmetry: For any letter x and number n≠4, nx is defined if and only (8-n)x is defined and moreover (8-n)x is the complement (change live cells to dead and dead cells to live; ignore the center cell) of nx.

Moore neighbourhood

The following table describes all possible neighborhood configurations for the Moore neighbourhood of range 1:

0 1 2 3 4 5 6 7 8
(no
letter)
File:Neighborhood 0.png File:Neighborhood 8.png
c
(corner)
Neighborhood 1c.png File:Neighborhood 2c.png File:Neighborhood 3c.png File:Neighborhood 4c.png File:Neighborhood 5c.png File:Neighborhood 6c.png File:Neighborhood 7c.png
e
(edge)
File:Neighborhood 1e.png File:Neighborhood 2e.png File:Neighborhood 3e.png File:Neighborhood 4e.png File:Neighborhood 5e.png File:Neighborhood 6e.png File:Neighborhood 7e.png
k
(knight)
File:Neighborhood 2k.png File:Neighborhood 3k.png File:Neighborhood 4k.png File:Neighborhood 5k.png File:Neighborhood 6k.png
a
(adjacent)
File:Neighborhood 2a.png File:Neighborhood 3a.png File:Neighborhood 4a.png File:Neighborhood 5a.png File:Neighborhood 6a.png
i File:Neighborhood 2i.png File:Neighborhood 3i.png File:Neighborhood 4i.png File:Neighborhood 5i.png File:Neighborhood 6i.png
n File:Neighborhood 2n.png File:Neighborhood 3n.png File:Neighborhood 4n.png File:Neighborhood 5n.png File:Neighborhood 6n.png
y File:Neighborhood 3y.png File:Neighborhood 4y.png File:Neighborhood 5y.png
q File:Neighborhood 3q.png File:Neighborhood 4q.png File:Neighborhood 5q.png
j File:Neighborhood 3j.png File:Neighborhood 4j.png File:Neighborhood 5j.png
r File:Neighborhood 3r.png File:Neighborhood 4r.png File:Neighborhood 5r.png
t File:Neighborhood 4t.png
w File:Neighborhood 4w.png
z File:Neighborhood 4z.png

A proposed notation for range-2 von Neumann isotropic non-totalistic rules is based on this,[1] and a notation for 3-state range-1 rules is also underway.[2]

Rules using the von Neumann neighbourhood can be simulated via isotropic non-totalistic rules on the Moore neighbourhood; for example, B1/SV becomes B1e2ak3inqy4ny5e/S.

Hexagonal neighbourhood

Main article: Hexagonal neighbourhood

It is possible to define isotropic non-totalistic Life-like CAs on a hexagonal grid as well. The following table describes all possible neighborhood configurations for the hexagonal neighbourhood, using notation due to Paul Callahan;[3][4] the names ortho, meta and para were chosen in analogy to arene substitution patterns in aromatic chemistry:

0 1 2 3 4 5 6
(no
letter)
File:Hexagonal neighborhood 0.png File:Hexagonal neighborhood 1.png File:Hexagonal neighborhood 5.png File:Hexagonal neighborhood 6.png
o
(ortho)
File:Hexagonal neighborhood 2o.png File:Hexagonal neighborhood 3o.png File:Hexagonal neighborhood 4o.png
m
(meta)
File:Hexagonal neighborhood 2m.png File:Hexagonal neighborhood 3m.png File:Hexagonal neighborhood 4m.png
p
(para)
File:Hexagonal neighborhood 2p.png File:Hexagonal neighborhood 3p.png File:Hexagonal neighborhood 4p.png

Golly does not support isotropic non-totalistic hexagonal rules using this syntax, so they must instead be simulated using either rule tables or MAP strings. LifeViewer and lifelib support them natively.

Range-2 von Neumann neighbourhood

There are 618 different transitions possible in the range-2 von Neumann neighbourhood. Four notations have been proposed as of February 2018.[5]

The currently accepted notation is the Feb 24 notation by AForAmpere and MiloJacquet.[1]

For each transition, use the transition corresponding to the configuration of the center 8 cells, aligned with the canonical directions in the table above. Then take the outside 4 cells, and depending on the configurations in the table below, add that letter.

a c d e f g i j
File:Outer4 a.png File:Outer4 c.png File:Outer4 d.png File:Outer4 e.png File:Outer4 f.png File:Outer4 g.png File:Outer4 i.png File:Outer4 j.png
k l m n o p q r
File:Outer4 k.png File:Outer4 l.png File:Outer4 m.png File:Outer4 n.png File:Outer4 o.png File:Outer4 p.png File:Outer4 q.png File:Outer4 r.png

For transitions that are the same under reflections or rotations, the canonical transition is the lowest alphabetically.

'x' is used after a totalistic number. For example, 'B3x2ic1ei5x-3kr/S0x8x'.

bubblegum has also proposed to use the 'v' character to represent outer totalistic transitions for the inner 8 cells.[6]

As of 23 November 2020, no cellular automaton simulation software natively supports such rules.

Soup-searching non-totalistic rules

Adam P. Goucher's apgsearch was modified to support isotropic non-totalistic rules by Aidan F. Pierce on December 17, 2015.[7] This hacked version was later modified in late January 2016 to be able to upload the search results to Catagolue.[8] However, apgsearch did not gain native support for these rules until v4.2, released on September 10, 2017, which can search isotropic non-totalistic rules without B0.[9] v4.66 and above also support the searching of isotropic hexagonal neighborhood rules.[10] Range 2 von Neumann isotropic rules can also be search via the means of a ruletable using a custom neighbourhood.[11]

See also

References

  1. 1.0 1.1 AforAmpere (February 23, 2019). Re: Range-2 von Neumann isotropic non-totalistic rulespace (discussion thread) at the ConwayLife.com forums
  2. muzik (January 19, 2020). Re: 3-state range-1 outer-totalistic rulespace (discussion thread) at the ConwayLife.com forums
  3. Paul Callahan (December 3, 1997). "Experiments with a somewhat "Life-like" hexagonal CA (long)". Retrieved on September 29, 2017.
  4. "ExtendedCallahanHexagonal.gif". ConwayLife.com forums. Retrieved on July 22, 2017.
  5. muzik (February 9, 2019). Range-2 von Neumann isotropic non-totalistic rulespace (discussion thread) at the ConwayLife.com forums
  6. bubblegum (August 26, 2020). Re: Range-2 von Neumann isotropic non-totalistic rulespace (discussion thread) at the ConwayLife.com forums
  7. Aidan F. Pierce (December 17, 2015). "Re: Hacking apgsearch". ConwayLife.com forums. Retrieved on June 12, 2016.
  8. Adam P. Goucher (January 21, 2016). "Re: apgsearch v2.2". ConwayLife.com forums. Retrieved on June 12, 2016.
  9. Adam P. Goucher (September 10, 2017). Re: apgsearch v4.2 (discussion thread) at the ConwayLife.com forums
  10. Adam P. Goucher (December 1, 2018). "Re: Non-totalistic hex rules". ConwayLife.com forums. Retrieved on December 1, 2018.
  11. Lemon41625 (June 19, 2020). Re: Range-2 von Neumann isotropic non-totalistic rulespace (discussion thread) at the ConwayLife.com forums

External links