First, some clarifications:
- 3 cell states, von Neumann neighborhood.
- The state of a cell depends ONLY on the total number of cells of each state in its neighborhood (including the center cell in the totals) on the previous generation (e.g. if a state-2 cell with four state-1 neighbors dies, a state-1 cell with three state-1 and 1 state-2 neighbors must die as well).
Code: Select all
NNNNNN-NNNNN-NNNN-NNN-NN-N
Code: Select all
020200-00000-0000-100-00-0
Here is a script to generate 3ITVN rules:
Code: Select all
import golly as g
size = map(int, "12222102333202332023202201")
table = """@RULE %s
@TABLE
n_states:3
neighborhood:vonNeumann
symmetries:permute
#00
00000%s
#10
01000%s
10000%s
#20
01100%s
11000%s
#30
01110%s
11100%s
#40
01111%s
11110%s
#50
11111%s
#01
02000%s
20000%s
#11
01200%s
12000%s
21000%s
#21
01120%s
11200%s
21100%s
#31
01112%s
11120%s
21110%s
#41
11112%s
21111%s
#02
02200%s
22000%s
#12
01220%s
12200%s
21200%s
#22
01122%s
11220%s
21120%s
#32
11122%s
21112%s
#03
22200%s
02220%s
#13
01222%s
12220%s
21220%s
#23
11222%s
21122%s
#04
02222%s
22220%s
#14
12222%s
21222%s
#05
22222%s"""
rule = g.getstring("Enter rule in format \"000000-00000-0000-000-00-0\"", "000000-00000-0000-000-00-0")
format = (rule,)
for i in xrange(len(rule)):
format += (rule[i],)*size[i]
table %= format
ruledir = g.getdir("rules")
filename = ruledir + rule + ".rule"
with open(filename, 'w') as f:
f.write(table)
g.setrule(rule)
g.show("Created rule in file: %s.rule" % rule)
000120-10000-2220-020-10-2
022112-02222-0101-000-01-1
000010-11210-2211-110-11-2
001200-10000-0202-120-01-1
The third one appears the most promising. Patterns:
Code: Select all
x = 45, y = 12, rule = 000010-11210-2211-110-11-2
.AB5.2A8.2A9.2B10.B.B$3A4.A2BA6.A2BA7.A2.A8.A.A.A$B2A15.2B8.4A10.A$
18.2A9.2A2$29.2A$28.4A$29.2B2$31.B$31.B$31.B!
EDIT: 5 more maybe-interesting rules:
022102-00201-0021-120-20-1
001211-10000-0000-110-12-2
020002-00020-2012-110-21-2
022010-00100-0002-111-11-2
001200-10221-0022-201-22-1
EDIT 2: 000100-10201-1220-210-11-1
021222-00001-0100-010-12-1