Code


​

Take any MultiwayGraph
In[]:=
mwg=NestGraph[x|->StringReplaceList[x,"A"->"AB"],"AA",5];
In[]:=
Graph[mwg,VertexLabelsAutomatic]
Out[]=
Get some foliations of it:
In[]:=
foliations=ResourceFunction["GraphFoliations"][mwg,MaxItems->5,"BundleFoliations"->True];
It is hard to visualize them nicely, but it’s still something:
In[]:=
ResourceFunction["LayeredLayoutGraph"][mwg,#]&/@foliations
Out[]=

,
,
,
,

In[]:=
FoliationDiagram[mwg,#,PlotPoints->200]&/@foliations
Out[]=

,
,
,
,

Generate branchial slices for each foliation:
In[]:=
branchialGraphs=branchialGraphList[mwg,#]&/@foliations;
In[]:=
Grid[branchialGraphs,Frame->All]
Out[]=
For each state count the number of edges (completions) in the corresponding slice and the time step of its generation:
In[]:=
stateTimeCompletions=MapIndexed[AssociationThread[VertexList[#],<|"TimeStep"->First[#2],"NumberOfCompletions"->EdgeCount[#]|>]&,#]&/@branchialGraphs
Out[]=
{{AABTimeStep1,NumberOfCompletions1,ABATimeStep1,NumberOfCompletions1,AABBTimeStep2,NumberOfCompletions2,ABABTimeStep2,NumberOfCompletions2,ABBATimeStep2,NumberOfCompletions2,AABBBTimeStep3,NumberOfCompletions3,ABABBTimeStep3,NumberOfCompletions3,ABBABTimeStep3,NumberOfCompletions3,ABBBATimeStep3,NumberOfCompletions3,AABBBBTimeStep4,NumberOfCompletions4,ABABBBTimeStep4,NumberOfCompletions4,ABBABBTimeStep4,NumberOfCompletions4,ABBBABTimeStep4,NumberOfCompletions4,ABBBBATimeStep4,NumberOfCompletions4,ABBBABBTimeStep5,NumberOfCompletions2,ABBBBABTimeStep5,NumberOfCompletions2,ABBBBBATimeStep5,NumberOfCompletions2,},{AABTimeStep1,NumberOfCompletions1,ABATimeStep1,NumberOfCompletions1,AABBTimeStep2,NumberOfCompletions2,ABABTimeStep2,NumberOfCompletions2,ABBATimeStep2,NumberOfCompletions2,AABBBTimeStep3,NumberOfCompletions3,ABABBTimeStep3,NumberOfCompletions3,ABBABTimeStep3,NumberOfCompletions3,ABBBATimeStep3,NumberOfCompletions3,ABBABBTimeStep4,NumberOfCompletions2,ABBBABTimeStep4,NumberOfCompletions2,ABBBBATimeStep4,NumberOfCompletions2,ABBBABBTimeStep5,NumberOfCompletions2,ABBBBABTimeStep5,NumberOfCompletions2,ABBBBBATimeStep5,NumberOfCompletions2,ABABBBBTimeStep6,NumberOfCompletions1,ABBABBBTimeStep6,NumberOfCompletions1},{AABTimeStep1,NumberOfCompletions1,ABATimeStep1,NumberOfCompletions1,AABBTimeStep2,NumberOfCompletions2,ABABTimeStep2,NumberOfCompletions2,ABBATimeStep2,NumberOfCompletions2,AABBBTimeStep3,NumberOfCompletions3,ABABBTimeStep3,NumberOfCompletions3,ABBABTimeStep3,NumberOfCompletions3,ABBBATimeStep3,NumberOfCompletions3,ABABBBTimeStep4,NumberOfCompletions3,ABBABBTimeStep4,NumberOfCompletions3,ABBBABTimeStep4,NumberOfCompletions3,ABBBBATimeStep4,NumberOfCompletions3,ABBBABBTimeStep5,NumberOfCompletions2,ABBBBABTimeStep5,NumberOfCompletions2,ABBBBBATimeStep5,NumberOfCompletions2,AABBBBBTimeStep6,NumberOfCompletions1,ABABBBBTimeStep6,NumberOfCompletions1},{AABTimeStep1,NumberOfCompletions1,ABATimeStep1,NumberOfCompletions1,AABBTimeStep2,NumberOfCompletions2,ABABTimeStep2,NumberOfCompletions2,ABBATimeStep2,NumberOfCompletions2,AABBBTimeStep3,NumberOfCompletions3,ABABBTimeStep3,NumberOfCompletions3,ABBABTimeStep3,NumberOfCompletions3,ABBBATimeStep3,NumberOfCompletions3,ABBABBTimeStep4,NumberOfCompletions2,ABBBABTimeStep4,NumberOfCompletions2,ABBBBATimeStep4,NumberOfCompletions2,ABBBABBTimeStep5,NumberOfCompletions2,ABBBBABTimeStep5,NumberOfCompletions2,ABBBBBATimeStep5,NumberOfCompletions2,AABBBBBTimeStep6,NumberOfCompletions2,ABABBBBTimeStep6,NumberOfCompletions2,ABBABBBTimeStep6,NumberOfCompletions2},{AABTimeStep1,NumberOfCompletions1,ABATimeStep1,NumberOfCompletions1,AABBTimeStep2,NumberOfCompletions2,ABABTimeStep2,NumberOfCompletions2,ABBATimeStep2,NumberOfCompletions2,ABABBTimeStep3,NumberOfCompletions2,ABBABTimeStep3,NumberOfCompletions2,ABBBATimeStep3,NumberOfCompletions2,ABBABBTimeStep4,NumberOfCompletions2,ABBBABTimeStep4,NumberOfCompletions2,ABBBBATimeStep4,NumberOfCompletions2,AABBBBTimeStep5,NumberOfCompletions3,ABABBBTimeStep5,NumberOfCompletions3,ABBBABBTimeStep5,NumberOfCompletions3,ABBBBABTimeStep5,NumberOfCompletions3,ABBBBBATimeStep5,NumberOfCompletions3,AABBBBBTimeStep6,NumberOfCompletions2,ABABBBBTimeStep6,NumberOfCompletions2,ABBABBBTimeStep6,NumberOfCompletions2}}
Merge them:
In[]:=
Merge[stateTimeCompletions,Merge[#,Identity]&]
Out[]=
AABTimeStep{1,1,1,1,1},NumberOfCompletions{1,1,1,1,1},ABATimeStep{1,1,1,1,1},NumberOfCompletions{1,1,1,1,1},AABBTimeStep{2,2,2,2,2},NumberOfCompletions{2,2,2,2,2},ABABTimeStep{2,2,2,2,2},NumberOfCompletions{2,2,2,2,2},ABBATimeStep{2,2,2,2,2},NumberOfCompletions{2,2,2,2,2},AABBBTimeStep{3,3,3,3},NumberOfCompletions{3,3,3,3},ABABBTimeStep{3,3,3,3,3},NumberOfCompletions{3,3,3,3,2},ABBABTimeStep{3,3,3,3,3},NumberOfCompletions{3,3,3,3,2},ABBBATimeStep{3,3,3,3,3},NumberOfCompletions{3,3,3,3,2},AABBBBTimeStep{4,5},NumberOfCompletions{4,3},ABABBBTimeStep{4,4,5},NumberOfCompletions{4,3,3},ABBABBTimeStep{4,4,4,4,4},NumberOfCompletions{4,2,3,2,2},ABBBABTimeStep{4,4,4,4,4},NumberOfCompletions{4,2,3,2,2},ABBBBATimeStep{4,4,4,4,4},NumberOfCompletions{4,2,3,2,2},ABBBABBTimeStep{5,5,5,5,5},NumberOfCompletions{2,2,2,2,3},ABBBBABTimeStep{5,5,5,5,5},NumberOfCompletions{2,2,2,2,3},ABBBBBATimeStep{5,5,5,5,5},NumberOfCompletions{2,2,2,2,3},ABABBBBTimeStep{6,6,6,6},NumberOfCompletions{1,1,2,2},ABBABBBTimeStep{6,6,6},NumberOfCompletions{1,2,2},AABBBBBTimeStep{6,6,6},NumberOfCompletions{1,2,2}