Control of tolerance accumulation

Here is another experiment with a similar design like the previous one  only with different rules.  The proliferon consists of a stem CA-0, and three transitional processes, CA-1, CA-2, and CA-3.   CA-2 gets resources from CA-1 and accumulates them. CA-1 and CA-2 behave like in the previous experiment.  Here they are driven by CA-3.
delivery[2, 1, Min[70, tolerance[3] / 20., 2] ;
delivery[2, 2, Min[70, tolerance[3] / 20.,, 2] ;
delivery[3, 3, 30, 0] ;

If[ p[1,prev] > p[1,now], set rule[1392]; else [set rule[1167]]
If[ p[2,prev] > p[2,now], set rule[1347]; else [set rule[1599]]
If[ p[3,prev] > p[3,now], set rule[1284]; else [set rule[600]]

If[ tolerance[3]/20. > 70, kill[CA-3]]

When  the experiment starts,  CA-0 plants three zygotes. Only CA-3 survives and starts growing.  CA-1  dies and has to be seeded again three times until it starts growing. CA-2 has to be replanted only twice.  Both depend on CA-3 and survive only when CA-3 has grown a bit. Like in the previous experiment. CA-3 serves as a pacer for the proliferon. When CA-3 tolerance reaches  70 units  CA-0 kills it, plants a new zygote instead and the cycle  starts again. When CA-3 tolerance rises, CA-1 and CA-2  switch  between two rules as specified above. CA-1 delivers its daily product to CA-2  (accumulator).


Both CA depend on the triggering of CA-3 tolerance. When it  rises they thrive and when it declines  they get leaner. Before the experiment started, only the stem process (CA-0) produced output. When the experiment starts the total proliferon output rises swiftly and oscillates about a constant value.

Process specified function

Each process has a specified task:
CA-0 : Stem process
CA-1 : Output generator and sentinel process
CA-2 : Tolerance accumulator.
CA-3 : Pacer

In the next experiment CA-2 tolerance accumulation is limited. Whenever CA-2 tolerance exceeds 1000 units, CA-3 is killed and starts pacing only when CA-2 tolerance drops below the 1000 level. If[ tolerance[2] > 1000, kill[CA-3]].