Basic Examples (from EdP)
Basic Examples (from EdP)
EnumerateHypergraph[lhs_,opts:OptionsPattern[]]:=First/@EnumerateWolframModelRules[lhs{},{maxConnectedAtoms[lhs{},Automatic],Automatic},opts]
In[]:=
EnumerateHypergraph[lhs_,type:Automatic|None|All,opts:OptionsPattern[]]:=First/@EnumerateWolframModelRules[lhs{},{maxConnectedAtoms[lhs{},type],type},opts]
In[]:=
EnumerateHypergraph[lhs_,s_Integer,opts:OptionsPattern[]]:=First/@EnumerateWolframModelRules[lhs{},{s,Automatic},opts]
In[]:=
EnumerateHypergraph[{{3,2}}]
In[]:=
Out[]=
Graph[DirectedEdge@@@#,ImageSizeTiny,GraphLayout"SpringElectricalEmbedding"]&/@EnumerateHypergraph[{{3,2}}]
In[]:=
Out[]=
Union[Graph[DirectedEdge@@@#,ImageSizeTiny,GraphLayout"SpringElectricalEmbedding"]&/@EnumerateHypergraph[{{3,2}}],SameTest(IsomorphicGraphQ[UndirectedGraph[#1],UndirectedGraph[#2]]&)]
In[]:=
Out[]=
Union[Graph[DirectedEdge@@@#,ImageSizeTiny,GraphLayout"SpringElectricalEmbedding"]&/@EnumerateHypergraph[{{4,2}}],SameTest(IsomorphicGraphQ[UndirectedGraph[#1],UndirectedGraph[#2]]&)]
In[]:=
Out[]=
Graph[DirectedEdge@@@#,ImageSizeTiny,GraphLayout"SpringElectricalEmbedding"]&/@EnumerateHypergraph[{{4,2}}]
In[]:=
Out[]=
HypergraphPlot[#,ImageSizeTiny]&/@EnumerateHypergraph[{{2,3}}]
In[]:=
Out[]=
HypergraphPlot[#,ImageSizeTiny]&/@Union[EnumerateHypergraph[{{2,3}}],SameTest(IsomorphicGraphQ[UndirectedGraph[HypergraphToGraph@#1],UndirectedGraph[HypergraphToGraph@#2]]&)]
In[]:=
Out[]=
HypergraphPlot[#,ImageSizeTiny]&/@Union[EnumerateHypergraph[{{2,2}}],SameTest(IsomorphicGraphQ[UndirectedGraph[HypergraphToGraph@#1],UndirectedGraph[HypergraphToGraph@#2]]&)]
In[]:=
Out[]=
HypergraphPlot[#,ImageSizeTiny]&/@Union[EnumerateHypergraph[{{3,2}}],SameTest(IsomorphicGraphQ[UndirectedGraph[HypergraphToGraph@#1],UndirectedGraph[HypergraphToGraph@#2]]&)]
In[]:=
Out[]=
Map[{Echo@#->Length[EnumerateHypergraphs[{#}]]}&,{{1,2},{2,2},{3,2},{4,2},{5,2},{1,3},{2,3},{3,3},{4,3}}]
In[]:=
{1,2}
»
{2,2}
»
{3,2}
»
{4,2}
»
{5,2}
»
{1,3}
»
{2,3}
»
{3,3}
»
{4,3}
»
{{{1,2}1},{{2,2}5},{{3,2}24},{{4,2}140},{{5,2}837},{{1,3}4},{{2,3}96},{{3,3}3231},{{4,3}164070}}
Out[]=
Flatten[%]
In[]:=
{{1,2}1,{2,2}5,{3,2}24,{4,2}140,{5,2}837,{1,3}4,{2,3}96,{3,3}3231,{4,3}164070}
Out[]=
Association[%]
In[]:=
{1,2}1,{2,2}5,{3,2}24,{4,2}140,{5,2}837,{1,3}4,{2,3}96,{3,3}3231,{4,3}164070
Out[]=
FindSequenceFunction[{1,5,24,140},n]
In[]:=
FindSequenceFunction[{1,5,24,140},n]
Out[]=
Map[{#,Echo@Length[EnumerateHypergraph[{#}]]}&,Table[{n,2},{n,6}]]
In[]:=
1
»
5
»
24
»
140
»
837
»
5574
»
{{{1,2},1},{{2,2},5},{{3,2},24},{{4,2},140},{{5,2},837},{{6,2},5574}}
Out[]=
Last/@%
In[]:=
{1,5,24,140,837,5574}
Out[]=
FindSequenceFunction[%,n]
In[]:=
FindSequenceFunction[{1,5,24,140,837,5574},n]
Out[]=
EnumerateHypergraphs[{{1,3}}]
In[]:=
{{{1,1,1}},{{1,1,2}},{{1,2,1}},{{1,2,2}}}
Out[]=
Map[EchoFunction[{Now,#}&][#->Length[EnumerateHypergraphs[{#}]]]&,Table[{i,j},{j,2,4},{i,5}],{2}]
In[]:=
,{1,2}1
»
,{2,2}5
»
,{3,2}24
»
,{4,2}140
»
,{5,2}837
»
,{1,3}4
»
,{2,3}96
»
,{3,3}3231
»
,{4,3}164070
»
[[ Last case killed; ran overnight and did not complete ]]