Select[ParallelMapMonitored[WolframModelTest[#,{{1,1},{1,1}}]&,Table[{{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},RandomWolframModel[{{2,2}}{{1,2}}]},1000]],(Max[#Sizes]>6&&Count[Sign[Differences[#Sizes]],-1]>3&&ConnectedHypergraphQ[#FinalState])&];
In[]:=
MakePictures[%]
In[]:=
{},
Clear
Copy

Out[]=
aa=Tuples[{EnumerateWolframModelRules[{{1,2}}{{2,2}}],EnumerateWolframModelRules[{{2,2}}{{1,2}}]}];
In[]:=
Length[%]
In[]:=
4672
Out[]=
Select[ParallelMapMonitored[WolframModelTest[#,{{1,1}}]&,aa],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&];
In[]:=
MakePictures2[First/@GatherBy[%,#FinalState&]]
In[]:=
Out[]=
Select[ParallelMapMonitored[WolframModelTest[#,{{1,2},{2,3}}]&,aa],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&];
In[]:=
MakePictures2[First/@GatherBy[%,#FinalState&]]
In[]:=
Out[]=
WolframModel[#,#2,10,"StatesPlotsList"]&@@@{{{{{1,1}}{{1,2},{1,2}},{{1,2},{1,2}}{{1,1}}},{{1,1}},100},{{{{1,1}}{{2,2},{1,2}},{{1,2},{2,3}}{{3,1}}},{{1,1}},100},{{{{1,1}}{{2,1},{1,3}},{{1,2},{2,3}}{{1,1}}},{{1,1}},100}}
In[]:=
Out[]=
WolframModel[#,#2,20,"CausalGraph"]&@@@{{{{{1,1}}{{1,2},{1,2}},{{1,2},{1,2}}{{1,1}}},{{1,1}},100},{{{{1,1}}{{2,2},{1,2}},{{1,2},{2,3}}{{3,1}}},{{1,1}},100}}
In[]:=
Out[]=
WolframModelGlobalEventPlot[WolframModel[#,#2,10],{}]&@@@{{{{{1,1}}{{1,2},{1,2}},{{1,2},{1,2}}{{1,1}}},{{1,1}},100},{{{{1,1}}{{2,2},{1,2}},{{1,2},{2,3}}{{3,1}}},{{1,1}},100}}
In[]:=
Out[]=
WolframModel[{{{1,1}}{{2,1},{2,1},{3,1}},{{1,2},{3,2}}{{2,2}}},{{0,0}},30,"AllEventsRuleIndices"]
In[]:=
$Aborted
Out[]=
ListLinePlot[%]
In[]:=
Out[]=
aa=Tuples[{EnumerateWolframModelRules[{{1,1}}{{2,1}}],EnumerateWolframModelRules[{{2,1}}{{1,1}}]}];
In[]:=
Select[ParallelMapMonitored[WolframModelTest[#,{{1},{2}}]&,aa],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&];
In[]:=
MakePictures2[First/@GatherBy[%,#FinalState&]]
In[]:=
{},
Clear
Copy

Out[]=
XYifyRule[{{{1,1}}{{2,2},{1,2}},{{1,2},{2,3}}{{3,1}}}]
In[]:=
{{{x,x}}{{y,y},{x,y}},{{x,y},{y,z}}{{z,x}}}
Out[]=
RulePlot[WolframModel[{{{x,x}}{{y,y},{x,y}},{{x,y},{y,z}}{{z,x}}}]]
In[]:=
Out[]=
WolframModel[{{{x,x}}{{y,y},{x,y}},{{x,y},{y,z}}{{z,x}}},{{0,0}},12]["StatesPlotsList",ImageSize{UpTo[100],UpTo[30]}]
In[]:=
Out[]=

Pairs of 2,3 rules

all23=Import["/Users/sw/Dropbox/Physics/Data/RuleEnumerations/22-32c.wxf"];
In[]:=
InteractiveListSelectorSW[ParallelMapMonitored[GraphPlot[Rule@@@WolframModelTest[#,{{0,0},{0,0}}]["FinalState"]]#&,Table[RandomSample[all23,2],20]]]
In[]:=
Out[]=

More

aa=Tuples[{EnumerateWolframModelRules[{{1,1}}{{2,1}}],EnumerateWolframModelRules[{{2,1}}{{1,1}}]}];
In[]:=
Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{3,2}},{{2,2}}{{1,2}}}],10]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&];
In[]:=
MakePictures2[First/@GatherBy[%,#FinalState&]]
In[]:=
Out[]=
Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{3,2}},{{2,2}}{{1,2}}}],200]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&];
In[]:=
MakePictures2[First/@GatherBy[%,#FinalState&]]
In[]:=
Out[]=
MakePictures2[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{3,2}},{{2,2}}{{1,2}}}],200]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures2[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{3,2}},{{3,2}}{{2,2}}}],200]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures2[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{4,2}},{{2,2}}{{1,2}}}],200]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures2[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{4,2}},{{2,2}}{{1,2}}}],1000]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures2[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{1,2}}{{3,2}},{{2,2}}{{1,2}}}],1000]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures2[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{1,2}}{{3,2}},{{2,2}}{{2,2}},{{2,2}}{{1,2}}}],1000]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0,0}}]&,Table[RandomWolframModelRule[{{{1,3}}{{2,3}},{{2,3}}{{1,3}}}],1000]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0,0}}]&,Table[RandomWolframModelRule[{{{1,3}}{{2,3}},{{2,3}}{{1,3}}}],1000]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0,0},{0,0,0}}]&,Table[RandomWolframModelRule[{{{2,3}}{{4,3}},{{2,3}}{{1,3}}}],1000]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0,0},{0,0,0}}]&,Table[RandomWolframModelRule[{{{1,3}}{{3,3}},{{2,3}}{{1,3}}}],1000]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0,0},{0,0,0}}]&,Table[RandomWolframModelRule[{{{1,3}}{{3,3}},{{2,3}}{{1,3}}}],5000]],(AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
ListLinePlot[{2,6,3,7,4,7,4,7,4,8,5,8,5,8,5,8,5,8,5,9,6,9,6,9,6,9,6,9,6,9,6,9,6,10,7,10,7,10,7,10,7,10,7,10,7,10,7,10,7,10,7,11,8,11,8,11,8,11,8,11,8,11,8,11,8,11,8,11,8,11,8,11,8,12,9,12,9,12,9,12,9,12,9,12,9,12,9,12,9,12,9,12,9,12,9,12,9,12,9,13}]
In[]:=
Out[]=
Select[ParallelMapMonitored[WolframModelTest[#,{{1,1},{1,1}}]&,Table[{RandomWolframModel[{{2,3}}{{4,3}}],RandomWolframModel[{{2,3}}{{1,3}}]},10000]],(Max[#Sizes]>6&&Count[Sign[Differences[#Sizes]],-1]>3&&ConnectedHypergraphQ[#FinalState])&];
In[]:=
MakePictures2[First/@GatherBy[%,#FinalState&]]
In[]:=
{},
Clear
Copy

Out[]=
MakePictures[First/@GatherBy[%150,#FinalState&]]
In[]:=
Out[]=
MakeDirectPictures[{{{{{1,2,3},{2,4,5}}{{6,7,6},{6,8,1},{4,8,2},{2,9,6}},{{1,2,3},{4,2,5}}{{3,1,4}}},{{1,1,1},{1,1,1}},100},{{{{1,2,3},{3,4,5}}{{6,4,6},{4,3,7},{5,7,4},{3,8,9}},{{1,2,3},{4,3,5}}{{4,6,3}}},{{1,1,1},{1,1,1}},38},{{{{1,1,2},{3,1,4}}{{2,2,5},{2,4,6},{2,6,7},{4,8,9}},{{1,2,3},{1,3,4}}{{5,1,2}}},{{1,1,1},{1,1,1}},37}},10]
In[]:=
Out[]=
WolframModel[{{{1,2,3},{3,4,5}}{{6,4,6},{4,3,7},{5,7,4},{3,8,9}},{{1,2,3},{4,3,5}}{{4,6,3}}},{{1,1,1},{1,1,1}},200,"VertexCountList"]
In[]:=
Out[]=
ListLinePlot[%]
In[]:=
Out[]=
Differences[%]//ListLinePlot
In[]:=
Out[]=
WolframModel[{{{1,1,2},{3,1,4}}{{2,2,5},{2,4,6},{2,6,7},{4,8,9}},{{1,2,3},{1,3,4}}{{5,1,2}}},{{1,1,1},{1,1,1}},200,"VertexCountList"]
In[]:=
Out[]=
ListLinePlot[%]
In[]:=
Out[]=
WolframModel[{{{1,1}}{{2,1},{2,1},{3,1}},{{1,2},{3,2}}{{2,2}}},{{1,1}},20,"VertexCountList"]
In[]:=
{1,3,2,4,1,5,1,7,2,10,2,14,2,20,1,29,1,43,2,64,1}
Out[]=
ListLinePlot[%]
In[]:=
Out[]=
XYifyRule[{{{1,1}}{{2,1},{2,1},{3,1}},{{1,2},{3,2}}{{2,2}}}]
In[]:=
{{{x,x}}{{y,x},{y,x},{z,x}},{{x,y},{z,y}}{{y,y}}}
Out[]=
WolframModel[{{{1,1}}{{2,1},{2,1},{3,1}},{{1,2},{3,2}}{{2,2}}},{{1,1}},20,"StatesPlotsList"]
In[]:=
Out[]=
WolframModel[{{{1,1}}{{2,1},{2,1},{3,1}},{{1,2},{3,2}}{{2,2}}},{{1,1}},25,"EdgeCountList"]
In[]:=
{1,3,2,4,2,6,3,9,5,13,7,19,10,28,14,42,21,63,32,94,47,141,71,211,106,316}
Out[]=
ListLinePlot[%]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0,0}}]&,Table[RandomWolframModelRule[{{{1,3}}{{2,3}},{{2,3}}{{1,3}}}],1000]],(Length[#Sizes]>6&&AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0,0},{0,0,0}}]&,Table[RandomWolframModelRule[{{{1,3}}{{2,3}},{{2,3}}{{1,3}}}],1000]],(Length[#Sizes]>6&&AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{1,2}}{{3,2}},{{2,2}}{{1,2}}}],1000]],(Length[#Sizes]>6&&AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{4,2}},{{2,2}}{{1,2}}}],1000]],(Length[#Sizes]>6&&AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{4,2}},{{2,2}}{{1,2}}}],1000]],(Length[#Sizes]>6&&AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[{{{2,2}}{{5,2}},{{2,2}}{{1,2}}}],1000]],(Length[#Sizes]>6&&AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{0,0},{0,0}}]&,Table[RandomWolframModelRule[Reverse@{{{2,2}}{{4,2}},{{2,2}}{{1,2}}}],1000]],(Length[#Sizes]>6&&AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
WolframModel[Reverse@{{{1,1}}{{2,1},{2,1},{3,1}},{{1,2},{3,2}}{{2,2}}},{{1,1}},20]["StatesPlotsList",ImageSize{UpTo[60],UpTo[60]}]
In[]:=
Out[]=
{3,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198}//Differences//ListLinePlot
In[]:=
Out[]=
MakePictures[First/@GatherBy[Select[ParallelMapMonitored[WolframModelTest[#,{{1,2},{2,3}}]&,Table[RandomWolframModelRule[Reverse@{{{2,2}}{{4,2}},{{2,2}}{{1,2}}}],1000]],(Length[#Sizes]>6&&AnyTrue[Differences[#Sizes],#<0&]&&ConnectedHypergraphQ[#FinalState])&],#FinalState&]]
In[]:=
Out[]=
WolframModel[{{{1,2},{2,3}}{{4,1},{4,2},{5,1},{6,5}},{{1,2},{3,2}}{{1,3}}},{{1,2},{2,3}},100,"AllEventsRuleIndices"]
In[]:=
{1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1}
Out[]=
ListLinePlot[%]
In[]:=
Out[]=

Rule Index Testing

WolframModelPlot[First[#]["FinalState"]]Last[#]&/@Select[ParallelMapMonitored[WolframModel[#,{{1,2},{2,3}},With[{n=1},<|"MaxVertices"200n,"MaxEdges"200n,"MaxEvents"5000n,"MaxGenerations"100n,"MaxVertexDegree"20n|>]]#&,Table[RandomWolframModelRule[Reverse@{{{2,2}}{{4,2}},{{2,2}}{{1,2}}}],1000]],(First[#["GenerationsCount"]]>2&&Length[Normal[Counts[#["AllEventsRuleIndices"]]]]>1&&ConnectedHypergraphQ[#["FinalState"]]&)[First[#]]&]
In[]:=
Out[]=
InteractiveListSelectorSW[WolframModelPlot[First[#]["FinalState"]]Last[#]&/@Select[ParallelMapMonitored[WolframModel[#,{{1,2},{2,3}},With[{n=1},<|"MaxVertices"200