[assumes Code-01]
[assumes Code-01]
k=2, r=1
k=2, r=1
In[]:=
CANearestNeighborGraph[2,1,Range[0,2^(2^3)-1,2],EdgeStyle->Gray,VertexStyle->Directive[EdgeForm[Opacity[.5]],LightGray]]IsomorphicGraphQ[%,GridGraph[Table[2,7]]]
Out[]=
Out[]=
True
[See BusyBeaver-01]
In[]:=
Table[If[MissingQ[#[[2]]],Nothing,#]&[n->FirstPosition[Total/@CellularAutomaton[n,{{1,1,1,1,1,1,1},0},{20,All}],0]],{n,0,255,2}]
Out[]=
{0{2},4{2},8{3},32{2},36{2},40{3},64{3},72{3},96{3},104{3},128{5},136{8},160{5},168{8},192{8},224{8}}
In[]:=
ArrayPlot[CellularAutomaton[#,{{1,1,1,1,1,1,1},0},{10,All}],Mesh->True,ImageSize->Tiny]&/@Keys[%]
Out[]=
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
In[]:=
With[{posweights=Select[Association[Thread[#->Map[Function[v,quickLifetime[{1,1,1,1,1,1,1},20][v]],#]]]&[Range[0,2^(2^3)-1,2]],#>0&]},CANearestNeighborGraph[2,1,Keys[posweights],posweights,EdgeStyle->Gray,VertexStyle->Directive[EdgeForm[Opacity[.5]],LightGray],GraphLayout->{"LayeredDigraphEmbedding","RootVertex"->0},VertexSize->KeyValueMap[#1->(1/4)Sqrt[#2]&,posweights],VertexLabels->Placed[Automatic,Center],PerformanceGoal->"Quality"]]
Out[]=
In[]:=
With[{posweights=Select[Association[Thread[#->Map[Function[v,quickLifetime[{1},20][v]],#]]]&[Range[0,2^(2^3)-1,2]],#>0&]},CANearestNeighborGraph[2,1,Keys[posweights],posweights,EdgeStyle->Gray,VertexStyle->Directive[EdgeForm[Opacity[.5]],LightGray],GraphLayout->{"LayeredDigraphEmbedding","RootVertex"->0},VertexSize->KeyValueMap[#1->(1/4)Sqrt[#2]&,posweights],VertexLabels->Placed[Automatic,Center],PerformanceGoal->"Quality"]]
Out[]=
In[]:=
With[{posweights=Select[Association[Thread[#->Map[Function[v,quickLifetime[{1,0,1,1},20][v]],#]]]&[Range[0,2^(2^3)-1,2]],#>0&]},CANearestNeighborGraph[2,1,Keys[posweights],posweights,EdgeStyle->Gray,VertexStyle->Directive[EdgeForm[Opacity[.5]],LightGray],GraphLayout->{"LayeredDigraphEmbedding","RootVertex"->0},VertexSize->KeyValueMap[#1->(1/4)Sqrt[#2]&,posweights],VertexLabels->Placed[Automatic,Center],PerformanceGoal->"Quality"]]
Out[]=
In[]:=
Table[If[MissingQ[#[[2]]],Nothing,#]&[n->FirstPosition[Total/@CellularAutomaton[n,{{1,0,1,1},0},{20,All}],0]],{n,0,255,2}]
Out[]=
{0{2},8{3},32{3},36{3},40{4},64{3},96{4},104{5},128{2},136{3},160{3},164{3},168{4},192{3},224{4}}
In[]:=
ArrayPlot[CellularAutomaton[#,{{1,0,1,1},0},{5,All}],Mesh->True,ImageSize->Tiny]&/@Keys[%32]
Out[]=
,
,
,
,
,
,
,
,
,
,
,
,
,
,
In[]:=
With[{posweights=Select[Association[Thread[#->Map[Function[v,quickLifetime[{1,1,1,1,1},20][v]],#]]]&[Range[0,2^(2^3)-1,2]],#>0&]},CANearestNeighborGraph[2,1,Keys[posweights],posweights,EdgeStyle->Gray,VertexStyle->Directive[EdgeForm[Opacity[.5]],LightGray],GraphLayout->{"LayeredDigraphEmbedding","RootVertex"->0},VertexSize->KeyValueMap[#1->(1/4)Sqrt[#2]&,posweights],VertexLabels->Placed[Automatic,Center],PerformanceGoal->"Quality"]]
k=2, r=3/2
k=2, r=3/2
[[ What is the probability to get to the maximum fitness by random choices of a single walker? ]]
This has speciated....
These are the “uncommitted” cases: (all variants of universal common ancestor)
I.e. you can reach everything from 0, assuming you allow all mutations.....
Lifetime distribution
Lifetime distribution
{1,1,1,0,1,1} case:
Can allow a different level of non-optimality at each step
Can allow a different level of non-optimality at each step
Assume that you always pick the “top fitness” choices at each step
Keep top 2 fitnesses at each step:
Can get rid of “lateral edges”....
<<<< We want to take the original graph, and simply prune things one can’t reach by maximum-fitness-at-each-step moves >>>>
k=2, r=1, multiparent
k=2, r=1, multiparent