ParallelTable[ResourceFunction["AdaptiveCellularAutomaton"][<|"MutationFunction"->{2,"Symmetric"->True},"InitialRule"->{0,5,1},"AdaptiveIterations"->10000,"MaxSteps"->2000,"FitnessFunction":>(If[TestCALifetime[#]==-Infinity,-Infinity,Times@@Dimensions[#]]&[CellularAutomaton[#1,{{1},0},2000]]&)|>,"BreakthroughStates","Plot","PlottingRegion"->"Lifetime","PlotLabels"->({#Fitness,#Index}&),RandomSeeding->2326+i],{i,100}]
In[]:=
Clear[GoFurther]
In[]:=
GoFurther[{initrule_,steps_,iterations_,seed_}]:={ResourceFunction["AdaptiveCellularAutomaton"][<|"MutationFunction"->{2,"Symmetric"->True},"InitialRule"->initrule,"AdaptiveIterations"->iterations,"MaxSteps"->steps,"FitnessFunction":>(With[{ca=CellularAutomaton[#1,{{1},0},steps]},{life=TestCALifetime[ca]},If[life==-Infinity,-Infinity,Times@@Dimensions[#]&[Take[ca,life]]]]&)|>,"BreakthroughStates",{"BestRule","BestFitness","Index"},RandomSeeding->seed],steps,iterations,seed}
How do we tell if it limits in lifetime? It might exceed the lifetime bound, and be lost
In[]:=
Fold[Join[Most[#1],Map[Function[y,MapAt[Function[x,x+#1[[-1]]["Index"]],y,"Index"]],#2]]&,First/@Rest[NestList[GoFurther[{#[[1,-1]]["BestRule"],2#[[2]],2#[[3]],#[[4]]}]&,{{<|"BestRule"{0,5,1},"BestFitness"1,"Index"0|>},100,500,3456},2]]]
Out[]=
{BestRule{0,5,1},BestFitness1,Index0,BestRule{402803926968652923747218304358145046719671744679319003587421056362914746994453585781745,5,1},BestFitness20,Index346,BestRule{218700191580145539571693481306877570675642871652974959600284416673849243835905248025120,5,1},BestFitness63,Index401,BestRule{218700191580165261099372748707170017297053532106885205903905950699145836548307593728245,5,1},BestFitness70,Index404,BestRule{30648684703162029882290011888855091315854944945060696946328387002940220341177462713120,5,1},BestFitness90,Index459,BestRule{19363938781193674229567723919964302141601246116184766302538771288017673000772189275620,5,1},BestFitness416,Index475,BestRule{19363938781193674229567723919722765402735762035122314964454342134776455864389131463120,5,1},BestFitness893,Index478,BestRule{19303753470431573108149982650333826615308416826197658858589927422287804588754365838120,5,1},BestFitness969,Index500,BestRule{19303753470431573108170177489507484560217417619085635985655751301380736336190889275620,5,1},BestFitness3645,Index513,BestRule{19303752314873606475828665655920719009261026495669535544104798918995005592782685994370,5,1},BestFitness6549,Index575,BestRule{19303752314873606475824607301040380717230863386122321636387421040269476875741670369370,5,1},BestFitness8235,Index626,BestRule{19303761944523328412004034139636865460184780177241761358411674609812838539560029744370,5,1},BestFitness21285,Index697,BestRule{19303761944523525816556956645631054867514508745349657439030631667408091530282685994370,5,1},BestFitness26800,Index828,BestRule{19303761944523525816556956387137113444693360348034441025058692776071769699531953572495,5,1},BestFitness29928,Index1135,BestRule{19303761944523525816556956387137642840285394285746358726621617552447063431099336384995,5,1},BestFitness38024,Index1986}
In[]:=
ParallelTable[Fold[Join[Most[#1],Map[Function[y,MapAt[Function[x,x+#1[[-1]]["Index"]],y,"Index"]],#2]]&,First/@Rest[NestList[GoFurther[{#[[1,-1]]["BestRule"],2#[[2]],2#[[3]],#[[4]]}]&,{{<|"BestRule"{0,5,1},"BestFitness"1,"Index"0|>},200,500,3456+i},3]]],{i,100}]
Out[]=
BestRule{0,5,1},BestFitness1,Index0,BestRule{1896400662042826559494482036489775362588045905079648517436717206199481840618871235562570,5,1},BestFitness12,Index37,BestRule{60752931654236620961948208985554108451220465239638298875021363405230391546539935953695,5,1},BestFitness15,Index86,BestRule{1008671576163492164318894628872983440174605833399866892773203516175318385649018207281835,5,1},BestFitness63,Index99,BestRule{1008671576163488811657523088553440193743774810234891657170962797809680415678344867444335,5,1},BestFitness255,Index114,
⋯7⋯
,BestRule{1196751875995106687794754303062100365628203022671604536338933134657619012872562279553710,5,1},BestFitness148512,Index801,BestRule{1666949616322172798235637171538268752524935422327600473931866976755028082410678734631835,5,1},BestFitness175582,Index1827,BestRule{1666949616322172798235637171538268752524935422327600473960288686185432090322299828381835,5,1},BestFitness192786,Index1856,BestRule{820593683730125794075868675180275475318953352017269917820445808438872410814090697522460,5,1},BestFitness222666,Index2713,
⋯98⋯
,BestRule{0,5,1},BestFitness1,Index0,
⋯16⋯
,BestRule{
⋯1⋯
},BestFitness
⋯6⋯
,Index2947
Full expression not available
(
original memory size:
1.2 MB)
In[]:=
#[[-1,"BestFitness"]]&/@
122
Out[]=
{222666,89929,582330,169514,234789,264863,262998,238219,177693,276879,412515,203000,202377,79849,62519,220886,292132,286500,445299,197370,623238,179622,137982,247722,38475,324672,269325,72812,204490,259532,173799,284335,284070,302400,320628,373842,413163,385073,150990,648508,510875,184992,54969,383980,140589,452980,548800,138729,308805,252255,200066,328627,190735,161700,5904,294450,340119,389125,288414,187579,242651,297024,264600,6318,390050,308535,281394,78540,91758,234872,143987,321343,310093,347604,181500,474075,207785,124839,348035,349700,244543,388437,314793,280060,294036,225452,531795,270270,244224,217932,272441,659026,90738,307449,298480,23994,481229,440610,295886,379332}
In[]:=
TakeLargest[%,5]
Out[]=
{659026,648508,623238,582330,548800}
In[]:=
Histogram
123

Out[]=
In[]:=
8×200
Out[]=
1600
In[]:=
Labeled[ArrayPlot[CellularAutomaton[#BestRule,{{1},0},1600],ColorRules->"Colors",ImageSize->{Automatic,1600}],{#BestFitness,#Index}]&/@Last/@
122
Out[]=

{222666,2713}
,
{89929,2499}
,
{582330,4811}
,
{169514,2013}
,
{234789,5747}
,
{264863,4909}
,
{262998,3217}
,
{238219,4463}
,
{177693,6045}
,
{276879,4867}
,
{412515,1116}
,
{203000,6409}
,
{202377,3244}
,
{79849,1175}
,
{62519,3358}
,
{220886,4526}
,
{292132,4208}
,
{286500,4413}
,
{445299,3730}
,
{197370,552}
,
{623238,2436}
,
{179622,6337}
,
{137982,4796}
,
{247722,4996}
,
{38475,5604}
,
{324672,1522}
,
{269325,2394}
,
{72812,2490}
,
{204490,4768}
,
{259532,2925}
,
{173799,3398}
,
{284335,4546}
,
{284070,2237}
,
{302400,2768}
,
{320628,4844}
,
{373842,4773}
,
{413163,3831}
,
{385073,3595}
,
{150990,2947}
,
{648508,2760}
,
{510875,4334}
,
{184992,5080}
,
{54969,2670}
,
{383980,3740}
,
{140589,2535}
,
{452980,4724}
,
{548800,5812}
,
{138729,4921}
,
{308805,6306}
,
{252255,2620}
,
{200066,5812}
,
{328627,5035}
,
{190735,5267}
,
{161700,2405}
,
{5904,2023}
,
{294450,1018}
,
{340119,5688}
,
{389125,4413}
,
{288414,2731}
,
{187579,5201}
,
{242651,3216}
,
{297024,3468}
,
{264600,5972}
,
{6318,2924}
,
{390050,2872}
,
{308535,2558}
,
{281394,2532}
,
{78540,4366}
,
{91758,5725}
,
{234872,6335}
,
{143987,6382}
,
{321343,3350}
,
{310093,1379}
,
{347604,4765}
,
{181500,2211}
,
{474075,1532}
,
{207785,5009}
,
{124839,2205}
,
{348035,4629}
,
{349700,1574}
,
{244543,4323}
,
{388437,4193}
,
{314793,2208}
,
{280060,2785}
,
{294036,4200}
,
{225452,5386}
,
{531795,5080}
,
{270270,3117}
,
{244224,4629}
,
{217932,3542}
,
{272441,3651}
,
{659026,3469}
,
{90738,2519}
,
{307449,2277}
,
{298480,1226}
,
{23994,2401}
,
{481229,4934}
,
{440610,3001}
,
{295886,6497}
,
{379332,2947}


Total Cells Fitness

Non-Symmetric Rules