Clear[TestMW]
In[]:=
TestMW[{sig_,k_},tuplelen_:3,steps_:4,csteps_:3]:=With[{ab=StringJoin[ToUpperCase[FromLetterNumber[Range[k]]]]},InteractiveListSelectorSW[ParallelMapMonitored[Function[r,Labeled[MultiwaySystem[r,StringTuples[ab,tuplelen],steps,"StatesGraphStructure"],PopupWindow[{Counts[#],TimeConstrained[Select[Extract[StringTuples[ab,tuplelen],Position[#,True]],MultiwaySystem[r,#,csteps,"WeakCausalInvariantQ"]&],20]}&@TimeConstrained[CausalInvariantQ[r,#,csteps]&/@StringTuples[ab,tuplelen],20],r]]r],EnumerateSubstitutionSystemRules[sig,k]]]]
In[]:=
2: 22
2: 22
TestMW[{{22},2}]
In[]:=
Out[]=
3: 22
3: 22
TestMW[{{22},3}]
In[]:=
Out[]=
allrules=EnumerateSubstitutionSystemRules[{22},3]
In[]:=
{{AAAA},{AAAB},{AABB},{AABC},{ABAA},{ABAB},{ABAC},{ABBA},{ABBC},{ABCC}}
Out[]=
PopupWindow
2: 12, 21
2: 12, 21
allrules=EnumerateSubstitutionSystemRules[{12,21},2]
In[]:=
Out[]=
TestMW[{{12,21},2}]
In[]:=
Out[]=
MultiwaySystem[{"A""AA","AA""B"},"ABA",4,"StatesGraph"]
In[]:=
Out[]=
MultiwaySystem[{"A""AA","AA""B"},"ABA",3,"WeakCriticalPairs"]
In[]:=
{{AAABA,BBA},{ABB,ABAAA},{ABBA,BABA},{AAABAA,BBAA},{AABAAA,AABB},{ABAB,ABBA}}
Out[]=
MultiwaySystem[{"A""AA","AA""B"},"ABA",3,"CausalInvariantQ"]
In[]:=
True
Out[]=
MultiwaySystem[{"A""AA","AA""B"},"ABA",4,"CausalInvariantQ"]
In[]:=
False
Out[]=
MultiwaySystem[{"A""AA","AA""B"},"A",4,"StatesGraph"]
In[]:=
Out[]=
The Big Run
The Big Run
{{12},2}
{{12},2}
{Null}
Out[]=
{{ABB}}
CellPrint[{TextCell[Text[{#,2}],"Section"],ExpressionCell[TestMW[{#,2}],"Output"]}]&/@{{11},{12},{13},{22},{23},{24},{33},{11,11},{12,11},{13,11},{12,12},{12,21},{13,31},{12,22},{13,22},{12,33},{11,11,11},{12,11,11}}
In[]:=
{{11},2}
{{11},2}
{{12},2}
{{12},2}
Counts::invl:The argument $Aborted is not a list.
(kernel 67)
{{13},2}
{{13},2}
{{22},2}
{{22},2}
{{23},2}
{{23},2}
{{24},2}
{{24},2}
{{ABABBA},{ABBABA}}
{{33},2}
{{33},2}
{{11,11},2}
{{11,11},2}
{{12,11},2}
{{12,11},2}
Counts::invl:The argument $Aborted is not a list.
(kernel 67)
Counts::invl:The argument $Aborted is not a list.
(kernel 64)
Counts::invl:The argument $Aborted is not a list.
(kernel 63)
Counts::invl:The argument $Aborted is not a list.
(kernel 61)
Counts::invl:The argument $Aborted is not a list.
(kernel 59)
{{13,11},2}
{{13,11},2}
Counts::invl:The argument $Aborted is not a list.
(kernel 62)
Counts::invl:The argument $Aborted is not a list.
(kernel 57)
Counts::invl:The argument $Aborted is not a list.
(kernel 56)
Counts::invl:The argument $Aborted is not a list.
(kernel 50)
{{12,12},2}
{{12,12},2}
{{12,21},2}
{{12,21},2}
Counts::invl:The argument $Aborted is not a list.
(kernel 62)
Counts::invl:The argument $Aborted is not a list.
(kernel 60)
Counts::invl:The argument $Aborted is not a list.
(kernel 59)
Counts::invl:The argument $Aborted is not a list.
(kernel 57)
Counts::invl:The argument $Aborted is not a list.
(kernel 56)
Counts::invl:The argument $Aborted is not a list.
(kernel 54)
Counts::invl:The argument $Aborted is not a list.
(kernel 53)
Counts::invl:The argument $Aborted is not a list.
(kernel 61)
Counts::invl:The argument $Aborted is not a list.
(kernel 58)
Counts::invl:The argument $Aborted is not a list.
(kernel 62)
Counts::invl:The argument $Aborted is not a list.
(kernel 60)
Counts::invl:The argument $Aborted is not a list.
(kernel 59)
Counts::invl:The argument $Aborted is not a list.
(kernel 57)
{{13,31},2}
{{13,31},2}
{{12,22},2}
{{12,22},2}
Counts::invl:The argument $Aborted is not a list.
(kernel 62)
Counts::invl:The argument $Aborted is not a list.
(kernel 61)
Counts::invl:The argument $Aborted is not a list.
(kernel 60)
Counts::invl:The argument $Aborted is not a list.
(kernel 59)
Counts::invl:The argument $Aborted is not a list.
(kernel 57)
Counts::invl:The argument $Aborted is not a list.
(kernel 56)
Counts::invl:The argument $Aborted is not a list.
(kernel 55)
Counts::invl:The argument $Aborted is not a list.
(kernel 54)
Counts::invl:The argument $Aborted is not a list.
(kernel 52)
Counts::invl:The argument $Aborted is not a list.
(kernel 51)
Counts::invl:The argument $Aborted is not a list.
(kernel 50)
Counts::invl:The argument $Aborted is not a list.
(kernel 49)
Counts::invl:The argument $Aborted is not a list.
(kernel 48)
Counts::invl:The argument $Aborted is not a list.
(kernel 47)
Counts::invl:The argument $Aborted is not a list.
(kernel 41)
Counts::invl:The argument $Aborted is not a list.
(kernel 40)
Counts::invl:The argument $Aborted is not a list.
(kernel 22)
Counts::invl:The argument $Aborted is not a list.
(kernel 17)
{{13,22},2}
{{13,22},2}
{{12,33},2}
{{12,33},2}
{{11,11,11},2}
{{11,11,11},2}
{{12,11,11},2}
{{12,11,11},2}
{Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null}
Out[]=