EPR interactions in generational multiway systems​
​by Joseph Blazer
The deterministic nature of Wolfram models (along with Bell's theorem) suggest non-local interactions are fundamental to exploring quantum systems. My project focuses on exploring non-local entanglement in multiway systems. One possible approach is based on the concept of a generational multiway system, which simplifies the usual multiway system by considering only maximal update events and the states derived from them. This constraint might provide a mechanism for non-local correlations. Aside from computational and analytic simplicity, the generational states of a system are expected to have a physical interpretation in terms of classical outcomes (this suggests a possible connection to Gerard’t Hooft's notion of an ontological basis for Hilbert space).

Graph of a Simple System

In a multiway generational system like this, I am trying to understand each generational state as a real, ontological state of the “universe” at a particular time. A path through the generational system is a complete state description in space-time, with each step being an indivisible time step. By positing that the universe acts in such a way as to fully transform the entire spatial hypergraph with a maximal update step in each time step, we open up the possibility for instantaneous non-local interactions and correlations between spatial subgraphs which are arbitrarily far away.
Here is a graph of a generational multiway evolution system. In constructing these graphs, a main issue is the dramatic increase in computation required at each step:
In[]:=
graphOutline[{{x,y},{x,z}}{{x,y},{x,w},{y,w},{z,w}},{{1,2},{1,3}},2];//Timer​​graphOutline[{{x,y},{x,z}}{{x,y},{x,w},{y,w},{z,w}},{{1,2},{1,3}},3];//Timer​​graphOutline[{{x,y},{x,z}}{{x,y},{x,w},{y,w},{z,w}},{{1,2},{1,3}},4]//Timer
Out[]=
50.2 ms
144.2 ms
21307.5 ms

Achieving a Practical Level of Efficiency

The main effort on this project so far has been working towards a generational multiway system constructor which is efficient enough to practically study the kinds of non-local interactions we are hypothesizing.This involved a few “hacks”. The generality of the code was reduced, but a whole new level of mathematical analysis of these kinds of maximal update rules seems to have been revealed.

getCanonicalDirectedGraph

