Isotropic non-totalistic Life-like cellular automaton

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:

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

0

1

2

3

4

5

6

— (noletter)

o(ortho)

m(meta)

p(para)

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.[3]

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.[4] This hacked version was later modified in late January 2016 to be able to upload the search results to Catagolue.[5] 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.[6] v4.66 and above also support the searching of isotropic hexagonal neighborhood rules.[7]