Attempts to make a more efficient MAToNet[ ]
Attempts to make a more efficient MAToNet[ ]
%345
{7,6,7,8,7,6,5,4,5,6,7,8,9,8,9,10,9,8,7,6,7,6,7,8,9,10,11,10,11,12,11}
Do[u[i]=Position[list,i]]
Transpose[{%,Range[Length[%]]}]
{{7,1},{6,2},{7,3},{8,4},{7,5},{6,6},{5,7},{4,8},{5,9},{6,10},{7,11},{8,12},{9,13},{8,14},{9,15},{10,16},{9,17},{8,18},{7,19},{6,20},{7,21},{6,22},{7,23},{8,24},{9,25},{10,26},{11,27},{10,28},{11,29},{12,30},{11,31}}
Sort[%]
{{4,8},{5,7},{5,9},{6,2},{6,6},{6,10},{6,20},{6,22},{7,1},{7,3},{7,5},{7,11},{7,19},{7,21},{7,23},{8,4},{8,12},{8,14},{8,18},{8,24},{9,13},{9,15},{9,17},{9,25},{10,16},{10,26},{10,28},{11,27},{11,29},{11,31},{12,30}}
Split[%,(First[#1]==First[#2])&]
{{{4,8}},{{5,7},{5,9}},{{6,2},{6,6},{6,10},{6,20},{6,22}},{{7,1},{7,3},{7,5},{7,11},{7,19},{7,21},{7,23}},{{8,4},{8,12},{8,14},{8,18},{8,24}},{{9,13},{9,15},{9,17},{9,25}},{{10,16},{10,26},{10,28}},{{11,27},{11,29},{11,31}},{{12,30}}}
Map[Last,%,{2}]
{{8},{7,9},{2,6,10,20,22},{1,3,5,11,19,21,23},{4,12,14,18,24},{13,15,17,25},{16,26,28},{27,29,31},{30}}
Join[#,Table[inf,{7-Length[#]}]]&/@%
{{8,inf,inf,inf,inf,inf,inf},{7,9,inf,inf,inf,inf,inf},{2,6,10,20,22,inf,inf},{1,3,5,11,19,21,23},{4,12,14,18,24,inf,inf},{13,15,17,25,inf,inf,inf},{16,26,28,inf,inf,inf,inf},{27,29,31,inf,inf,inf,inf},{30,inf,inf,inf,inf,inf,inf}}
fff[list_]:=MapIndexed[(#1->Map[Function[u,Extract[list,#2+u]],{{-1,0},{0,1},{1,0}}])&,list,{2}]
fff[%373]
%/.HoldPattern[Extract[___]]->inf
{{8{inf,inf,7},inf{inf,inf,9},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}},{7{8,9,2},9{inf,inf,6},inf{inf,inf,10},inf{inf,inf,20},inf{inf,inf,22},inf{inf,inf,inf},inf{inf,inf,inf}},{2{7,6,1},6{9,10,3},10{inf,20,5},20{inf,22,11},22{inf,inf,19},inf{inf,inf,21},inf{inf,inf,23}},{1{2,3,4},3{6,5,12},5{10,11,14},11{20,19,18},19{22,21,24},21{inf,23,inf},23{inf,inf,inf}},{4{1,12,13},12{3,14,15},14{5,18,17},18{11,24,25},24{19,inf,inf},inf{21,inf,inf},inf{23,inf,inf}},{13{4,15,16},15{12,17,26},17{14,25,28},25{18,inf,inf},inf{24,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}},{16{13,26,27},26{15,28,29},28{17,inf,31},inf{25,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}},{27{16,29,30},29{26,31,inf},31{28,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}},{30{27,inf,inf},inf{29,inf,inf},inf{31,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}}}
Sort[Flatten[%]]
{1{2,3,4},2{7,6,1},3{6,5,12},4{1,12,13},5{10,11,14},6{9,10,3},7{8,9,2},8{inf,inf,7},9{inf,inf,6},10{inf,20,5},11{20,19,18},12{3,14,15},13{4,15,16},14{5,18,17},15{12,17,26},16{13,26,27},17{14,25,28},18{11,24,25},19{22,21,24},20{inf,22,11},21{inf,23,inf},22{inf,inf,19},23{inf,inf,inf},24{19,inf,inf},25{18,inf,inf},26{15,28,29},27{16,29,30},28{17,inf,31},29{26,31,inf},30{27,inf,inf},31{28,inf,inf},inf{21,inf,inf},inf{23,inf,inf},inf{24,inf,inf},inf{25,inf,inf},inf{29,inf,inf},inf{31,inf,inf},inf{inf,inf,9},inf{inf,inf,10},inf{inf,inf,20},inf{inf,inf,21},inf{inf,inf,22},inf{inf,inf,23},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}}
Join[{Table[inf,{7}]},%373,{Table[inf,{7}]}];
%382
{{inf,inf,inf,inf,inf,inf,inf},{8,inf,inf,inf,inf,inf,inf},{7,9,inf,inf,inf,inf,inf},{2,6,10,20,22,inf,inf},{1,3,5,11,19,21,23},{4,12,14,18,24,inf,inf},{13,15,17,25,inf,inf,inf},{16,26,28,inf,inf,inf,inf},{27,29,31,inf,inf,inf,inf},{30,inf,inf,inf,inf,inf,inf},{inf,inf,inf,inf,inf,inf,inf}}
Map[Transpose,Partition[%,3,1]]
{{{inf,8,7},{inf,inf,9},{inf,inf,inf},{inf,inf,inf},{inf,inf,inf},{inf,inf,inf},{inf,inf,inf}},{{8,7,2},{inf,9,6},{inf,inf,10},{inf,inf,20},{inf,inf,22},{inf,inf,inf},{inf,inf,inf}},{{7,2,1},{9,6,3},{inf,10,5},{inf,20,11},{inf,22,19},{inf,inf,21},{inf,inf,23}},{{2,1,4},{6,3,12},{10,5,14},{20,11,18},{22,19,24},{inf,21,inf},{inf,23,inf}},{{1,4,13},{3,12,15},{5,14,17},{11,18,25},{19,24,inf},{21,inf,inf},{23,inf,inf}},{{4,13,16},{12,15,26},{14,17,28},{18,25,inf},{24,inf,inf},{inf,inf,inf},{inf,inf,inf}},{{13,16,27},{15,26,29},{17,28,31},{25,inf,inf},{inf,inf,inf},{inf,inf,inf},{inf,inf,inf}},{{16,27,30},{26,29,inf},{28,31,inf},{inf,inf,inf},{inf,inf,inf},{inf,inf,inf},{inf,inf,inf}},{{27,30,inf},{29,inf,inf},{31,inf,inf},{inf,inf,inf},{inf,inf,inf},{inf,inf,inf},{inf,inf,inf}}}
Dimensions[%]
{9,7,3}
MapThread[(#1->#2)&,{%373,%383},2]
{{8{inf,8,7},inf{inf,inf,9},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}},{7{8,7,2},9{inf,9,6},inf{inf,inf,10},inf{inf,inf,20},inf{inf,inf,22},inf{inf,inf,inf},inf{inf,inf,inf}},{2{7,2,1},6{9,6,3},10{inf,10,5},20{inf,20,11},22{inf,22,19},inf{inf,inf,21},inf{inf,inf,23}},{1{2,1,4},3{6,3,12},5{10,5,14},11{20,11,18},19{22,19,24},21{inf,21,inf},23{inf,23,inf}},{4{1,4,13},12{3,12,15},14{5,14,17},18{11,18,25},24{19,24,inf},inf{21,inf,inf},inf{23,inf,inf}},{13{4,13,16},15{12,15,26},17{14,17,28},25{18,25,inf},inf{24,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}},{16{13,16,27},26{15,26,29},28{17,28,31},inf{25,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}},{27{16,27,30},29{26,29,inf},31{28,31,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}},{30{27,30,inf},inf{29,inf,inf},inf{31,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}}}
Sort[Flatten[%]]
{1{2,1,4},2{7,2,1},3{6,3,12},4{1,4,13},5{10,5,14},6{9,6,3},7{8,7,2},8{inf,8,7},9{inf,9,6},10{inf,10,5},11{20,11,18},12{3,12,15},13{4,13,16},14{5,14,17},15{12,15,26},16{13,16,27},17{14,17,28},18{11,18,25},19{22,19,24},20{inf,20,11},21{inf,21,inf},22{inf,22,19},23{inf,23,inf},24{19,24,inf},25{18,25,inf},26{15,26,29},27{16,27,30},28{17,28,31},29{26,29,inf},30{27,30,inf},31{28,31,inf},inf{21,inf,inf},inf{23,inf,inf},inf{24,inf,inf},inf{25,inf,inf},inf{29,inf,inf},inf{31,inf,inf},inf{inf,inf,9},inf{inf,inf,10},inf{inf,inf,20},inf{inf,inf,21},inf{inf,inf,22},inf{inf,inf,23},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf},inf{inf,inf,inf}}
Alex Macaulay's version
Alex Macaulay's version
MAToNet4[list_]:=Module[{u},u[_]={∞};Do[u[list〚i〛]={i,u[list〚i〛]},{i,Length[list],1,-1}];MapIndexed[First[#2]First/@{u[#1-1],u[#1]=Last[u[#1]],u[#1+1]}&,list]]
Last/@MMAEvolveList[mrs[[3]],MAInitialState[501],1000];
MAToNet4[%];
Position[%435,Infinity,Infinity,1]
{{911,2,1}}
%435[[911]]
911{∞,∞,912}
Differences[NeighborCounts[%
NeighborCountsI[g_,i0_,n_]:=Map[If[MemberQ[#,Infinity],Infinity,Length[#]]&,Module[{gp=Dispatch[Prepend[g,∞->{∞}]]},NestList[Union[Flatten[{#,#/.gp}]]&,{i0},n]]]
NeighborCountsI[%435,1,50]
$Aborted
NeighborCountsI[%435,1,10]
{1,4,9,16,27,46,68,95,124,∞,∞}
Differences[%]
{3,5,7,11,19,22,27,29,∞,Indeterminate}