At only the fourth generation, the problem of finding a canonical representation for a single hypergraph can take over 15 seconds. In cases where the hypergraph is composed of only 2-tuples, we can circumvent this computational complexity by treating the hypergraph as a directed graph:
getCanonicalHypergraph[{{1,4},{7,6},{1,2},{1,v609},{2,v609},{3,v609},{2,3},{2,v610},{3,v610},{4,v610},{5,1},{5,v611},{1,v611},{3,v611},{6,2},{6,v612},{2,v612},{4,v612}}]//Timer
17294.7 ms
Out[]=
{{1,2},{1,3},{2,3},{1,4},{2,4},{5,1},{5,3},{2,6},{5,6},{5,7},{7,4},{1,8},{7,8},{9,1},{9,8},{10,5},{10,6},{11,9}}
getCanonicalDirectedGraph[{{1,4},{7,6},{1,2},{1,v609},{2,v609},{3,v609},{2,3},{2,v610},{3,v610},{4,v610},{5,1},{5,v611},{1,v611},{3,v611},{6,2},{6,v612},{2,v612},{4,v612}}]//Timer
0.9 ms
Out[]=
{{1,5},{2,4},{2,8},{3,9},{3,11},{4,3},{4,7},{4,8},{4,10},{5,7},{5,9},{6,8},{6,10},{6,11},{7,6},{7,9},{7,10},{7,11}}
◼
  • Notice the two “canonical” representations are not identical.
  • This is OK. Canonicalization just mods out by hypergraph isomorphism, and two {2-tuple}hypergraphs are isomorphic if and only if their associated directed graphs are isomorphic.
    Because the code is consistent, the end result is the same up to hypergraph isomorphism, i.e. choice of representative for each coset of isomorphic hypergraphs.
    ◼
  • Perhaps there is a notion of isomorphism between entire evolution systems that would be worth exploring.
  • ◼
  • Of course, using this canonicalization procedure eliminates the possibility of studying hypergraphs in their full generality.
  • getMaximalMatchSets

    These algorithms extract all the maximal, non-overlapping update sets for a given hypergraph and rule. The first method we tried was so elegant and solid, but quickly became too slow to be practical. The new code is a bit hacky, but I believe it gets the job done in many important cases. Conditions in which my code fails and succeeds can be delineated by thorough analysis, and this analysis should lead to techniques for improving the generality of this simple algorithm while maintaining acceptable efficiency.
    maximalMatchSets[{{1,2},{1,3},{2,3},{1,4},{2,4},{5,1},{5,3},{2,6},{5,6},{5,7},{7,4},{1,8},{7,8},{9,1},{9,8},{10,5},{10,6},{11,9}},ToPatternRules[{{x,y},{x,z}}{{x,y},{x,w},{y,w},{z,w}}][[1]]]//Timer​​
    108207. ms
    Out[]=
    {{{1,2},{3,5},{4,12},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,2},{3,5},{4,12},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,2},{3,5},{4,12},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,2},{3,8},{4,12},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,2},{3,8},{4,12},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,2},{3,8},{4,12},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,2},{4,12},{5,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,2},{4,12},{5,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,2},{4,12},{5,8},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,5},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,5},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,5},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,8},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,4},{2,12},{5,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{5,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{5,8},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,5},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,5},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,5},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,8},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,12},{2,4},{5,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{5,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{5,8},{6,10},{7,9},{11,13},{14,15},{16,17}}}
    getMaximalMatchSets[{{1,2},{1,3},{2,3},{1,4},{2,4},{5,1},{5,3},{2,6},{5,6},{5,7},{7,4},{1,8},{7,8},{9,1},{9,8},{10,5},{10,6},{11,9}},ToPatternRules[{{x,y},{x,z}}{{x,y},{x,w},{y,w},{z,w}}][[1]]]//Timer
    164.6 ms
    Out[]=
    {{{1,2},{3,5},{4,12},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,2},{3,5},{4,12},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,2},{3,5},{4,12},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,2},{3,8},{4,12},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,2},{3,8},{4,12},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,2},{3,8},{4,12},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,2},{4,12},{5,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,2},{4,12},{5,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,2},{4,12},{5,8},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,5},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,5},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,5},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{3,8},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,4},{2,12},{5,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{5,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,4},{2,12},{5,8},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,5},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,5},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,5},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{3,8},{6,10},{7,9},{11,13},{14,15},{16,17}},{{1,12},{2,4},{5,8},{6,7},{9,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{5,8},{6,9},{7,10},{11,13},{14,15},{16,17}},{{1,12},{2,4},{5,8},{6,10},{7,9},{11,13},{14,15},{16,17}}}
    maximalMatchSets[hypergraph_,pattern_]:=​​Module[{matches,nonOverlappingSubsets,subsetRelations,maximalSubsets},​​matches=SubsetPosition[hypergraph,pattern];​​nonOverlappingSubsets=Select[DuplicateFreeQ[Catenate[#]]&]@Subsets[matches];​​subsetRelations=RelationGraph[SubsetQ[#2,#1]&&(Not[SameQ[#1,#2]])&,nonOverlappingSubsets,"DirectedEdges"True];​​maximalSubsets=VertexList[subsetRelations][[First/@Position[VertexOutDegree[subsetRelations],0]]];​​maximalSubsets]
    getMaximalMatchSets[hypergraph_,pattern_]:=​​Module[{matches,matchesCount,relationsCount,patternSize,maxPigeon,nonOverlappingSubsets,maxLength,maximalSubsets},​​matches=SubsetPosition[hypergraph,pattern];​​matchesCount=Length[matches];​​relationsCount=Length[DeleteDuplicates[Flatten[matches]]];​​patternSize=Length[First[matches]];​​maxPigeon=Floor[relationsCount/patternSize];​​nonOverlappingSubsets=Select[DuplicateFreeQ[Catenate[#]]&]@Subsets[matches,maxPigeon];​​maxLength=Length[Last[Sort[nonOverlappingSubsets]]];​​maximalSubsets=Select[Length[#]===maxLength&]@nonOverlappingSubsets;​​maximalSubsets]

    WolframGenerationalMultiwaySystem

    These two simplifications, along with some general reorganization of code, had a profound impact on the efficiency of computing the generational evolution of {2-tuple}hypergraphs. So long as one is careful to consider the limitations placed by these simplifications, there are a wide range of interesting systems and rules to be explored with this function:
    74856.6 ms
    52.3 ms

    Next Steps

    As previously mentioned, these “shortcuts” radically improve the computation speed of generational evolution for a certain class of wolfram models while simultaneously imposing serious limitations on general applicability. Fortunately, the code still has much room for improvement. There are possibly many ways to improve efficiency (parallelization during singleUpdate?).
    ​
    Furthermore, this code gives us a starting point to branch out from. There is a depth of structure in maximal update sets when viewed as hypergraphs in their own right. Studying these structures may lead us to insights that open up possibilities for classes of rules/hypergraphs which could not be handled with the current version of this algorithm.

    Keywords

    ◼
  • Wolfram Physics
  • ◼
  • Wolfram Language
  • ◼
  • Bell’s Inequality
  • Acknowledgment

    Mentor: Kiel Howe
    Thank you Kiel for all your help.