allrules=Import["/Users/sw/Dropbox/Physics/Data/RuleEnumerations/22-42c.wxf"];
In[]:=
Length[allrules]
In[]:=
40405
Out[]=
RandomSample[allrules,20]
In[]:=
Out[]=
TotalCausalInvariantQ[WolframModel[#],1]&/@{{{1,2},{1,3}}{{2,4},{4,2},{3,2},{3,5}},{{1,1},{1,1}}{{2,2},{2,1},{1,3},{4,3}},{{1,2},{1,2}}{{3,2},{3,2},{2,4},{4,5}},{{1,1},{1,2}}{{3,4},{3,1},{4,5},{5,1}},{{1,2},{2,3}}{{1,1},{1,1},{2,2},{4,3}},{{1,2},{3,2}}{{1,3},{3,2},{2,4},{5,2}},{{1,2},{1,2}}{{3,3},{4,3},{4,2},{2,5}},{{1,1},{1,2}}{{3,3},{1,3},{4,1},{5,1}},{{1,2},{2,3}}{{1,4},{1,5},{1,6},{1,7}},{{1,2},{2,3}}{{4,1},{4,5},{1,5},{2,6}},{{1,2},{3,2}}{{1,1},{3,4},{3,2},{4,5}},{{1,1},{1,2}}{{3,2},{3,2},{3,4},{4,5}},{{1,2},{3,2}}{{2,2},{4,1},{4,3},{4,5}},{{1,2},{2,3}}{{4,5},{4,6},{2,5},{3,6}},{{1,2},{2,3}}{{3,4},{4,5},{5,3},{1,2}},{{1,2},{2,3}}{{4,5},{5,3},{2,3},{6,1}},{{1,2},{1,2}}{{3,1},{3,1},{3,4},{1,5}},{{1,2},{2,3}}{{4,4},{4,5},{3,5},{3,2}},{{1,1},{1,2}}{{2,2},{2,1},{2,1},{3,2}},{{1,2},{1,2}}{{2,2},{2,2},{3,2},{1,1}}}
In[]:=
{False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False}
Out[]=
ParallelMapMonitored[TotalCausalInvariantQ[WolframModel[#],1]&,{{{1,2},{1,3}}{{2,4},{4,2},{3,2},{3,5}},{{1,1},{1,1}}{{2,2},{2,1},{1,3},{4,3}},{{1,2},{1,2}}{{3,2},{3,2},{2,4},{4,5}},{{1,1},{1,2}}{{3,4},{3,1},{4,5},{5,1}},{{1,2},{2,3}}{{1,1},{1,1},{2,2},{4,3}},{{1,2},{3,2}}{{1,3},{3,2},{2,4},{5,2}},{{1,2},{1,2}}{{3,3},{4,3},{4,2},{2,5}},{{1,1},{1,2}}{{3,3},{1,3},{4,1},{5,1}},{{1,2},{2,3}}{{1,4},{1,5},{1,6},{1,7}},{{1,2},{2,3}}{{4,1},{4,5},{1,5},{2,6}},{{1,2},{3,2}}{{1,1},{3,4},{3,2},{4,5}},{{1,1},{1,2}}{{3,2},{3,2},{3,4},{4,5}},{{1,2},{3,2}}{{2,2},{4,1},{4,3},{4,5}},{{1,2},{2,3}}{{4,5},{4,6},{2,5},{3,6}},{{1,2},{2,3}}{{3,4},{4,5},{5,3},{1,2}},{{1,2},{2,3}}{{4,5},{5,3},{2,3},{6,1}},{{1,2},{1,2}}{{3,1},{3,1},{3,4},{1,5}},{{1,2},{2,3}}{{4,4},{4,5},{3,5},{3,2}},{{1,1},{1,2}}{{2,2},{2,1},{2,1},{3,2}},{{1,2},{1,2}}{{2,2},{2,2},{3,2},{1,1}}}]
In[]:=
{False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False}
Out[]=

2,2  3,2

allrules=Import["/Users/sw/Dropbox/Physics/Data/RuleEnumerations/22-32c.wxf"];
In[]:=
Length[allrules]
In[]:=
4702
Out[]=
ParallelMapMonitored[TotalCausalInvariantQ[WolframModel[#],1]&,allrules];//AbsoluteTiming
Counts[%]
In[]:=
True375,False4327
Out[]=
citest[1]=ParallelMapMonitored[TotalCausalInvariantQ[WolframModel[#],1]&,allrules];
In[]:=
Counts[citest[1]]
In[]:=
True96,False4606
Out[]=
InteractiveListSelectorSW[First/@GatherBy[Select[ParallelMapMonitored[FinalPicture2[#,5]#&,Pick[allrules,citest[1]]],ConnectedGraphQ[UndirectedGraph[First[#]]]&]]]
In[]:=
Out[]=
frules[1]=Pick[allrules,citest[1],False];
In[]:=
frules[t_]:=frules[t]=Pick[frules[t-1],citest[t],False]
In[]:=
citest[t_]:=citest[t]=ParallelMapMonitored[TotalCausalInvariantQ[WolframModel[#],t]&,frules[t-1]];
In[]:=
citest[2]
In[]:=
Counts[citest[2]]
In[]:=
False4485,True121
Out[]=
InteractiveListSelectorSW[First/@GatherBy[Select[ParallelMapMonitored[FinalPicture2[#,5]#&,Pick[frules[1],citest[2]]],ConnectedGraphQ[UndirectedGraph[First[#]]]&]]]
In[]:=
Out[]=
citest[t_]:=citest[t]=ParallelMapMonitored[TimeConstrained[TotalCausalInvariantQ[WolframModel[#],t],5]&,frules[t-1]];
In[]:=
citest[3];
In[]:=
Counts[citest[3]]
In[]:=
False4253,$Aborted220,True12
Out[]=
InteractiveListSelectorSW[First/@GatherBy[Select[ParallelMapMonitored[FinalPicture2[#,5]#&,Pick[frules[2],citest[3]]],ConnectedGraphQ[UndirectedGraph[First[#]]]&]]]
In[]:=
Out[]=

[ More ]

MultiwaySystem[WolframModel[{{1,2},{3,2}}{{2,1},{2,1},{4,1}}],{{{0,0},{0,0}}},5,"EvolutionGraph"]
In[]:=
WolframModelPlot
::invalidEdges
:First argument of WolframModelPlot must be list of lists, where elements represent vertices.
WolframModelPlot
::invalidEdges
:First argument of WolframModelPlot must be list of lists, where elements represent vertices.
WolframModelPlot
::invalidEdges
:First argument of WolframModelPlot must be list of lists, where elements represent vertices.
General
:Further output of WolframModelPlot::invalidEdges will be suppressed during this calculation.
Out[]=
MultiwaySystem[WolframModel[{{1,2},{3,2}}{{2,1},{2,1},{4,1}}],{{{0,0},{0,0}}},5,"StatesGraphStructure"]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[FinalPicture2[#,10]#&,{{{1,2},{3,2}}{{1,4},{2,4},{3,4}},{{1,2},{1,3}}{{4,1},{4,2},{4,3}}}]]
In[]:=
Out[]=
MultiwaySystem[WolframModel[#],{{{0,0},{0,0}}},6,"StatesGraphStructure"]&/@{{{1,2},{3,2}}{{1,4},{2,4},{3,4}},{{1,2},{1,3}}{{4,1},{4,2},{4,3}}}
In[]:=
Out[]=
ParallelMapMonitored[If[#,Echo[#],#]&[TotalCausalInvariantQ[WolframModel[#],2]]&,Pick[allrules,%11,False]]
In[]:=
Out[]=
Pick[Pick[allrules,%11,False],%,True]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[FinalPicture2[#,5]#&,%]]
In[]:=
Out[]=
false2=Pick[Pick[allrules,%11,False],%23,False];
In[]:=
ParallelMapMonitored[If[#,Echo[#],#]&[TotalCausalInvariantQ[WolframModel[#],3]]&,false2]
In[]:=
>> True
(kernel 22)
>> True
(kernel 22)
>> True
(kernel 24)
>> True
(kernel 8)
>> True
(kernel 9)
>> True
(kernel 46)
>> True
(kernel 46)
>> True
(kernel 12)
>> True
(kernel 1)
>> True
(kernel 57)
>> True
(kernel 4)
>> True
(kernel 52)
>> True
(kernel 39)
>> True
(kernel 24)
>> True
(kernel 42)
>> True
(kernel 38)
>> True
(kernel 39)
>> True
(kernel 2)
>> True
(kernel 35)
>> True
(kernel 28)
>> True
(kernel 38)
>> True
(kernel 7)
>> True
(kernel 56)
>> True
(kernel 8)
>> True
(kernel 40)
>> True
(kernel 6)
>> True
(kernel 46)
>> True
(kernel 21)
>> True
(kernel 1)
>> True
(kernel 39)
>> True
(kernel 53)
>> True
(kernel 25)
>> True
(kernel 19)
>> True
(kernel 59)
>> True
(kernel 51)
>> True
(kernel 11)
>> True
(kernel 12)
>> True
(kernel 31)
>> True
(kernel 17)
>> True
(kernel 53)
>> True
(kernel 1)
>> True
(kernel 4)
>> True
(kernel 11)
>> True
(kernel 12)
>> True
(kernel 58)
>> True
(kernel 8)
>> True
(kernel 8)
>> True
(kernel 22)
>> True
(kernel 24)
>> True
(kernel 59)
>> True
(kernel 9)
>> True
(kernel 27)
>> True
(kernel 23)
>> True
(kernel 7)
>> True
(kernel 32)
>> True
(kernel 39)
>> True
(kernel 6)
>> True
(kernel 34)
>> True
(kernel 42)
>> True
(kernel 55)
>> True
(kernel 12)
>> True
(kernel 10)
>> True
(kernel 8)
>> True
(kernel 6)
>> True
(kernel 40)
>> True
(kernel 16)
>> True
(kernel 19)
>> True
(kernel 3)
>> True
(kernel 22)
>> True
(kernel 13)
>> True
(kernel 34)
>> True
(kernel 59)
>> True
(kernel 12)
>> True
(kernel 29)
>> True
(kernel 22)
>> True
(kernel 3)
>> True
(kernel 34)
>> True
(kernel 6)
>> True
(kernel 15)
>> True
(kernel 10)
>> True
(kernel 16)
>> True
(kernel 56)
>> True
(kernel 31)
>> True
(kernel 16)
>> True
(kernel 16)
>> True
(kernel 63)
>> True
(kernel 47)
>> True
(kernel 44)
>> True
(kernel 44)
>> True
(kernel 44)
Out[]=
Pick[false2,%]
In[]:=
Out[]=
InteractiveListSelectorSW[ParallelMapMonitored[FinalPicture2[#,5]#&,%]]
In[]:=
Out[]=
false3=Pick[false2,%29,False];
In[]:=
ParallelMapMonitored[If[#,Echo[#],#]&[TotalCausalInvariantQ[WolframModel[#],4]]&,false3]
In[]:=
>> True
(kernel 18)
>> True
(kernel 22)
>> True
(kernel 59)
>> True
(kernel 36)
>> True
(kernel 22)
>> True
(kernel 16)
>> True
(kernel 39)
>> True
(kernel 39)
>> True
(kernel 30)
>> True
(kernel 33)
>> True
(kernel 21)
>> True
(kernel 56)
>> True
(kernel 44)
>> True
(kernel 27)
>> True
(kernel 36)
>> True
(kernel 30)
>> True
(kernel 54)
>> True
(kernel 22)
>> True
(kernel 57)
>> True
(kernel 21)
>> True
(kernel 11)
>> True
(kernel 20)
>> True
(kernel 37)
>> True
(kernel 33)
>> True
(kernel 6)
>> True
(kernel 9)
>> True
(kernel 39)
>> True
(kernel 2)
>> True
(kernel 27)
>> True
(kernel 19)
>> True
(kernel 48)
>> True
(kernel 54)
>> True
(kernel 45)
>> True
(kernel 23)
>> True
(kernel 17)
>> True
(kernel 27)
>> True
(kernel 2)
>> True
(kernel 60)
>> True
(kernel 52)
>> True
(kernel 52)
>> True
(kernel 57)
>> True
(kernel 15)
>> True
(kernel 10)
>> True
(kernel 3)
>> True
(kernel 24)
>> True
(kernel 25)
>> True
(kernel 59)
>> True
(kernel 44)
>> True
(kernel 43)
>> True
(kernel 56)
>> True
(kernel 60)
>> True
(kernel 17)
>> True
(kernel 15)
>> True
(kernel 32)
>> True
(kernel 58)
>> True
(kernel 46)
>> True
(kernel 31)
>> True
(kernel 31)
>> True
(kernel 33)
>> True
(kernel 35)
>> True
(kernel 41)
>> True
(kernel 55)
$Aborted
Out[]=