WOLFRAM NOTEBOOK

Multiway merging

Lexicon

State: e.g. “ABAABB”: a state of the underlying substitution system.
Multistate: a collection of states e.g. at a particular step

No merging

Pure tree
In[]:=
Graph[MultiwaySystem[{"A""AA"},{"A"},2,"EvolutionTree"],VertexLabelsAutomatic]
Out[]=
Graph[MultiwaySystem[{AAA},{A},2,EvolutionTree],VertexLabelsAutomatic]
In[]:=
Graph[MultiwaySystem[{"A""AA"},{"A"},2,"EvolutionGraph"],VertexLabelsAutomatic]
Out[]=
In[]:=
MultiwaySystem[{"A""ABA","B""A"},{"A"},3,"PredecessorRulesList"]
Out[]=
{{A{}},{ABA{A}},{AAA{ABA},ABABA{ABA,ABA}},{AAABA{AAA,ABABA},AABAA{AAA},ABAAA{AAA,ABABA},ABABABA{ABABA,ABABA,ABABA}}}

[[ Incorrect EvolutionTree ]]

In[]:=
evoltree[list_]:=Graph[Flatten[{Style[#,Dotted]&/@Flatten[Module[{i=1},#{#,i++}&/@Flatten[Last/@#]]&/@list],Flatten[Map[Thread,list,{2}]]}]]
In[]:=
evoltree[MultiwaySystem[{"A""ABA","B""A"},{"A"},3,"PredecessorRulesList"]]
Out[]=
In[]:=
Module[{i=1},#{#,i++}&/@Flatten[Last/@#]]&/@MultiwaySystem[{"A""ABA","B""A"},{"A"},3,"PredecessorRulesList"]
Out[]=
{{},{A{A,1}},{ABA{ABA,1},ABA{ABA,2},ABA{ABA,3}},{AAA{AAA,1},ABABA{ABABA,2},AAA{AAA,3},AAA{AAA,4},ABABA{ABABA,5},ABABA{ABABA,6},ABABA{ABABA,7},ABABA{ABABA,8}}}

[We don’t have a causal graph for this case yet]

Merging of identical states at each step

In[]:=
Graph[MultiwaySystem[{"A""AA","B""AB"},{"ABA"},2,"LayeredCausalGraph"],VertexLabelsAutomatic]
Out[]=
In[]:=
Graph[MultiwaySystem[{"A""AA"},{"A"},3,"CausalGraph"],VertexLabelsAutomatic]
Out[]=
In[]:=
Graph[MultiwaySystem[{"A""AA"},{"A"},3,"ElementwiseEvolutionCausalGraph"],VertexLabelsAutomatic]
Out[]=
In[]:=
MultiwaySystem[{"A""AA"},{"A"},5,"CausalGraph"]
Out[]=
In[]:=
MultiwaySystem[{"A""AA"},{"A"},6,"CausalGraph"]
Out[]=
In[]:=
MultiwaySystem[{"A""AA"},{"A"},7,"CausalGraph"]
Out[]=
In[]:=
Graph[MultiwaySystem[{"BA""AB"},{"BBAA"},5,"CausalGraph"],VertexLabelsAutomatic]
Out[]=

Merging across all steps (traditional causal graph)

Events list

Imagine automatic parallelization of all updating orders

I.e. run the multiway system with every path in the MW system being run on a different parallel processor

Non-multiway causal graph construction

Relativity vs. QM
In the relationship between events, there can be timelike-separated events which affect each other through updates. There can be spacelike-separated events
There can be branch-separated events which arise from different rewrites of a single expression.
To do list

Specification of events for naming nodes (to agree with “AllEventsList”)

Formatting of evolution causal graphs [ different vertex shapes ]

Using actual strings as vertex shapes in various graphs

Wolfram Cloud

You are using a browser not supported by the Wolfram Cloud

Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


I understand and wish to continue anyway »

You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.