In[]:=
Module[{deep=5000,cut=200,ru,life,evo,data},SeedRandom[426778];evo=NestList[CompoundExpression[ru=RandomRuleMutation[First[#]],life=TestLifetime[ru,cut],If[life>=Last[#],{ru,life},#]]&,{{0,2,2},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[]:=
FromDigits[Most[IdentityMatrix[32]],2]
Out[]=
{1073741824,536870912,268435456,134217728,67108864,33554432,16777216,8388608,4194304,2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1,0}
In[]:=
RuleMutationsList[{0,2,2}]
Out[]=
{{2147483648,2,2},{1073741824,2,2},{536870912,2,2},{268435456,2,2},{134217728,2,2},{67108864,2,2},{33554432,2,2},{16777216,2,2},{8388608,2,2},{4194304,2,2},{2097152,2,2},{1048576,2,2},{524288,2,2},{262144,2,2},{131072,2,2},{65536,2,2},{32768,2,2},{16384,2,2},{8192,2,2},{4096,2,2},{2048,2,2},{1024,2,2},{512,2,2},{256,2,2},{128,2,2},{64,2,2},{32,2,2},{16,2,2},{8,2,2},{4,2,2},{2,2,2}}
In[]:=
TestLifetime[#,10]&/@%
Out[]=
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-∞,1,1,1,1,1,1,1,-∞,1,1,1,-∞,1,-∞,-∞}
In[]:=
Counts@Nest[Union[Catenate[ParallelMap[IterateMutations[1,GreaterEqual][#,{1},100]&,#]]]&,{{{0,2,2},1}},5][[All,2]]
In[]:=
Nest[Union[Catenate[ParallelMap[IterateMutations[1,GreaterEqual][#,{1},100]&,#]]]&,{{{0,2,2},1}},1]
Out[]=
{{{8,2,2},1},{{32,2,2},1},{{64,2,2},1},{{128,2,2},1},{{512,2,2},1},{{1024,2,2},1},{{2048,2,2},1},{{4096,2,2},1},{{8192,2,2},1},{{16384,2,2},1},{{32768,2,2},1},{{131072,2,2},1},{{262144,2,2},1},{{524288,2,2},1},{{1048576,2,2},1},{{2097152,2,2},1},{{4194304,2,2},1},{{8388608,2,2},1},{{16777216,2,2},1},{{33554432,2,2},1},{{67108864,2,2},1},{{134217728,2,2},1},{{268435456,2,2},1},{{536870912,2,2},1},{{1073741824,2,2},1},{{2147483648,2,2},1}}
In[]:=
NestList[Union[Catenate[ParallelMap[IterateMutations[1,GreaterEqual][#,{1},100]&,#]]]&,{{{0,2,2},1}},4]
Out[]=
In[]:=
Length/@%
Out[]=
{1,26,326,2626,15276}
In[]:=
NestList[Union[#,Catenate[ParallelMap[IterateMutations[1,GreaterEqual][#,{1},100]&,#]]]&,{{{0,2,2},1}},4]
Out[]=
In[]:=
Length/@%
Out[]=
{1,27,352,2952,17902}
In[]:=
Nest[Union[#,Catenate[ParallelMap[IterateMutations[1,GreaterEqual][#,{1},100]&,#]]]&,{{{0,2,2},1}},4]
Out[]=
In[]:=
Counts[%[[All,2]]]
Out[]=
117902
In[]:=
Module[{deep=5000,cut=200,ru,life,evo,data},SeedRandom[426778];evo=NestList[CompoundExpression[ru=RandomRuleMutation[First[#]],life=TestLifetime[ru,cut],If[life>=Last[#],{ru,life},#]]&,{{272,2,2},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]]
Evolutionary Jumps
Evolutionary Jumps
Backtracking
Backtracking
Reflecting
Reflecting