Non-totalistic Life-like cellular automaton

From LifeWiki
(Redirected from Hensel notation)
Jump to: navigation, search

Non-totalistic Life-like cellular automata are a generalization of Life-like cellular automata in which any transition function which is isotropic (that is, invariant under rotations and reflections) is allowed.

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 live cell will survive on 1 or 2 neighbors, or a dead cell get born on 2 neighbors, except when they are adjacent.

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

The following table describes all possible neighborhood configurations for the Moore neighbourhood; where appropriate, the same configurations apply to the von Neumann neighbourhood:

0 1 2 3 4 5 6 7 8
Neighborhood 0.png Neighborhood 8.png
Neighborhood 1c.png Neighborhood 2c.png Neighborhood 3c.png Neighborhood 4c.png Neighborhood 5c.png Neighborhood 6c.png Neighborhood 7c.png
Neighborhood 1e.png Neighborhood 2e.png Neighborhood 3e.png Neighborhood 4e.png Neighborhood 5e.png Neighborhood 6e.png Neighborhood 7e.png
Neighborhood 2k.png Neighborhood 3k.png Neighborhood 4k.png Neighborhood 5k.png Neighborhood 6k.png
Neighborhood 2a.png Neighborhood 3a.png Neighborhood 4a.png Neighborhood 5a.png Neighborhood 6a.png
i Neighborhood 2i.png Neighborhood 3i.png Neighborhood 4i.png Neighborhood 5i.png Neighborhood 6i.png
n Neighborhood 2n.png Neighborhood 3n.png Neighborhood 4n.png Neighborhood 5n.png Neighborhood 6n.png
y Neighborhood 3y.png Neighborhood 4y.png Neighborhood 5y.png
q Neighborhood 3q.png Neighborhood 4q.png Neighborhood 5q.png
j Neighborhood 3j.png Neighborhood 4j.png Neighborhood 5j.png
r Neighborhood 3r.png Neighborhood 4r.png Neighborhood 5r.png
t Neighborhood 4t.png
w Neighborhood 4w.png
z Neighborhood 4z.png

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

Hexagonal neighbourhood

It is possible to define 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;[1] the names ortho, meta and para were chosen in analogy to arene substitution patterns in aromatic chemistry:

0 1 2 3 4 5 6
Hexagonal neighborhood 0.png Hexagonal neighborhood 1.png Hexagonal neighborhood 5.png Hexagonal neighborhood 6.png
Hexagonal neighborhood 2o.png Hexagonal neighborhood 3o.png Hexagonal neighborhood 4o.png
Hexagonal neighborhood 2m.png Hexagonal neighborhood 3m.png Hexagonal neighborhood 4m.png
Hexagonal neighborhood 2p.png Hexagonal neighborhood 3p.png Hexagonal neighborhood 4p.png

Soup-searching non-totalistic rules

Adam P. Goucher's apgsearch was modified to support non-totalistic rules by Aidan F. Pierce on December 17, 2015.[2] Catagolue gained the ability to census non-totalistic rules in late January 2016.[3]

See also


  2. Aidan F. Pierce (December 17, 2015). "Re: Hacking apgsearch". forums. Retrieved on June 12, 2016.
  3. Adam P. Goucher (January 21, 2016). "Re: apgsearch v2.2". forums. Retrieved on June 12, 2016.

External links