Correspondence with Geometric Structures
Correspondence with Geometric Structures
In[]:=
StringToNumber[s_String]:=FromDigits[{(ToExpression/@Characters[StringReplace[s,{"A""0","B""1"}]]),0},2]
In[]:=
MultiwaySystem[{"A""AA","B""AB"},{"ABA"},3]
Out[]=
{{ABA},{AABA,ABAA},{AAABA,AABAA,ABAAA},{AAAABA,AAABAA,AABAAA,ABAAAA}}
In[]:=
ListPlot[Flatten[MapIndexed[{StringToNumber[#],-#2[[1]]}&,MultiwaySystem[{"A""AA","B""AB"},{"ABA"},3],{2}],1]]
Out[]=
In[]:=
ListPlot[Flatten[MapIndexed[{StringToNumber[#],-#2[[1]]}&,MultiwaySystem[{"A""AA","B""AB"},{"ABA"},8],{2}],1]]
Out[]=
In[]:=
ListPlot[Flatten[MapIndexed[{StringToNumber[#],-#2[[1]]}&,MultiwaySystem[{"A""AB","B""A"},{"A"},8],{2}],1]]
Out[]=
In[]:=
MultiwaySystem[{"A""AA","B""AB"},{"ABA"},3,"PredecessorRulesList"]
Out[]=
{{ABA{}},{AABA{ABA,ABA},ABAA{ABA}},{AAABA{AABA,AABA,AABA},AABAA{AABA,ABAA,ABAA},ABAAA{ABAA,ABAA}},{AAAABA{AAABA,AAABA,AAABA,AAABA},AAABAA{AAABA,AABAA,AABAA,AABAA},AABAAA{AABAA,AABAA,ABAAA,ABAAA},ABAAAA{ABAAA,ABAAA,ABAAA}}}
In[]:=
MultiwayLineDrawing[rule_,init_,n_]:=Graphics[MapIndexed[Arrow[Line[Reverse@{{StringToNumber[#[[1]]],-#2[[1]]},{StringToNumber[#[[2]]],-#2[[1]]+1}}]]&,Flatten/@Map[Thread,MultiwaySystem[rule,init,n,"PredecessorRulesList"],{2}],{2}],AspectRatio1]
In[]:=
MultiwayLineDrawing[{"B""BB"},{"B"},4]
Out[]=
In[]:=
MultiwayLineDrawing[{"B""BB","B""B"},{"B"},7]
Out[]=
In[]:=
MultiwayLineDrawing[{"A""AB","B""A"},{"A"},8]
Out[]=
From page 206:
In[]:=
MultiwayLineDrawing[{"AB""","ABA""ABBAB","ABABBB""AAAAABA"},{"ABABAB"},10]
Out[]=
In[]:=
MultiwayLineDrawing[{"AB""","ABA""ABBAB","ABABBB""AAAAABA"},{"ABABAB"},20]
Out[]=
From page 209: