In[]:=
Graph[MultiwaySystem[{"A""AB","B""A"},{"A"},6,"StatesGraph"],VertexLabels(#Red&/@VertexList[GenerationalMultiwaySystem[{"A""AB","B""A"},{"A"},5,"StatesGraph"]])]
In[]:=
GenerationalMultiwaySystem[{"A""AB","B""A"},{"A"},5,"StatesGraph"]
Out[]=
In[]:=
Graph[MultiwaySystem[{"A""AB","B""A"},{"A"},6,"StatesGraph"],VertexLabels(#Red&/@VertexList[GenerationalMultiwaySystem[{"A""AB","B""A"},{"A"},5,"StatesGraph"]])]
Out[]=
In[]:=
graph=;
In[]:=
foliationLine[coordinates_,style_:Red][extraPoints_,chosenVertices_]:=Module[{chosenCoordinates=Join[coordinates/@chosenVertices,extraPoints],nearest1,nearest2,coordinateBounds=CoordinateBounds[coordinates]},{nearest1,nearest2}=Nearest/@{chosenCoordinates,Complement[Values[coordinates],chosenCoordinates]};{ContourPlot[EuclideanDistance[nearest1[{x,y}]〚1〛,{x,y}]-EuclideanDistance[nearest2[{x,y}]〚1〛,{x,y}]0,{x,coordinateBounds〚1,1〛,coordinateBounds〚1,2〛},{y,coordinateBounds〚2,1〛,coordinateBounds〚2,2〛},ContourStylestyle,FrameFalse],Table[With[{x=x},Module[{func},func[y_?NumericQ]:=EuclideanDistance[nearest1[{x,y}]〚1〛,{x,y}]-EuclideanDistance[nearest2[{x,y}]〚1〛,{x,y}];{x,y/.FindRoot[func[y]0,{y,coordinateBounds〚2,1〛,coordinateBounds〚2,2〛}]}]],{x,coordinateBounds〚1,1〛,coordinateBounds〚1,2〛,1}];{}}]
In[]:=
foliationGraphics[graph_,vertexList_]:=foliationGraphics[graph,vertexList,{0,0}]
In[]:=
foliationGraphics[graph_,vertexLists_,{yGap_,xGap_}]:=Quiet[Module[{vertexCoordinates=Association[Thread[VertexList[graph](VertexCoordinates/.AbsoluteOptions[graph,VertexCoordinates]〚1〛)]],lines},FoldPairList[foliationLine[Function[{x,y},{Sign[x]Max[Abs[x]-xGap(#2〚1〛-(Length[vertexLists]+1)/2),0],y-yGap(#2〚1〛-(Length[vertexLists]+1)/2)}]@@@vertexCoordinates][#,#2〚2〛]&,{},Transpose@{Range[Length[vertexLists]],vertexLists}]],{NearestFunction::neard,FindRoot::cvmit}]
In[]:=
drawFoliation[graph_,vertexLists_,gapSpec___]:=Show[graph,foliationGraphics[graph,vertexLists,gapSpec]]
In[]:=
drawFoliation[Graph[MultiwaySystem[{"A""AB","B""A"},{"A"},6,"StatesGraph"],VertexShapeFunctionAlternatives@@VertexList[GenerationalMultiwaySystem[{"A""AB","B""A"},{"A"},5,"StatesGraph"]]Text[Framed[Style[stripMetadata[#2],Hue[0,1,0.48]],Background->Directive[Opacity[.2],Hue[0,0.45,0.87]], FrameMargins->{{2,2},{0,0}},RoundingRadius->0,FrameStyle->Directive[Opacity[0.5],Hue[0,0.52,0.8200000000000001]]],#1,{0,0}]&],{{"A","AB","AA","ABB","ABA"},{"A","AB","AA","ABB","ABA","AAB","ABBB"},{"A","AB","AA","ABB","ABA","AAB","ABBB","AABB","ABBBB"},{"A","AB","AA","ABB","ABA","AAB","ABBB","AABB","ABBBB","ABBBBB","AABBB"}},0.1]
Out[]=
In[]:=
Framed[Style["ABA",Hue[0,1,0.48]],Background->Directive[Opacity[.2],Hue[0,0.45,0.87]], FrameMargins->{{2,2},{0,0}},RoundingRadius->0,FrameStyle->Directive[Opacity[0.5],Hue[0,0.52,0.8200000000000001]]]
Branchlike separation
Branchlike separation
Pyramid foliation
Pyramid foliation
Another system
Another system