Difference between revisions of "Non-isotropic rule"

From LifeWiki
Jump to navigation Jump to search
(Reworked)
m (Apple Bottom moved page MAP to Non-isotropic Life-like cellular automaton)
(No difference)

Revision as of 10:40, 6 July 2017

Non-isotropic 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 are distinguished in non-isotropic CAs but not in isotropic ones:

File:Neighborhood 2a.png File:Neighborhood 2a rotated.png

Encoding

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 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:

256 128 64
32 16 8
4 2 1

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.

Extensions

MAP rules can also simulate Generations rules, by adding /(states) to the end of the MAP string.

Software support

MAP rules are natively supported by Golly starting with version 2.9b2, and by LifeViewer starting with build 222.

References