Generations-Like Rules: Rulespace Overview
Posted: October 8th, 2012, 7:19 pm
(I recall writing about this before but I can't find the topic… did I ever post it?)
Generations rules, as you all know, work by having "dying" cells, such that they count as off for the purposes of survival/birth counts, but will only become vacuum after a delay.
There are however three other cell type options transitional between vacuum and fully live:
• "Nascent": Newborn cell, counts as off, will become fully live in X ticks.
• "Young": Newborn cell, counts as on, will become fully live in X ticks.
• "Sick": Dead cell, counts as on, will become vacuum in X ticks.
CA using these six cell types (vacuum, nascent, young, live, sick, dying) can be considered united by the feature that birth and survival of live cells is determined only according to a single set of 16 B/S conditions. All transitional cells evolve independantly of their environment; live and vacuum cells according to the sum of their "on" neighbors.
There's further expansion potential too: while including multiple kinds of a transitional cell type in the rules is obvious, we might also consider using multiple kinds of vacuum and live cells: eg. B3 turns Vacuum1 into Vacuum2 etc, and finally VacuumX into Live1; or D8 turns Live1 into Live2 etc, until LiveY becomes dead. (Transitional states could be injected at any point here, too.)
---
Adding one sick stage is a boost in the growth rate of a rule (unlike the kick downward that adding one dying stage is): all of B34/S, B35/S, B3/S01, B3/S2, B3/S3 and B3/S4 are explosiv rules. The last three all support a multitude of replicators and spaceships. Adding two, even B3/S explodes. So rules with only vacuum, live and sick states don't seem to hold too much to discover.
However, these are perfectly mixable, let's say using one sick + one dying stage…
Some initial results:
B3/S2 is now a stable rule; this and B3/S1 support P4 versions of simple P2 ocillators of Life-like rules
B3/S3 remains replicator-dominated
B3/S4 as well, but B3/S24 turns into a CA resembling a sparser version of the "MilhinSA" rule.
B34/S and B35/S are now stable
B36/S24 has a strange "self-puffer" pattern. This initially looks like an obliq linear-growth replicator stream, but it actually generates a 6c/218 rake:
sick+dying.table for playing around:
---
Adding a young stage is similarly a growth rate booster. Over here, B3/S4 is a highly stable rule; B3/S1 however explodes, B3/S2, B3/S3, B34/S, and B35/S still as well. These seem for some reason yet more chaotic than their sick-stage counterparts, creating an expanding mess rather than replicators. Not going to look more here (and this also predicts using two live states + no dead-transition states is not going to do anything useful either). Combining with dying or nascent stages needs checking out.
---
Last area tonight: using 2 vacuum states. This approach is quite strongly growth-retarding; even B3/S01345 is stable. B2 rules also have the potential to not explode (as this works rather similarly to the "Bx2" approach), there is a lightspeed growth engine in B1 tho.
B2/S23, B2/S13, B24/S03 and B24/S12 do explode. B23/S2 and B234/S are only weakly explosiv; B23/S0, B23/S34 and B24/S345 wholly stable.
Also as a more general observation, the (pseudo)random sprinkling of Vacuum1 and Vacuum2 states left behind by live areas seems like an obstacle for anything structured to occur under this subspace.
Generations rules, as you all know, work by having "dying" cells, such that they count as off for the purposes of survival/birth counts, but will only become vacuum after a delay.
There are however three other cell type options transitional between vacuum and fully live:
• "Nascent": Newborn cell, counts as off, will become fully live in X ticks.
• "Young": Newborn cell, counts as on, will become fully live in X ticks.
• "Sick": Dead cell, counts as on, will become vacuum in X ticks.
CA using these six cell types (vacuum, nascent, young, live, sick, dying) can be considered united by the feature that birth and survival of live cells is determined only according to a single set of 16 B/S conditions. All transitional cells evolve independantly of their environment; live and vacuum cells according to the sum of their "on" neighbors.
There's further expansion potential too: while including multiple kinds of a transitional cell type in the rules is obvious, we might also consider using multiple kinds of vacuum and live cells: eg. B3 turns Vacuum1 into Vacuum2 etc, and finally VacuumX into Live1; or D8 turns Live1 into Live2 etc, until LiveY becomes dead. (Transitional states could be injected at any point here, too.)
---
Adding one sick stage is a boost in the growth rate of a rule (unlike the kick downward that adding one dying stage is): all of B34/S, B35/S, B3/S01, B3/S2, B3/S3 and B3/S4 are explosiv rules. The last three all support a multitude of replicators and spaceships. Adding two, even B3/S explodes. So rules with only vacuum, live and sick states don't seem to hold too much to discover.
However, these are perfectly mixable, let's say using one sick + one dying stage…
Some initial results:
B3/S2 is now a stable rule; this and B3/S1 support P4 versions of simple P2 ocillators of Life-like rules
B3/S3 remains replicator-dominated
B3/S4 as well, but B3/S24 turns into a CA resembling a sparser version of the "MilhinSA" rule.
B34/S and B35/S are now stable
B36/S24 has a strange "self-puffer" pattern. This initially looks like an obliq linear-growth replicator stream, but it actually generates a 6c/218 rake:
Code: Select all
x = 3, y = 4, rule = sick+dying
AC$2A$ACA$AC!Code: Select all
n_states:4
neighborhood:Moore
symmetries:permute
var a={1,2}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={0,1,2,3}
var j={i}
var k={i}
var l={i}
var m={i}
var n={i}
var o={i}
var p={i}
var q={0,3}
var r={q}
var s={q}
var t={q}
var u={q}
var v={q}
var w={q}
var x={q}
#birth
0,a,b,c,t,u,v,w,x,1
#0,a,b,c,d,u,v,w,x,1
#0,a,b,c,d,e,v,w,x,1
0,a,b,c,d,e,f,w,x,1
#0,a,b,c,d,e,f,g,x,1
#0,a,b,c,d,e,f,g,h,1
#survival
1,q,r,s,t,u,v,w,x,2
1,a,r,s,t,u,v,w,x,2
1,a,b,s,t,u,v,w,x,1
1,a,b,c,t,u,v,w,x,2
1,a,b,c,d,u,v,w,x,1
1,a,b,c,d,e,v,w,x,2
1,a,b,c,d,e,f,w,x,2
1,a,b,c,d,e,f,g,x,2
1,a,b,c,d,e,f,g,h,2
#death
2,i,j,k,l,m,n,o,p,3
3,i,j,k,l,m,n,o,p,0Adding a young stage is similarly a growth rate booster. Over here, B3/S4 is a highly stable rule; B3/S1 however explodes, B3/S2, B3/S3, B34/S, and B35/S still as well. These seem for some reason yet more chaotic than their sick-stage counterparts, creating an expanding mess rather than replicators. Not going to look more here (and this also predicts using two live states + no dead-transition states is not going to do anything useful either). Combining with dying or nascent stages needs checking out.
---
Last area tonight: using 2 vacuum states. This approach is quite strongly growth-retarding; even B3/S01345 is stable. B2 rules also have the potential to not explode (as this works rather similarly to the "Bx2" approach), there is a lightspeed growth engine in B1 tho.
B2/S23, B2/S13, B24/S03 and B24/S12 do explode. B23/S2 and B234/S are only weakly explosiv; B23/S0, B23/S34 and B24/S345 wholly stable.
Also as a more general observation, the (pseudo)random sprinkling of Vacuum1 and Vacuum2 states left behind by live areas seems like an obstacle for anything structured to occur under this subspace.