'
Dimensionalities of different systems
Dimensionalities of different systems
ParallelMapMonitored
ParallelMapMonitored
Dimensionality code
Dimensionality code
In[]:=
<< SetReplace`
In[]:=
normalGraph[evolution_SetSubstitutionEvolution, generation_Integer] := Graph[UndirectedEdge @@@ evolution[generation]]
In[]:=
Limit/.v(1+2#&),r100//N
Log[v[r+1]]-Log[v[r]]
Log[r+1]-Log[r]
Out[]=
0.995049
In[]:=
allDimensionalities[evolution_SetSubstitutionEvolution, generation_Integer] := Module graph = normalGraph[evolution, generation], volumes, logVolumeDifferences, logRadiiDifferences, volumes = ParallelMapMonitoredModule vertexCounter = 0, lastDistance = 0, Join Rest @ Reap[BreadthFirstScan[ graph, #, "DiscoverVertex" If[#3 > lastDistance, lastDistance=#3; Sow[vertexCounter] ]; vertexCounter++ &]]2, 1, ConstantArray[VertexCount[graph], 2] &, VertexList[graph]; logVolumeDifferences = Apply[ #2 - #1 &, Partition[#, 2, 1] & /@ Log[N[PadRight[# & /@ volumes, Automatic, VertexCount[graph]]]], {2}]; logRadiiDifferences = #2 - #1 & @@@ Partition[Log[N[Range[Dimensions[logVolumeDifferences]〚2〛 + 1]]], 2, 1]; Transpose[# / logRadiiDifferences & /@ logVolumeDifferences]
In[]:=
dimensionalitiesList[evolution_SetSubstitutionEvolution, generation_Integer] := MeanAround /@ allDimensionalities[evolution, generation]
In[]:=
multiGenerationsPlot[evolution_SetSubstitutionEvolution, o : OptionsPattern[]] := Module[ print, k, print = PrintTemporary["Generation: ", Dynamic[k], " / ", evolution["GenerationsCount"]]; ListPlot[ Table[dimensionalitiesList[evolution, k], {k, evolution["GenerationsCount"]}], o, PlotRange All, PlotTheme "Detailed", PlotRange All, Joined True, IntervalMarkers "Bands", PlotLegends ("Generation " <> # & /@ ToString /@ Range[evolution["GenerationsCount"]]), FrameLabel {"Radius", "Dimensionality"}]]
Enhanced point-to-triangle
Enhanced point-to-triangle
In[]:=
SetSubstitutionSystem[FromAnonymousRules[{{0,1},{0,2},{0,3}}{{4,5},{5,6},{6,4},{4,6},{6,5},{5,4},{4,1},{5,2},{6,3},{1,6},{3,4}}],{{0,0},{0,0},{0,0}},9]
Out[]=
In[]:=
%[7]//HypergraphPlot
Out[]=
In[]:=
%%["CausalGraph",GraphLayout"SpringElectricalEmbedding"]
Out[]=
Enhanced point-to-triangle (star start)
Enhanced point-to-triangle (star start)
Normal point to triangle (class 2)
Normal point to triangle (class 2)
Normal point to triangle (star start)
Normal point to triangle (star start)
Constructive enhanced point-to-triangle
Constructive enhanced point-to-triangle
Circle (consistency check)
Circle (consistency check)
Planar
Planar
Experimentation
Experimentation