Input control
In the previous experiment
tolerance accumulation by CA-2 was limited. Whenever CA-2 tolerance
exceeded 1000 units, CA-3 was killed and started pacing only when CA-2
tolerance dropped below this level . Here this upper level is called
maxtolerance. We now add another constraint. Proliferon size
depends on CA-0 tolerance. When the CA-0 zygote is planted its tolerance
= 1. As the stem process grows it accumulates tolerance, becomes stronger
and supports better the other CA. maxwidth sets the maximal CA width.
maxwidth = Min[tolerance[0] / 100, 80]
delivery[2, 1, Min[maxwidth, tolerance[3] / 20 , 2] ;
delivery[2, 2, Min[maxwidth, 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[663]; else [set
rule[600]]
If[ tolerance[3]/20 > maxwidth, kill[CA-3]]
If[ tolerance[2] > maxtolerance, kill[CA-3]]
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,
and are driven by CA-3.
When the experiment starts, CA-0 plants three zygotes. Only CA-3 survives
and starts growing. CA-1 and CA-2 have to be seeded several times
until they start growing. They depend on CA-3 and survive
only when CA-3 has grown a bit. CA-3 serves as a pacer
for the proliferon. When CA-3 tolerance reaches maxwidth CA-0 kills
it, plants a new zygote instead and the cycle starts again. Since maxwidth
depends on CA-1 tolerance the cycles vary. When CA-3 tolerance rises,
CA-1, CA-2 and CA-3 switch between two rules as specified above. CA-1
delivers its daily product to CA-2 (accumulator). The experiment lasted
2000 time units (days). The first image depicts the CA when the experiment
starts. The second image depicts then when the experiment ends.
CA-3 is pacing the unit. Its survival depends on its width, maxwidth and CA-2 tolerance. Maxwidth depends on CA-1 tolerance. It rises to 80 units and remains at this level (v. graph below). From then and onward CA-3 fluctuates, and so does the interval between two consecutive CA-3 spikes.
survival[3] = CA-3[width, maxwidth, tolerance[2]] = CA-3[width, tolerance[1], tolerance[2]]
Initially CA-1 and CA-2 grow and are triggered by CA-3. Then CA-2 tolerance reaches maxtolerance whereupon CA-3 oscillates more slowly and CA-2 and CA-3 decline. Ultimately the proliferon attains its solution (strange attractor).
delivery: [j, j-1, While[p[j-1]
> set point], 2]
Argument[1]: Activated CA.
Argument[2]: Activating CA.
Argument[3]: Delivery condition.
Argument[4]: Delivery amount.
p[j]: daily production