In[]:=
Module[{weights,init,g1,events},​​init={1,0,1,1,1,0,1};​​weights=Select[Association[Thread[#->Map[​​Function[v,TestLifetime[v,init,20]​​],#]]]&[Range[0,2^(2^3)-1,2]],#>0&];​​g1=ElementaryCombineGraph[​​Keys[weights],weights,Max,​​GraphLayout->"LayeredDigraphEmbedding",​​VertexShapeFunction->Function[​​If[ListQ[#2],​​Inset[Graphics[{Lighter@Orange,Disk[]}],#1,Automatic,2#3],​​Inset[Labeled[ArrayPlot[CellularAutomaton[#2,​​Join[{0},init,{0}],weights[#2]],​​Mesh->True,ImageSize->{Automatic,7*(weights[#2]+1)}],​​ArrayPlot[{IntegerDigits[#2,2,8]},​​Mesh->True,ImageSize->60]​​],#1​​]​​]​​]​​,​​EdgeStyle->Gray,VertexStyle->(​​x_:>Switch[Head[x],​​Integer,Lighter[Blue,.7],​​List,LightOrange]),VertexSize->(​​x_:>Switch[Head[x],​​Integer,1/2,​​List,.2])];​​events=GroupBy[Catenate[Map[Function[pair,​​Join[{pair,#},pair]&/@VertexOutComponent[g1,pair,{1}]​​],Cases[VertexList[g1],_List]]],First];​​events=Map[Subgraph[g1,#,​​ImageSize->180,​​VertexCoordinates->{​​{0,0},{0,-1/2},{-.7,1/2},{.7,1/2}​​}]&,events,{2}];​​GraphicsRow[events[{96,136}],Spacings->30]​​]
Out[]=
In[]:=
Module[{weights,init,g1,events},​​init={1,0,1,1,1,0,1};​​weights=Select[Association[Thread[#->Map[​​Function[v,TestLifetime[v,init,20]​​],#]]]&[Range[0,2^(2^3)-1,2]],#>0&];​​g1=ElementaryCombineGraph[​​Keys[weights],weights,Max,​​GraphLayout->"LayeredDigraphEmbedding",​​VertexShapeFunction->Function[​​If[ListQ[#2],​​Inset[Graphics[{Lighter@Orange,Disk[]}],#1,Automatic,2#3],​​Inset[Labeled[ArrayPlot[CellularAutomaton[#2,​​Join[{0},init,{0}],5],​​Mesh->True,ImageSize->{Automatic,7*(5+1)}],​​ArrayPlot[{IntegerDigits[#2,2,8]},​​Mesh->True,ImageSize->60]​​],#1​​]​​]​​]​​,​​EdgeStyle->Gray,VertexStyle->(​​x_:>Switch[Head[x],​​Integer,Lighter[Blue,.7],​​List,LightOrange]),VertexSize->(​​x_:>Switch[Head[x],​​Integer,1/2,​​List,.2])];​​events=GroupBy[Catenate[Map[Function[pair,​​Join[{pair,#},pair]&/@VertexOutComponent[g1,pair,{1}]​​],Cases[VertexList[g1],_List]]],First];​​events=Map[Subgraph[g1,#,​​ImageSize->300,VertexSize->.2,PerformanceGoal->"Quality",​​VertexCoordinates->{​​{0,0},{0,-.7},{-.7,1/2},{.7,1/2}​​}]&,events,{2}];​​GraphicsRow[events[{96,136}],Spacings->50,Dividers->{{3->True,2->True},False}]​​]
Out[]=
In[]:=
Module[{weights,init,g1,events},​​init={1,0,1,1,1,0,1};​​weights=Select[Association[Thread[#->Map[​​Function[v,TestLifetime[v,init,20]​​],#]]]&[Range[0,2^(2^3)-1,2]],#>0&];​​g1=ElementaryCombineGraph[​​Keys[weights],weights,Max,​​GraphLayout->"LayeredDigraphEmbedding",​​VertexShapeFunction->Function[​​If[ListQ[#2],​​Inset[Graphics[{Lighter@Orange,Disk[]}],#1,Automatic,2#3],​​Inset[Labeled[ArrayPlot[CellularAutomaton[#2,​​Join[{0},init,{0}],weights[#2]],​​Mesh->True,ImageSize->{Automatic,5*(weights[#2]+1)}],​​ArrayPlot[{IntegerDigits[#2,2,8]},​​Mesh->True,ImageSize->30]​​],#1​​]​​]​​]​​,​​EdgeStyle->Gray,VertexStyle->(​​x_:>Switch[Head[x],​​Integer,Lighter[Blue,.7],​​List,LightOrange]),VertexSize->(​​x_:>Switch[Head[x],​​Integer,1/2,​​List,.2])];​​events=GroupBy[Catenate[Map[Function[pair,​​Join[{pair,#},pair]&/@VertexOutComponent[g1,pair,{1}]​​],Cases[VertexList[g1],_List]]],First];​​events=Map[Subgraph[g1,#,​​ImageSize->180,​​VertexCoordinates->{​​{0,0},{0,-1/2},{-1,1/2},{1,1/2}​​}]&,events,{2}];​​events​​]
Out[]=
{8,32}
,{8,36}
,{8,96}
,{8,128}
,{8,160}
,{32,64}
,{32,72}
,
,{32,128}
,{32,136}
,{32,192}
,
,{36,72}
,{40,64}
,{40,72}
,{40,96}
,{40,128}
,{40,136}
,{40,160}
,{40,192}
,{64,128}
,{72,96}
,{72,128}
,{72,160}
,{96,128}
,
,{96,136}
,
,
,{96,160}
,{96,192}
,{104,128}
,{104,136}
,{104,160}
,{136,160}
,{160,192}
