In[]:=
SeedRandom[24242];Histogram[Select[LengthWhile[#,Total[#]>0&]&/@Table[PerturbedCAEvolution[{6006804516645,3,1},{{1},0},200,9->1],10000],#<200&],{1}]
Out[]=
40
60
80
100
0
200
400
600
In[]:=
SeedRandom[24242];Histogram[Select[LengthWhile[#,Total[#]>0&]&/@Table[PerturbedCAEvolution[{6006804516645,3,1},{{1},0},200,30->1],1000],#<200&],{1}]
Out[]=
100
120
140
160
180
0
10
20
30
40
In[]:=
PerturbedCAEvolution[{6006804516645,3,1},{{1},0},200,30->1]//ArrayPlot
Out[]=
In[]:=
PerturbedCAEvolution[{6006804516645,3,1},{{1},0},200,9->1]
Out[]=
{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
⋯200⋯
}
Full expression not available
(
original memory size:
0.6 MB)
In[]:=
CellularAutomaton[{6006804516645,3,1},{{1},0},200]
In[]:=
ArrayPlot[%]
Out[]=
In[]:=
Dimensions[CellularAutomaton[{6006804516645,3,1},{{1},0},200]]
Out[]=
{201,36}
In[]:=
PerturbedCAEvolution[{6006804516645,3,1},{{1},0},200,9->1]//Dimensions
Out[]=
{201,401}
In[]:=
PlotDifferences[CellularAutomaton[{6006804516645,3,1},{{1},0},{200,All}],PerturbedCAEvolution[{6006804516645,3,1},{{1},0},200,9->1]]
Out[]=
In[]:=
Table[PlotDifferences[CellularAutomaton[{6006804516645,3,1},{{1},0},{200,All}],PerturbedCAEvolution[{6006804516645,3,1},{{1},0},200,9->1]],10]
Out[]=

,
,
,
,
,
,
,
,
,

In[]:=
Table[PlotDifferences2[CellularAutomaton[{6006804516645,3,1},{{1},0},{200,All}],PerturbedCAEvolution[{6006804516645,3,1},{{1},0},200,9->1]],10]
Out[]=

,
,
,
,
,
,
,
,
,

This rule heals itself.....

Other Rules

Healing after One Step?

This is a necessary condition, but not sufficient

General Notes

When it heals itself, that happens because there’s basically at attractor that leads it back to the same state as before.
[[ “Health” = set up to withstand some small perturbations ]]

Measures of Change

1. { # cells that agree between the new case and old [within the region of the pattern] , # cells that disagree }

[Largest connected region of agreement]

2. Total lifetime

Evolving the Rule for Robustness

The loss function (AKA fitness function) is the [[ median / mean / .... ]] lifetime of grow processes that have a random perturbation

Evolve for Therapy

The goal is to minimize the difference of patterns

Note that cells which are actually perturbed won’t ever be the same....
[Trivially, you can perturb by laying down the pattern you want, and bordering it with 0s]