In[]:=
Module[​​{goal=50,deep=5000,cut=200,ru,life,evo,data},​​SeedRandom[426779];​​evo=NestList[CompoundExpression[​​ru=RandomRuleMutation[First[#]],​​life=TestLifetime[ru,cut],​​If[Abs[life-goal]<Abs[Last[#]-goal],{ru,life},#]​​]&,{{0,3,1},0},deep];​​evo=Rest[First/@SplitBy[evo,Last]];​​Map[CompoundExpression[​​data=CellularAutomaton[​​First[#],{{1},0},Last[#]+2],​​data=ArrayPad[#,2]&/@data,​​ArrayPlot[data,ColorRules->colors,​​ImageSize->{Automatic,26Sqrt[Length[data]+1]},​​Mesh->True,MeshStyle->Opacity[.1]​​]​​]&,​​evo]​​]
Out[]=

,

In[]:=
RandomRuleMutation[{30,2,1},4]
Out[]=
{198,2,1}
In[]:=
Module[​​{goal=50,deep=5000,cut=200,ru,life,evo,data},​​SeedRandom[426779];​​evo=NestList[CompoundExpression[​​ru=RandomRuleMutation[First[#],4],​​life=TestLifetime[ru,cut],​​If[life!=-Infinity&&Abs[life-goal]<Abs[Last[#]-goal],{ru,life},#]​​]&,{{0,3,1},0},deep];​​evo=Rest[First/@SplitBy[evo,Last]];​​Map[CompoundExpression[​​data=CellularAutomaton[​​First[#],{{1},0},Last[#]+2],​​data=ArrayPad[#,2]&/@data,​​Labeled[ArrayPlot[data,ColorRules->colors,​​ImageSize->{Automatic,26Sqrt[Length[data]+1]},​​Mesh->True,MeshStyle->Opacity[.1]​​],Last[#]]​​]&,​​evo]​​]
Out[]=

1
,
2
,
3
,
4
,
5
,
6
,
7
,
16
,
19
,
31
,
42
,
45

In[]:=
Module[​​{goal=50,deep=5000,cut=200,ru,life,evo,data},​​SeedRandom[426779];​​evo=NestList[CompoundExpression[​​ru=RandomRuleMutation[First[#],4],​​life=TestLifetime[ru,cut],​​If[life!=-Infinity&&Abs[life-goal]<Abs[Last[#]-goal],{ru,life},#]​​]&,{{0,4,1},0},deep];​​evo=Rest[First/@SplitBy[evo,Last]];​​Map[CompoundExpression[​​data=CellularAutomaton[​​First[#],{{1},0},Last[#]+2],​​data=ArrayPad[#,2]&/@data,​​Labeled[ArrayPlot[data,ColorRules->colors,​​ImageSize->{Automatic,26Sqrt[Length[data]+1]},​​Mesh->True,MeshStyle->Opacity[.1]​​],Last[#]]​​]&,​​evo]​​]
Out[]=

1
,
2
,
3
,
4
,
6
,
8
,
14
,
19
,
73
,
49

In[]:=
Module[​​{goal=50,deep=1000,cut=200,ru,life,evo,data},​​evo=NestList[CompoundExpression[​​ru=RandomRuleMutation[First[#],10],​​life=TestLifetime[ru,cut],​​If[life!=-Infinity&&Abs[life-goal]<Abs[Last[#]-goal],{ru,life},#]​​]&,{{0,4,1},0},deep];​​evo=Rest[First/@SplitBy[evo,Last]];​​Map[CompoundExpression[​​data=CellularAutomaton[​​First[#],{{1},0},Last[#]+2],​​data=ArrayPad[#,2]&/@data,​​Labeled[ArrayPlot[data,ColorRules->colors,​​ImageSize->{Automatic,26Sqrt[Length[data]+1]},​​Mesh->True,MeshStyle->Opacity[.1]​​],Last[#]+1]​​]&,​​evo]​​]
Out[]=

2
,
3
,
4
,
6
,
13
,
14
,
15
,
22
,
41
,
44
,
46
,
50


Plot the density of a given value as a function of the size desired

Width Constraints