In[]:=
<<SetReplace`
In[]:=
DeadEndEvents[evolution_,t_]:=Module[{terminalEvents},terminalEvents=First/@Position[0]@VertexOutDegree@evolution["LayeredCausalGraph"];terminalEvents〚First/@Position[Except[t,_Integer]]@evolution["AllEventsGenerationsList"]〚terminalEvents〛〛]
In[]:=
DeadEndEvents[rule_,init_,t_]:=DeadEndEvents[WolframModel[rule,init,t],t]
In[]:=
DeadEndEdges[rule_,init_,t_]:=Module[{evolution,deadEndEvents},evolution=WolframModel[rule,init,t];deadEndEvents=DeadEndEvents[evolution,t];evolution["AllEventsEdgesList"]〚First/@Position[Alternatives@@deadEndEvents]@evolution["EdgeCreatorEventIndices"]〛]
In[]:=
DeadEndEvents[{{1,2,3}}{{4,2,5},{4,5,1},{5,1,3}},Automatic,5]
Out[]=
{}
In[]:=
DeadEndEvents[{{{1,2},{2,3}}{{2,3},{2,4},{3,4}},{{1,2},{1,3}}{{1,2,3}}},{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},10]
Out[]=
{5,7,8,10,11}
In[]:=
WolframModel[{{{1,2},{2,3}}{{2,3},{2,4},{3,4}},{{1,2},{1,3}}{{1,2,3}}},{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},10]["LayeredCausalGraph",VertexLabelsAutomatic]
Out[]=
In[]:=
DeadEndEdges[{{{1,2},{2,3}}{{2,3},{2,4},{3,4}},{{1,2},{1,3}}{{1,2,3}}},{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},10]
Out[]=
{{1,2,2},{1,3,1},{1,4,4},{1,5,3},{1,6,5}}
In[]:=
WolframModel[{{{1,2},{2,3}}{{2,3},{2,4},{3,4}},{{1,2},{1,3}}{{1,2,3}}},{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},5]["FinalStatePlot",VertexLabelsAutomatic]
Out[]=