Signature:
symbol: L->R
Rules with only one LHS
? Enough to start with LHS

2: 22

StringTuples["AB",2]
In[]:=
{AA,AB,BA,BB}
Out[]=
allrules=Rule@@@Tuples[{StringTuples["AB",2],StringTuples["AB",2]}]
In[]:=
{AAAA,AAAB,AABA,AABB,ABAA,ABAB,ABBA,ABBB,BAAA,BAAB,BABA,BABB,BBAA,BBAB,BBBA,BBBB}
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},{First[#]},4,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",2],4,"StatesGraphStructure"]#&,allrules]]
In[]:=
Parallel`Protected`PacketHandler
::default
:Unhandled packet SyntaxPacket[58] received and discarded from KernelObject
Name: \macpro-basement
KernelID: \60
.
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",4],4,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",4],7,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
Confluence is visible through diamonds....
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",7],7,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",7],7,"StatesGraph"]&,{"AB""BA","AB""AA"}]
In[]:=
Out[]=
ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",10],10,"StatesGraphStructure"]&,{"AB""BA","AB""AA"}]
In[]:=
Out[]=
GraphPlot3D

In[]:=
Out[]=
GraphPlot3D[First[%916]]
In[]:=
Out[]=
MultiwaySystem[{"BA""AB"},{"BBBBBBBAAAAAAA"},20,"StatesGraphStructure"]
In[]:=
Out[]=
GraphPlot3D[%]
In[]:=
Out[]=
MultiwaySystem[{"BA""AB"},{"BBBAAA"},20,"StatesGraphStructure"]
In[]:=
Out[]=
MultiwaySystem[{"BA""AB"},{"BBBBAAAA"},20,"StatesGraphStructure"]
In[]:=
Out[]=
GraphPlot3D[%923]
In[]:=
Out[]=
MultiwaySystem[{"AB""AA"},{"ABABAB"},20,"StatesGraphStructure"]
In[]:=
Out[]=
MultiwaySystem[{"AB""AA"},{"ABABABABA"},30,"StatesGraphStructure"]
In[]:=
Out[]=
Close to a hypercube......
Graph[%,GraphLayout"SpringElectricalEmbedding"]
In[]:=
Out[]=
VertexDegree

In[]:=
{4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4}
Out[]=
MultiwaySystem[{"AB""AA"},{"ABABABABAB"},30,"StatesGraphStructure"]
In[]:=
Out[]=
VertexDegree

In[]:=
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5}
Out[]=
Length[%]
In[]:=
32
Out[]=
Effectively recursively generates n-d hypercube.

2: 23

StringTuples["AB",2]
In[]:=
{AA,AB,BA,BB}
Out[]=
allrules=Rule@@@Tuples[{StringTuples["AB",2],StringTuples["AB",3]}]
In[]:=
{AAAAA,AAAAB,AAABA,AAABB,AABAA,AABAB,AABBA,AABBB,ABAAA,ABAAB,ABABA,ABABB,ABBAA,ABBAB,ABBBA,ABBBB,BAAAA,BAAAB,BAABA,BAABB,BABAA,BABAB,BABBA,BABBB,BBAAA,BBAAB,BBABA,BBABB,BBBAA,BBBAB,BBBBA,BBBBB}
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},{First[#]},7,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},{First[#]},4,"StatesGraph"]#&,allrules]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},{"AAA"},7,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",2],7,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",3],7,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",3],4,"StatesGraph"]#&,{"AB""ABA","AA""AAB"}]
In[]:=
Out[]=
​
MultiwaySystem[{"AB""ABA"},StringTuples["ABB",3],4,"StatesGraph"]
In[]:=
Out[]=
MultiwaySystem[{"AB""ABA"},{"ABB"},15,"StatesGraphStructure"]
In[]:=
Out[]=
LayeredGraphPlot[MultiwaySystem[{"AB""ABA"},{"ABB"},15,"CausalGraphStructure","IncludeStepNumber"True]]
In[]:=
Out[]=
MultiwaySystem[{"AA""AAB"},{"AAA"},15,"StatesGraphStructure"]
In[]:=
Out[]=
MultiwaySystem[{"AA""AAB"},{"AAAA"},15,"StatesGraphStructure"]
In[]:=
Out[]=
MultiwaySystem[{"AA""AAB"},{"AAAAA"},15,"StatesGraphStructure"]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",4],7,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",4],9,"StatesGraphStructure"]#&,allrules]]
In[]:=
Out[]=
{AAABA,ABBAA,ABABA}
CausalInvariantQ[{"AA""ABA"},#,7]&/@StringTuples["AB",4]
In[]:=
{True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True}
Out[]=
CausalInvariantQ[{"AB""BAA"},#,7]&/@StringTuples["AB",4]
In[]:=
{True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True}
Out[]=
CausalInvariantQ[{"AB""ABA"},#,7]&/@StringTuples["AB",4]
In[]:=
{True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True}
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[Function[r,Labeled[MultiwaySystem[{r},StringTuples["AB",4],9,"StatesGraphStructure"],Counts[CausalInvariantQ[{r},#,7]&/@StringTuples["AB",4]]]r],allrules]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",4],9,"CausalGraphStructure"]#&,{"AA""ABA","AA""AAA","AB""ABA","AB""ABB"}]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",3],6,"CausalGraphStructure"]#&,{"AA""ABA","AA""AAA","AB""ABA","AB""ABB"}]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",2],6,"CausalGraphStructure"]#&,{"AA""ABA","AA""AAA","AB""ABA","AB""ABB"}]]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[MultiwaySystem[{#},StringTuples["AB",3],6,"CausalGraphStructure"]#&,{"AA""ABA","AA""AAA","AB""ABA","AB""ABB"}]]
In[]:=
Out[]=
​
​
ConnectedGraphComponentsUndirectedGraph@

In[]:=
Out[]=
VertexDegree/@%
In[]:=
{{19,20,16,13,11,10,24,20,17,15,14,20,20,16,17,13,15,11,14,10,19,16,15,15,15,16,15},{10,16,15,12,10,9,16,15,12,10,9,17,14,12,11,14,12,11,11,11,11},{9,10,12,15,16,10,12,14,17,16,11,11,11,11,14,12,11,15,12,10,9}}
Out[]=
allrules[[2]]
In[]:=
AAAAB
Out[]=
{#,CausalInvariantQ[{"AA""AAB"},{#},4]}&/@StringTuples["AB",2]
In[]:=
{{AA,True},{AB,True},{BA,True},{BB,True}}
Out[]=
{#,CausalInvariantQ[{"AA""AAB"},{#},4]}&/@StringTuples["AB",3]
In[]:=
{{AAA,False},{AAB,True},{ABA,True},{ABB,True},{BAA,True},{BAB,True},{BBA,True},{BBB,True}}
Out[]=
MultiwaySystem[{"AA""AAB"},{#},4,"StatesGraph","IncludeStepNumber"True]&/@{"AAA","AAB"}
In[]:=
Out[]=
MultiwaySystem[{"AA""AAB"},{#},5,"StatesGraph","IncludeStepNumber"True]&/@{"AAA","AABAA"}
In[]:=
Out[]=
CausalInvariantQ[{"AA""AAB"},{"AABAA"},6]
In[]:=
True
Out[]=
MultiwaySystem[{"AA""AAB"},{#},4,"StatesGraph","IncludeStepNumber"True]&/@StringTuples["AB",4]
In[]:=
Out[]=