MultiwaySystem[{"""A"},"",3,"StatesGraph",GraphLayout->"LayeredDigraphEmbedding"]
In[]:=
Out[]=
MultiwaySystem[{"""A","""B"},"",3,"StatesGraph",GraphLayout->"LayeredDigraphEmbedding"]
In[]:=
Out[]=
CausalInvariantQ[{"""A","""B"},"",2]
In[]:=
True
Out[]=
EdgeCount/@
,
,
,

In[]:=
{1,5,19,63}
Out[]=
Table[MultiwaySystem[{"""A","""B"},"",t,"BranchialGraphStructure"],{t,8}]
In[]:=
Out[]=
Table[MultiwaySystem[{"""A","""B"},"",t,"BranchialGraphStructure"],{t,9}];
In[]:=
EdgeCount/@%
In[]:=
{1,5,19,63,191,543,1471,3839,9727}
Out[]=
FindSequenceFunction[%,n]
In[]:=
1
4
(-4+
2+n
2
-
n
2
n+
n
2
2
n
)
Out[]=
FullSimplify[%]
In[]:=
-1+
-2+n
2
(4+(-1+n)n)
Out[]=
VertexCount/@%159
In[]:=
{2,4,8,16,32,64,128,256}
Out[]=
2^(n-2)(n^2-n+4)-1
In[]:=
-1+
-2+n
2
(4-n+
2
n
)
Out[]=
Table[%,{n,10}]
In[]:=
{1,5,19,63,191,543,1471,3839,9727,24063}
Out[]=
MultiwaySystem[{"""A","""B"},"",4,"BranchialGraph"]
In[]:=
Out[]=
EdgeList[%]
In[]:=
Out[]=
Map[StringJoin[Sort[Characters[#]]]&,%,{-1}]
In[]:=
Out[]=
Graph{"AAAA""AAAB","AAAA""AAAB","AAAA""AAAB","AAAA""AAAB","AAAB""AAAB","AAAB""AABB","AAAB""AAAB","AAAB""AABB","AAAB""AAAB","AAAB""AABB","AAAB""AABB","AAAB""AAAB","AAAB""AABB","AAAB""AABB","AAAB""AAAB","AAAB""AABB","AAAB""AABB","AABB""AABB","AABB""AABB","AABB""ABBB","AABB""AABB","AABB""ABBB","AAAB""AABB","AAAB""AABB","AAAB""AAAB","AAAB""AABB","AAAB""AABB","AAAB""AABB","AABB""AABB","AABB""ABBB","AABB""AABB","AABB""AABB","AABB""ABBB","AABB""ABBB","AABB""ABBB","AABB""AABB","AABB""ABBB","AABB""AABB","AABB""ABBB","AABB""ABBB","ABBB""ABBB","ABBB""ABBB","ABBB""ABBB","ABBB""BBBB","AAAB""AABB","AAAB""AABB","AAAB""AABB","AABB""AABB","AABB""ABBB","AABB""AABB","AABB""ABBB","AABB""ABBB","AABB""AABB","AABB""ABBB","AABB""ABBB","ABBB""ABBB","ABBB""ABBB","ABBB""BBBB","AABB""ABBB","AABB""ABBB","ABBB""ABBB","ABBB""BBBB","ABBB""BBBB"},PerformanceGoal"Quality",VertexShapeFunctionText
Style[stripMetadata[#2],Black]
,#1,{0,0}&
Out[]=
MultiwaySystem[{"""A","""B"},"",4,"BranchialGraph"]//Options
In[]:=
PerformanceGoalQuality,VertexShapeFunctionText
Style[stripMetadata[#2],Black]
,#1,{0,0}&
Out[]=
Graph3D/@%169
In[]:=
Out[]=
EdgeList@
In[]:=
Out[]=
GraphMap[StringJoin[Sort[Characters[#]]]&,EdgeList@MultiwaySystem[{"""A","""B","""C"},"",3,"BranchialGraph"],{-1}],PerformanceGoal"Quality",VertexShapeFunctionText
Style[stripMetadata[#2],Black]
,#1,{0,0}&
In[]:=
Out[]=
CausalInvariantQ[{"A""AB"},"AAA",2]
In[]:=
True
Out[]=
Table[MultiwaySystem[{"A""AB"},"AAA",t,"BranchialGraph"],{t,1,5}]
In[]:=
Out[]=
Graph3D[MultiwaySystem[{"A""AB"},{"AAA"},4,"StatesGraphStructure"],GraphLayout->"SpringElectricalEmbedding"]
In[]:=
Out[]=
GraphPlot3D[%,BoxRatios{1,1,1}]
In[]:=
Out[]=
MultiwaySystem[{"A""AB"},{"AAA"},4,"CausalGraphStructure"]
In[]:=
Out[]=
Labeled[Graph[MultiwaySystem[{"A""AB"},{"AA"},6,#],GraphLayout"LayeredDigraphEmbedding",AspectRatio1],Text[#2]]&@@@{{"StatesGraphStructure","states"},{"EvolutionEventsGraphStructure","states+events"},{"EvolutionCausalGraphStructure","states+events"},{"CausalGraphStructure","events"}}
In[]:=
Out[]=
Labeled[Graph[MultiwaySystem[{"A""AB"},{"AAA"},6,#],GraphLayout"LayeredDigraphEmbedding",AspectRatio1],Text[#2]]&@@@{{"StatesGraphStructure","states"},{"EvolutionEventsGraphStructure","states+events"},{"EvolutionCausalGraphStructure","states+events"},{"CausalGraphStructure","events"}}
In[]:=
Out[]=
InteractiveListSelectorSW[MultiwaySystem[#,"A",5,"BranchialGraph"]#&/@EnumerateSubstitutionSystemRules[{12,11},2]]
In[]:=
Out[]=
{{AAA,AB}}
CausalInvariantQ[{"A""AA","A""B"},"A",2]
In[]:=
False
Out[]=
TransitiveReductionGraph

In[]:=
Out[]=
TreePlot[%,Center]
In[]:=
Out[]=
Table[MultiwaySystem[{"AA""AAA"},"AA",t,"BranchialGraph"],{t,4}]
In[]:=

,
,
,

Out[]=

[From CausalInvariance-12.nb]

causals[[3]]
In[]:=
{{AAA},{AAB},{ABB},{AAA},{ABA}}
Out[]=
InteractiveListSelectorSW[MultiwaySystem[#,"A",4,"BranchialGraphStructure"]#&/@causals[[3]]]
In[]:=
Out[]=
InteractiveListSelectorSW[MultiwaySystem[#,"A",4,"BranchialGraphStructure"]#&/@causals[[4]]]
In[]:=
Out[]=
{{AAAB}}
Table[MultiwaySystem[{"A""AAB"},"A",t,If[t<4,"BranchialGraph","BranchialGraphStructure"]],{t,2,8}]
In[]:=
Out[]=
Graph3D

In[]:=
Out[]=
Graph3D

In[]:=
Out[]=
Graph3D[MultiwaySystem[{"A""AAB"},"A",7,"BranchialGraphStructure"]]
In[]:=
Out[]=
InteractiveListSelectorSW[MultiwaySystem[#,StringTuples["AB",3],4,"BranchialGraphStructure"]#&/@causals[[4]]]
In[]:=
Out[]=
InteractiveListSelectorSW[MultiwaySystem[#,StringTuples["AB",3],4,"BranchialGraphStructure"]#&/@causals[[5]]]
In[]:=
Out[]=
InteractiveListSelectorSW[MultiwaySystem[#,{"A"},4,"BranchialGraphStructure"]#&/@causals[[5]]]
In[]:=
Out[]=
InteractiveListSelectorSW[MultiwaySystem[#,{"A"},4,"BranchialGraphStructure"]#&/@causals[[6]]]
In[]:=
Out[]=

General Inventory

First/@Gather[MultiwaySystem[#,"A",4,"BranchialGraphStructure"]#&/@causals[[5]],IsomorphicGraphQ[First[#],First[#2]]&]
In[]:=
Out[]=
First/@Gather[MultiwaySystem[#,"A",4,"BranchialGraphStructure"]#&/@causals[[6]],IsomorphicGraphQ[First[#],First[#2]]&]
In[]:=
Out[]=
First/@Gather[MultiwaySystem[#,"A",4,"BranchialGraphStructure"]#&/@causals[[7]],IsomorphicGraphQ[First[#],First[#2]]&]
In[]:=
Out[]=
​
First/@%
In[]:=
Out[]=
Labeled[Graph[First[#],ImageSize{120,Automatic}],Text[Style[Last[#],Small]]]&/@(First/@Gather[Catch[Module[{u},Do[u=MultiwaySystem[#,"A",t,"BranchialGraphStructure"];If[VertexCount[u]>150||EdgeCount[u]>150,Throw[u]],{t,5}];u]]#&/@Catenate[Table[causals[[n]],{n,6}]],IsomorphicGraphQ[First[#],First[#2]]&])
In[]:=
Out[]=
GraphDiameter[First[#]]&/@%376
In[]:=
{$Aborted[],4,3,4,1,2,3,3,3,2,2,3,3,3,5,5,4,3,1,1}
Out[]=
Last/@%261
In[]:=
Out[]=
Table[GraphDiameter[MultiwaySystem[#,"A",t,"BranchialGraphStructure"]],{t,6}]&/@%387
In[]:=
Out[]=
ParallelMapMonitored[Table[TimeConstrained[GraphDiameter[MultiwaySystem[#,"A",t,"BranchialGraphStructure"]],4],{t,8}]&,%387]
In[]:=
Out[]=
ParallelMapMonitored[Table[TimeConstrained[VertexCount[MultiwaySystem[#,"A",t,"BranchialGraphStructure"]],4],{t,8}]&,%387]
In[]:=
Out[]=
FindLinearRecurrence/@%
In[]:=
Out[]=
MultiwaySystem[{"A""B","B""AA"},"A",12,"BranchialGraphStructure"]
In[]:=
Out[]=
Ratios[{0,3,10,35,126,462,1716,6435}]//N
In[]:=
Divide
:Infinite expression
3
0
encountered.
{ComplexInfinity,3.33333,3.5,3.6,3.66667,3.71429,3.75}
Out[]=
Ratios[{0,4,22,140,969,7084,$Aborted,$Aborted}]//N
In[]:=
Divide
:Infinite expression
4
0
encountered.
{ComplexInfinity,5.5,6.36364,6.92143,7.31063,0.000141163$Aborted,1.}
Out[]=
​
Table[VertexCount[MultiwaySystem[{"A""AABAA"},"A",t,"BranchialGraphStructure"]],{t,10}]
In[]:=
$Aborted
Out[]=
Table[TimeConstrained[Echo@VertexCount[MultiwaySystem[{"A""AABAA"},"A",t,"BranchialGraphStructure"]],15],{t,10}]
In[]:=
0
»
3
»
10
»
35
»
126
»
462
»
1716
»
6435
»
{0,3,10,35,126,462,1716,6435,$Aborted,$Aborted}
Out[]=
Ratios[%405]//N
In[]:=
Divide
:Infinite expression
3
0
encountered.
{ComplexInfinity,3.33333,3.5,3.6,3.66667,3.71429,3.75,0.0001554$Aborted,1.}
Out[]=
Table[TimeConstrained[Echo@EdgeCount[MultiwaySystem[{"A""AABAA"},"A",t,"BranchialGraphStructure"]],15],{t,10}]
In[]:=
0
»
3
»
28
»
196
»
1186
»
6576
»
34422
»
173022
»
{0,3,28,196,1186,6576,34422,173022,$Aborted,$Aborted}
Out[]=
Ratios[%406]//N
In[]:=
Divide
:Infinite expression
3
0
encountered.
{ComplexInfinity,9.33333,7.,6.05102,5.54469,5.23449,5.02649,5.77961×
-6
10
$Aborted,1.}
Out[]=
ListLinePlot[%408]
In[]:=
Out[]=
Table[EdgeCount@MultiwaySystem[{"A""AB","B""A"},"A",t,"BranchialGraphStructure"],{t,11}]
In[]:=
{0,1,3,9,23,55,124,268,560,1139,2266}
Out[]=
FindSequenceFunction[Rest[%],n]
In[]:=
FindSequenceFunction[{1,3,9,23,55,124,268,560,1139,2266},n]
Out[]=
Ratios[{1,3,9,23,55,124,268,560,1139,2266}]//N
In[]:=
{3.,3.,2.55556,2.3913,2.25455,2.16129,2.08955,2.03393,1.98946}
Out[]=
ListLinePlot[%]
In[]:=
Out[]=
FindLinearRecurrence[Rest[%409]]
In[]:=
FindLinearRecurrence[{1,3,9,23,55,124,268,560}]
Out[]=
Ratios[%]//N
In[]:=
Divide
:Infinite expression
1
0
encountered.
{ComplexInfinity,3.,3.,2.55556,2.3913,2.25455,2.16129,2.08955}
Out[]=
ParallelMapMonitored[Table[TimeConstrained[RaggedMeanAround[Values[GraphNeighborhoodVolumes[MultiwaySystem[#,"A",t,"BranchialGraphStructure"]]]],4],{t,3,8}]&,%387]
In[]:=
Values::invrl:The argument Association[ParallelMap[Module[{FunctionRepository`$844172c161324b318cee0545f605f2b2`vertexCounter$=0,FunctionRepository`$844172c161324b318cee0545f605f2b2`lastDistance$=-1},#1Append[(If[3]&)[Part[2]],FunctionRepository`$844172c161324b318cee0545f605f2b2`vertexCounter$]]&,{}]] is not a valid Association or a list of rules.
(kernel 84)
Values::invrl:The argument Association[ParallelMap[Module[{FunctionRepository`$844172c161324b318cee0545f605f2b2`vertexCounter$=0,FunctionRepository`$844172c161324b318cee0545f605f2b2`lastDistance$=-1},#1Append[(If[3]&)[Part[2]],FunctionRepository`$844172c161324b318cee0545f605f2b2`vertexCounter$]]&,{}]] is not a valid Association or a list of rules.
(kernel 84)
Values::invrl:The argument Association[ParallelMap[Module[{FunctionRepository`$844172c161324b318cee0545f605f2b2`vertexCounter$=0,FunctionRepository`$844172c161324b318cee0545f605f2b2`lastDistance$=-1},#1Append[(If[3]&)[Part[2]],FunctionRepository`$844172c161324b318cee0545f605f2b2`vertexCounter$]]&,{}]] is not a valid Association or a list of rules.
(kernel 84)
General::stop:Further output of Values::invrl will be suppressed during this calculation.
(kernel 84)
Out[]=
ListLinePlot[Last[#]]&/@%
In[]:=
ListLinePlot
:Transpose[MeanAround[{}]] is not a list of numbers or pairs of numbers.
ListLinePlot
:$Aborted is not a list of numbers or pairs of numbers.
ListLinePlot
:$Aborted is not a list of numbers or pairs of numbers.
General
:Further output of ListLinePlot::lpn will be suppressed during this calculation.
Out[]=
%387[[-5]]
In[]:=
{AAB,ABA}
Out[]=
Table[MultiwaySystem[{"AB""BA","BA""AB"},"AAABBB",t,"BranchialGraphStructure"],{t,20}]
In[]:=
Out[]=
Table[Graph[MultiwaySystem[{"BA""AB"},"B