A Class of Models with the Potential to Represent Fundamental Physics
  1. Introduction
  2. Basic Form of Models
  3. Typical Behaviors
  4. Limiting Behavior and Emergent Geometry
  5. The Updating Process for String Substitution Systems
  6. The Updating Process in Our Models
  7. Equivalence and Computation in Our Models
  8. Potential Relation to Physics
  9. Additional Material
  10. References
  11. Index

3.3 Initial Conditions

In addition to enumerating rules, we can also consider enumerating possible initial conditions. Like each side of a rule, these can be characterized by sequences n1k1n2k2... which give the number of relations ni of arity ki.

The only possible inequivalent 12 initial conditions are {{1,1}}, corresponding a graph consisting of a single self-loop, and {{1,2}}, consisting of a single edge. The possible inequivalent connected 22 initial conditions are:

ResourceFunction["EnumerateHypergraphs"][{{2, 2}}]

These correspond to the graphs:

ResourceFunction["WolframModelPlot"][#, "MaxImageSize" -> 100] & /@ {{{1, 1}, {1, 1}}, {{1, 1}, {1, 2}}, {{1, 1}, {2, 1}}, {{1, 2}, {1, 2}}, {{1, 2}, {2, 1}}, {{1, 2}, {1, 3}}, {{1, 2}, {2, 3}}, {{1, 2}, {3, 2}}}

The possible inequivalent 13 initial conditions are:

ResourceFunction["EnumerateHypergraphs"][{{1, 3}}]

These correspond to the hypergraphs:

ResourceFunction["WolframModelPlot"][#, "MaxImageSize" -> 100] & /@ ResourceFunction["EnumerateHypergraphs"][{{1, 3}}]

There are 102 inequivalent connected 23 initial conditions. Ignoring ordering of relations, these correspond to hypergraphs with the following structures:

ResourceFunction["WolframModelPlot"][#, "MaxImageSize" -> 70] & /@ Union[ResourceFunction["EnumerateHypergraphs"][{{2, 3}}], SameTest -> (IsomorphicGraphQ[ UndirectedGraph[ResourceFunction["HypergraphToGraph"]@#1], UndirectedGraph[ResourceFunction["HypergraphToGraph"]@#2]] &)]

Ignoring connectivity, the number of possible inequivalent n1 initial conditions is PartitionsP[n], the number of 1n ones is BellB[n], while the number of n2 ones can be derived using cycle index polynomials (see also [11:A137975]). The number of inequivalent connected initial conditions for various small signatures is as follows (with essentially the same Bell number estimates applying as for rules) [12]:

CloudGet["https://wolfr.am/Lc8paiaf"];RuleSignatureForm[ s : ({{_Integer, _Integer} ...} -> {{_Integer, _Integer} ...})] := RSF0 /@ s; RuleSignatureForm[s_List] := Row[Riffle[RuleSignatureForm /@ s, ", "]]; RSF0[s : {{_Integer, _Integer} ...}] := Row[Subscript[#1, #2] & @@@ ReverseSortBy[s, Last]]; Row[MapThread[ Function[{g, div}, Grid[g, Alignment -> {{Center, {Right}}, Inherited}, BaseStyle -> "Text", Dividers -> {Thread[{1, 3} -> Directive[Thick, GrayLevel[0.7]]], Join[Thread[{1, 7} -> Directive[Thick, GrayLevel[0.7]]], div]}, FrameStyle -> GrayLevel[0.7], Frame -> All, ItemSize -> {Automatic, 1.2}]], {Transpose[ Partition[Transpose[Flatten[Partition[KeyValueMap[{RSF0[{#1}], NumberForm[#2, 2]} &, results], UpTo[6]], {{2}, {1, 3}}]], 2], {1, 3, 2}], {{}, {5 -> Directive[AbsoluteThickness[3], GrayLevel[0.8]]}, {6 -> Directive[AbsoluteThickness[3], GrayLevel[0.8]]}, {5 -> Directive[AbsoluteThickness[3], GrayLevel[0.8]]}, Thread[{3, 6} -> Directive[AbsoluteThickness[3], GrayLevel[0.8]]]}}], Spacer[10]]

A rule can only apply to a given initial condition if the initial condition contains at least enough relations to match all elements of the left-hand side of the rule. In other words, for a rule with signature nk there must be at least n k-ary relations in the initial condition.

One way to guarantee that a rule will be able to apply to an initial condition is to make the initial condition in effect be a copy of the left-hand side of the rule, for example giving an initial condition {{1,2},{1,3}} for a rule with left-hand side {{x,y},{x,z}}. But the initial condition that in effect has the most chance to match is what is in many ways the simplest possible initial condition: the “self-loop” one where all elements are identical, or in this case {{0,0},{0,0}}. In what follows we will usually use such self-loop initial conditions Table[0,n,k].