Each cell can be in one of 9 possible states. On each iteration, the states of a cell's 6 neighbors are counted and the cell changes state according to the resulting counts. If a cell is in state 0, it changes to a state in the range 1 thru 8 if one or more of the conditions specified in the 'Birth Control' is satisfied. Similarly, if a cell is not in state 0, it remains in its current state or returns to state 0 according to the conditions specified in the 'Survival Control'. In the example dialog shown above the settings in row 1 of the 'Birth Control' state:
The 'Survival Control' grid also has 8 rows. Each row contains settings which specify the conditions that must be satisfied for a cell to remain in state n where n is the row number. Again, if no condition is satisfied, the cell returns to state 0.
Grid values are changed by simply left clicking them. Each click rotates the value thru the range 0..8, incrementing with normal clicks and decrementing if the shift key is held down.
Notice the two buttons labeled 'OR >=' and 'AND ='. These are toggle buttons which rotate thru the values 'OR =', 'OR >=', 'AND >=' and 'AND ='. To see the relevance of these buttons carefully study the example described above.
For convenience, buttons are provided to reset each grid and to randomly select candidate conditions. Each of the random select buttons has an associated control which limits the generated counts. When clicked, these random select buttons generate two random numbers in the range 0 thru 'limit' for each row and stores them in two random positions in that row. The limit values are changed in a manner similar to the grid values.
A process for finding interesting rules that works quite well is:
To illustrate the potential of this new family of rules, a set of example patterns has been assembled. Several interesting rules have been selected and a few examples are given for each.
The convention used to name the example patterns is:
Name | Pattern |
---|---|
Cxxx | Chos |
DFxxx | Diagonal Flotilla |
DGxxx | Diagonal Gun |
DPxxx | Diagonal Puffer |
DSxxx | Diagonal Ship |
DSTxxx | Diagonal Stretcher |
EPxxx | Expanding Pattern |
Fxxx | Fuse |
Gxxx | Gun |
Ixxx | Interaction |
IGxxx | Irregular Gun |
KGxxx | Knight Gun |
KPxxx | Knight Puffer |
KSxxx | Knight Ship |
Mxxx | Maximum Tiling |
MGxxx | Moving Gun |
MRxxx | Moving Replicator |
Oxxx | Oscillator |
Pxxx | Puffer |
Rxxx | Replicator |
Sxxx | Ship |
SCxxx | Stretching Chaos |
SDxxx | Speed Comparison |
SDPxxx | Stretching Diagonal Puffer |
SDSxxx | Stretching Diagonal Ship |
SExxx | Symmetrical Expansion |
SLxxx | Still Life |
SPxxx | Stretching Puffer |
SSxxx | Stretching Ship |
STxxx | Stretcher |
USxxx | Unusual Ship |
The following tables show the number of examples by type for each rule:
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
The following is a cross reference showing which rules support which types:
DG
[18, 19, 20]
DP
[3, 7, 12, 18, 20, 21]
DS
[1, 2, 3, 7, 10, 11, 14, 15, 17, 18, 20, 21, 22, 23]
DST
[4, 5, 8]
I
[18]
MR
[15]
O
[1, 3, 7, 13, 16, 18, 20]
P
[3]
R
[6, 7, 9, 10, 17]
S
[1, 2, 3, 22, 23]
SD
[23]
The formal definition of each rule follows:
Rule 001 HexagonalInteractingStates ,TB1,TS0,B1;00300002,B2;00000100,B3;01003000,B4;00100000,B5;00000030,B6;00000000,B7;30100000,B8; 00020010,S1;00100100,S2;00000000,S3;00001000,S4;00000001,S5;00000001,S6;00100000,S7;00000000,S8;10100000
Rule 002 HexagonalInteractingStates ,TB1,TS0,B1;00300002,B2;00000100,B3;01003000,B4;00100000,B5;00000030,B6;00000000,B7;30100000,B8; 00020010,S1;00000100,S2;10000000,S3;00000001,S4;10000100,S5;00100000,S6;00000000,S7;01000001,S8;00001000
Rule 003 HexagonalInteractingStates ,TB1,TS0,B1;00300002,B2;00000100,B3;01003000,B4;00100000,B5;00000030,B6;00000000,B7;30100000,B8; 00020010,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000001,S8;00000000
Rule 004 HexagonalInteractingStates ,TB1,TS0,B1;00010000,B2;03000300,B3;03000100,B4;00200000,B5;30000000,B6;00000120,B7;00020020,B8; 00200003,S1;00001010,S2;00001000,S3;00000000,S4;00001000,S5;10000000,S6;00000000,S7;00000010,S8;00010001
Rule 005 HexagonalInteractingStates ,TB1,TS0,B1;00010000,B2;03000300,B3;03000100,B4;00200000,B5;30000000,B6;00000120,B7;00020020,B8; 00200003,S1;00000000,S2;00001000,S3;00000000,S4;00001000,S5;10000000,S6;00000000,S7;00000010,S8;00010001
Rule 006 HexagonalInteractingStates ,TB1,TS0,B1;00302000,B2;00330000,B3;00000300,B4;00010000,B5;00000000,B6;00003000,B7;00200002,B8; 20000000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
Rule 007 HexagonalInteractingStates ,TB1,TS0,B1;00200000,B2;00100000,B3;10000000,B4;00000000,B5;00100300,B6;30001000,B7;00300000,B8; 00002000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
Rule 008 HexagonalInteractingStates ,TB1,TS0,B1;00200000,B2;00100000,B3;10000000,B4;00000000,B5;00100300,B6;30001000,B7;00300000,B8; 00002000,S1;00000010,S2;00000100,S3;01010000,S4;01000000,S5;10010000,S6;10000000,S7;00010010,S8;01000000
Rule 009 HexagonalInteractingStates ,TB1,TS1,B1;01010020,B2;00001002,B3;00020002,B4;00000030,B5;00003010,B6;03000000,B7;00200001,B8; 00010200,S1;01000000,S2;00000101,S3;00000001,S4;10000100,S5;10010000,S6;00000000,S7;01000000,S8;00000000
Rule 010 HexagonalInteractingStates ,TB1,TS1,B1;01010020,B2;00001002,B3;00020002,B4;00100030,B5;00003010,B6;03000000,B7;00200001,B8; 00010200,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
Rule 011 HexagonalInteractingStates ,TB1,TS1,B1;01010020,B2;00001002,B3;00020002,B4;00100030,B5;00003010,B6;03000000,B7;00200001,B8; 00010200,S1;00000010,S2;00000010,S3;00000000,S4;00000001,S5;00010010,S6;00010010,S7;00001000,S8;00001000
Rule 012 HexagonalInteractingStates ,TB1,TS1,B1;02000010,B2;00020100,B3;20000010,B4;00001300,B5;00003030,B6;00303000,B7;00010002,B8; 02000030,S1;10000000,S2;00000000,S3;01000001,S4;00001000,S5;00000000,S6;00000010,S7;00000010,S8;10000000
Rule 013 HexagonalInteractingStates ,TB1,TS1,B1;02000010,B2;00020100,B3;20000010,B4;00001300,B5;00003030,B6;00303000,B7;00010002,B8; 02000030,S1;00000000,S2;00000000,S3;00010000,S4;00000000,S5;00000011,S6;00000000,S7;01000000,S8;00100001
Rule 014 HexagonalInteractingStates ,TB1,TS1,B1;02000010,B2;00020100,B3;20000010,B4;00001300,B5;00003030,B6;00303000,B7;00010002,B8; 02000030,S1;00001010,S2;00000000,S3;00000000,S4;00000000,S5;00100000,S6;00000000,S7;00000000,S8;01000000
Rule 015 HexagonalInteractingStates ,TB1,TS1,B1;00030000,B2;00001000,B3;03010000,B4;00001300,B5;00300010,B6;00023000,B7;30000001,B8; 03200000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
Rule 016 HexagonalInteractingStates ,TB1,TS1,B1;00030000,B2;00001000,B3;03010000,B4;00001300,B5;00300010,B6;00023000,B7;30000001,B8; 03200000,S1;00110000,S2;01000100,S3;01100000,S4;00001000,S5;00000010,S6;00010001,S7;00100000,S8;10100000
Rule 017 HexagonalInteractingStates ,TB1,TS1,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
Rule 018 HexagonalInteractingStates ,TB1,TS2,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;00000000,S2;00000000,S3;00010000,S4;00010000,S5;00000100,S6;00000000,S7;00010000,S8;00000000
Rule 019 HexagonalInteractingStates ,TB1,TS2,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;00000000,S2;00000000,S3;00010000,S4;00300000,S5;00000100,S6;00000000,S7;00010000,S8;00000000
Rule 020 HexagonalInteractingStates ,TB1,TS2,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;20000000,S2;00000000,S3;00010000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
Rule 021 HexagonalInteractingStates ,TB1,TS3,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;20000000,S2;00000000,S3;00010000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
Rule 022 HexagonalInteractingStates ,TB1,TS0,B1;00000201,B2;02001000,B3;00000000,B4;10200000,B5;00001000,B6;00020000,B7;00002100,B8; 00000000,S1;00000000,S2;00001010,S3;01000100,S4;00000000,S5;00000000,S6;10000000,S7;00000001,S8;00000000
Rule 023 HexagonalInteractingStates ,TB1,TS0,B1;00100000,B2;00200000,B3;00020200,B4;00020010,B5;00300000,B6;01000010,B7;00000002,B8; 00000010,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
The formal definitions of some potentially interesting rules which have not been fully explored follows:
T001.mcl HexagonalInteractingStates ,TB1,TS1,B1;00102000,B2;00001000,B3;00010000,B4;00001300,B5;00300010,B6;00023000,B7;30000001,B8; 03200000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
T002.mcl HexagonalInteractingStates ,TB1,TS1,B1;00101000,B2;00001000,B3;00010000,B4;00001300,B5;00300010,B6;00023000,B7;30000001,B8; 03200000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
T003.mcl HexagonalInteractingStates ,TB1,TS1,B1;00102000,B2;00001000,B3;00010000,B4;00001300,B5;00300010,B6;00023000,B7;30000001,B8; 03200000,S1;00000000,S2;00000001,S3;00000000,S4;01000000,S5;00000000,S6;00100001,S7;00000000,S8;00011000
T004.mcl HexagonalInteractingStates ,TB1,TS1,B1;00102000,B2;00001000,B3;00010000,B4;00001300,B5;00300010,B6;00023000,B7;00000001,B8; 03200000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
T005.mcl HexagonalInteractingStates ,TB1,TS1,B1;20000000,B2;00301000,B3;00000020,B4;01000000,B5;00001000,B6;20000000,B7;00010300,B8; 02000000,S1;00000100,S2;00010000,S3;01000000,S4;10000000,S5;10001000,S6;00010000,S7;10000100,S8;00000001
T006.mcl HexagonalInteractingStates ,TB1,TS1,B1;20000000,B2;00301000,B3;00000020,B4;01000000,B5;00001000,B6;20000000,B7;00010300,B8; 02000000,S1;02100000,S2;01000000,S3;00000000,S4;00010001,S5;00100000,S6;00000000,S7;00000000,S8;00002002
T007.mcl HexagonalInteractingStates ,TB1,TS1,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;00000000,S2;00000100,S3;00000010,S4;10000000,S5;00000000,S6;00000000,S7;00000011,S8;00000000
T008.mcl HexagonalInteractingStates ,TB1,TS1,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;10000010,S2;01000000,S3;00000000,S4;00001000,S5;00001000,S6;00000001,S7;00001000,S8;00000000
T009.mcl HexagonalInteractingStates ,TB1,TS1,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;10000100,S2;00000000,S3;00000000,S4;00001001,S5;10010000,S6;01000001,S7;00001100,S8;00010000
T010.mcl HexagonalInteractingStates ,TB1,TS2,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;00000000,S2;00000000,S3;00010000,S4;00030000,S5;00000100,S6;00000000,S7;00010000,S8;00000000
T011.mcl HexagonalInteractingStates ,TB1,TS1,B1;02000000,B2;00200000,B3;00000001,B4;00001002,B5;02000000,B6;00000002,B7;00030000,B8; 00010003,S1;00000000,S2;00000000,S3;10010000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
T012.mcl HexagonalInteractingStates ,TB1,TS3,B1;00033000,B2;00020000,B3;00000020,B4;00300003,B5;00000001,B6;02300000,B7;00030030,B8; 00001000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
T013.mcl HexagonalInteractingStates ,TB1,TS3,B1;00010001,B2;00000000,B3;00002000,B4;00000000,B5;02000002,B6;00002000,B7;00000300,B8; 00001000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
T014.mcl HexagonalInteractingStates ,TB1,TS0,B1;00000201,B2;02001000,B3;00000000,B4;10200000,B5;00001000,B6;00020000,B7;00002100,B8; 00000000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000
T015.mcl HexagonalInteractingStates ,TB1,TS0,B1;00100000,B2;20000000,B3;03300000,B4;00000102,B5;00310000,B6;30010000,B7;00000000,B8; 00000000,S1;00000000,S2;00000000,S3;00000000,S4;00000000,S5;00000000,S6;00000000,S7;00000000,S8;00000000