Non-isotropic Life-like cellular automaton
Non-isotropic Life-like cellular automata, also called anisotropic Life-like cellular automata, are a generalization of both totalistic and non-totalistic (but isotropic) Life-like cellular automata in which any transition function is allowed. Transitions may thus take into account not just the number of live neighbors of a given cell (as in outer-totalistic CAs) and their alignment relative to each other (as in non-totalistic isotropic CAs), but also their absolute alignment on the grid.
For instance, the following two configurations (which would both be considered 2a) are distinguished in non-isotropic CAs but not in isotropic ones:
- Main article: Rule integer
Non-isotropic Life-like CAs are typically not given in B/S notation but rather as MAP strings, a notation first introduced by Chris Rowett, the creator of the LifeViewer. MAP strings encode all possible transitions in the range-1 Moore neighbourhood, and every 2-state rule in a range-1 Moore neighbourhood can be represented in this form.
For this purpose, each member of the range-1 Moore neighbourhood of a cell is assigned a number, as follows:
Each possible neighbourhood configuration thus corresponds to a number between 0 and 511, and the transition function can be represented as a 512-bit binary string, where the n-th bit is set to 1 if, in the configuration numbered n, the center cell will be alive in the next generation, and 0 otherwise.
The resulting binary string is then further encoded in base64 for brevity, creating a string of 86 characters.
Hexagonal neighbourhoods have 7 cells (center plus 6 neighbors), which gives 27=128 possible combinations of cells; these encode into 22 base64 characters. von Neumann neighbourhoods have 5 cells (center plus 4 neighbors), which gives 25=32 possible combinations of cells; these encode into 6 base 64 characters. Both hexagonal- and von Neumann-neighbourhood non-isotropic CAs are supported in Golly starting in version 3.0b2.
MAP rules can also simulate Generations rules, by adding /(states) to the end of the MAP string.
- Cellular automaton
- Totalistic Life-like cellular automaton
- Non-totalistic Life-like cellular automaton
- Larger than Life