Here they are, along with the rule trees (feel free to correct any mistake in the comments). They seem to work correctly according to your description and on the script's end : now it discard around three-quarters of the collisions, a reasonnable value given my estimates (a little too low, perhaps).
By the way, is it normal that the speed of the script is roughly 1 constellation/second ? Recompiling the collisions would take a month of computing.
Code: Select all
@RULE Interaction-test
State 1 and state 3 patterns each follow B3/S23 as long as they don't interact.
If there is an interaction, state 3 patterns gradually become state 1
(with some help from state 2 if there is no direct contact).
@TABLE
n_states:4
neighborhood:Moore
symmetries:permute
var a = {1,3}
var b = {a}
var c = {a}
var d = {a}
var e = {a}
var f = {a}
var g = {a}
var h = {a}
var i = {a}
var o1 = {0,2}
var o2 = {o1}
var o3 = {o1}
var o4 = {o1}
var o5 = {o1}
var o6 = {o1}
var o7 = {o1}
var o8 = {o1}
var o9 = {o1}
var any1 = {0,1,2,3}
var any2 = {any1}
var any3 = {any1}
var any4 = {any1}
var any5 = {any1}
var any6 = {any1}
var any7 = {any1}
var any8 = {any1}
var any9 = {any1}
# surviving live cells become state 1, except if only state 3 and state 0 cells are involved
3,3,3,0,0,0,0,0,0,3
3,3,3,3,0,0,0,0,0,3
a,b,c,o1,o2,o3,o4,o5,o6,1
a,b,c,d,o1,o2,o3,o4,o5,1
# underpopulated or overpopulated live cells die
a,o1,o2,o3,o4,o5,o6,o7,o8,0
a,b,o1,o2,o3,o4,o5,o6,o7,0
a,b,c,d,e,o1,o2,o3,o4,0
a,b,c,d,e,f,o1,o2,o3,0
a,b,c,d,e,f,g,o1,o2,0
a,b,c,d,e,f,g,h,o1,0
a,b,c,d,e,f,g,h,i,0
# dead cells with three living neighbours become state 1 except when only state 3 and state 0 cells are involved
0,3,3,3,0,0,0,0,0,3
o1,a,b,c,o2,o3,o4,o5,o6,1
# overpopulated dead cells become state 2 only when the middle cell is state 0
# and some state 1 and state 3 cells are involved
0,1,3,d,e,o1,o2,o3,o4,2
0,1,3,d,e,f,o1,o2,o3,2
0,1,3,d,e,f,g,o1,o2,2
0,1,3,d,e,f,g,h,o1,2
0,1,3,d,e,f,g,h,i,2
o1,a,b,c,d,o1,o2,o3,o4,0
o1,a,b,c,d,e,o1,o2,o3,0
o1,a,b,c,d,e,f,o1,o2,0
o1,a,b,c,d,e,f,g,o1,0
o1,a,b,c,d,e,f,g,h,0
# otherwise, state 2 cells die
2,any1,any2,any3,any4,any5,any6,any7,any8,0
@TREE
num_states=4
num_neighbors=8
num_nodes=90
1 0 0 0 0
2 0 0 0 0
1 0 1 0 1
2 0 2 0 2
1 0 1 0 3
2 0 2 0 4
3 1 3 1 5
1 1 1 1 1
2 2 7 2 7
3 3 8 3 8
3 1 3 1 3
1 3 1 1 3
2 4 7 2 11
3 5 8 3 12
4 6 9 10 13
1 2 0 0 0
2 7 0 7 15
2 7 15 7 15
3 8 16 8 17
3 8 17 8 17
4 9 18 9 19
4 10 9 10 9
2 11 15 7 0
3 12 17 8 22
4 13 19 9 23
5 14 20 21 24
2 0 0 0 15
2 15 15 15 15
3 16 26 16 27
3 17 27 17 27
4 18 28 18 29
4 19 29 19 29
5 20 30 20 31
2 7 15 7 0
3 8 17 8 33
4 9 19 9 34
5 21 20 21 35
2 0 15 0 0
3 22 27 33 37
4 23 29 34 38
5 24 31 35 39
6 25 32 36 40
3 26 26 26 27
3 27 27 27 27
4 28 42 28 43
4 29 43 29 43
5 30 44 30 45
5 31 45 31 45
6 32 46 32 47
3 33 27 33 37
4 34 29 34 49
5 35 31 35 50
6 36 32 36 51
3 37 27 37 37
4 38 43 49 53
5 39 45 50 54
6 40 47 51 55
7 41 48 52 56
4 42 42 42 43
4 43 43 43 43
5 44 58 44 59
5 45 59 45 59
6 46 60 46 61
6 47 61 47 61
7 48 62 48 63
4 49 43 49 53
5 50 45 50 65
6 51 47 51 66
7 52 48 52 67
4 53 43 53 53
5 54 59 65 69
6 55 61 66 70
7 56 63 67 71
8 57 64 68 72
5 58 58 58 59
5 59 59 59 59
6 60 74 60 75
6 61 75 61 75
7 62 76 62 77
7 63 77 63 77
8 64 78 64 79
5 65 59 65 69
6 66 61 66 81
7 67 63 67 82
8 68 64 68 83
5 69 59 69 69
6 70 75 81 85
7 71 77 82 86
8 72 79 83 87
9 73 80 84 88
@COLORS
1 0 255 0
2 0 0 128
3 216 255 216
A test pattern showing glider interactions/non-interactions, B3/S23 emulation by state 1 and 3 and the propagation of state 1 without contact.