Totalistic Rule Notation
Non-Totalistic (Symmetrical) Rule Notation
Table of Non-Totalistic Codes

### Totalistic Rule Notation

This program uses a variation of the fairly standard notation used for most Life programs (Life 1.06 for MS-DOS, Xlife, Life32 for Windows, and probably a few others.

It consists of a string of digits representing survival counts, a slash, and another string of digits representing birth counts. Since there is a maximum of 8 neighbors, there is no need for separators between the digits.

For example: 23/3 means survival on 2 or 3 neighbors, birth on 3.

Since it is easy to forget which side is which, you can prefix a "B" to the birth list and an "S" to the survival list. B3/S23 is another common way of writing 23/3. The rules for placement of the B and S are relaxed, so that all of these will produce the same result: b3/23, 3/23s, 3b/23, B3/23s, etc.

### Non-Totalistic Rule Notation

I have extended my applet's rule notation to include non-totalistic rules -- that is, rules that depend on the configuration of the neighbors, not just their counts.

I have, for now, focused on symmetrical rules only. Somehow, it seems less interesting to me to have patterns that work only when oriented a certain way. I promise I will get to them after I explore all 2101 non-totalistic rule combinations :-)

It turns out that for 1 neighbor there are 2 neighborhoods (corner or edge), 6 for 2 neighbors (opposite corners, same-side corders, opposite edges, same-corner edges, adjacent, and knight's-move). There are 10 for 3 neighbors, and 13 for 4 neighbors, and for 5, 6, and 7 neighbors, the situation is exactly the inverse of 3, 2, and 1, respectively. The total number of neighborhoods to keep track of: 51.

I decided to assign a letter to each unique neighborhood. I tried to make them mnemonic, but many of them are somewhat arbitrary anyway. My table is listed below.

To form a rule, put your string of letters after the appropriate digit.

For example, 2a34/3 means survival on 2 adjacent neighbors (a corner and an edge), or 3 or 4 neighbors, and birth on 3 neighbors.

These strings can get long, so it is possible to specify their inverse using a "-" between the digit and the letters.

For example, 12/2-a means survival on 1 or 2 neighbors, and birth on 2 neighbors, except when they are adjacent. (This is known as the "Just Friends" rule).

button Table of non-totalistic neighborhoods:
 0 1 2 3 4 5 6 7 8 c (corner) e (edge) k (knight) a (adjacent) x i n y q L j r t u w z h