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 / 100, 80]
delivery[2, 1, Min[maxwidth, tolerance / 20 , 2] ;
delivery[2, 2, Min[maxwidth, tolerance / 20 , 2] ;
delivery[3, 3, 30, 0] ;
If[ p[1,prev] > p[1,now], set rule;
else [set rule]
If[ p[2,prev] > p[2,now], set rule; else [set rule]
If[ p[3,prev] > p[3,now], set rule; else [set rule]
If[ tolerance/20 > maxwidth, kill[CA-3]]
If[ tolerance > 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 = CA-3[width, maxwidth, tolerance] = CA-3[width, tolerance, tolerance]
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: Activated CA.
Argument: Activating CA.
Argument: Delivery condition.
Argument: Delivery amount.
p[j]: daily production