In studying Vr we are looking at the total size of the neighborhood up to distance r around a point in a graph. But what about the actual local structure of the neighborhood?
In general, it can be different for every point on the graph. Thus, for example, in
ResourceFunction[
"WolframModel"][{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y, w}, {z,
w}}, {{1, 2}, {1, 3}}, 10, "FinalStatePlot"]
obtained from 10 steps of the rule {{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}} the collection of distinct range-1 neighborhoods (with their counts) is:
With[{gr =
UndirectedGraph[
Rule @@@
ResourceFunction[
"WolframModel"][{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y,
w}, {z, w}}, {{1, 2}, {1, 3}}, 10, "FinalState"]]},
ReverseSortBy[(Graph[CanonicalGraph[First[#]],
GraphLayout -> "SpringElectricalEmbedding",
VertexCoordinates -> Automatic, ImageSize -> 30,
VertexStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "VertexStyle"],
EdgeStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "EdgeLineStyle"]] -> Length[#]) & /@
Gather[NeighborhoodGraph[gr, #, 1] & /@ VertexList[gr],
IsomorphicGraphQ], Last]]
The corresponding result after 12 steps is:
With[{gr =
UndirectedGraph[
Rule @@@
ResourceFunction[
"WolframModel"][{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y,
w}, {z, w}}, {{1, 2}, {1, 3}}, 12, "FinalState"]]},
ReverseSortBy[(Graph[CanonicalGraph[First[#]],
GraphLayout -> "SpringElectricalEmbedding",
VertexCoordinates -> Automatic, ImageSize -> 30,
VertexStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "VertexStyle"],
EdgeStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "EdgeLineStyle"]] -> Length[#]) & /@
Gather[NeighborhoodGraph[gr, #, 1] & /@ VertexList[gr],
IsomorphicGraphQ], Last]]
And it seems that for this rule the distribution of different forms for a given range of neighborhood generally stabilizes as the number of steps increases. (It may be possible to characterize it as limiting to an invariant measure in the space of possible hypergraphs, perhaps with some related entropy (cf. [1:p958][31]).)
One sees the same kind of stabilization for most rules, though, for example, in a case like
ResourceFunction[
"WolframModel"][{{x, y}} -> {{x, y}, {y, z}, {z, x}}, {{1,
1}}, 6, "FinalStatePlot"]
from the rule {{x,y}}{{x,y},{y,z},{z,x}} one always gets some neighborhoods with new forms at each step:
Column[Table[
With[{gr =
UndirectedGraph[
Rule @@@
ResourceFunction[
"WolframModel"][{{x, y}} -> {{x, y}, {y, z}, {z, x}}, {{1,
1}}, t, "FinalState"]]},
ReverseSortBy[(Graph[CanonicalGraph[First[#]],
GraphLayout -> "SpringElectricalEmbedding",
VertexCoordinates -> Automatic, ImageSize -> 20,
VertexStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "VertexStyle"],
EdgeStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "EdgeLineStyle"]] -> Length[#]) & /@
Gather[NeighborhoodGraph[gr, #, 1] & /@ VertexList[gr],
IsomorphicGraphQ], Last]], {t, 3, 6}]]
In general, the presence of many identical neighborhoods reflects a certain kind of approximate symmetry or isometry of the emergent geometry of the system.
In a torus graph, for example, the symmetry is exact, and all local neighborhoods of a given range are the same:
Table[With[{gr =
ResourceFunction["TorusGraph"][{5, 5}]}, (Graph[
CanonicalGraph[First[#]],
GraphLayout -> "SpringElectricalEmbedding",
VertexCoordinates -> Automatic, ImageSize -> 40,
VertexStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "VertexStyle"],
EdgeStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "EdgeLineStyle"]]) & /@
Gather[NeighborhoodGraph[gr, #, r] & /@ VertexList[gr],
IsomorphicGraphQ]], {r, 5}]
The same is true for a 3D torus graph:
Table[With[{gr =
ResourceFunction["TorusGraph"][{5, 5, 5}]}, (Graph[
CanonicalGraph[First[#]],
GraphLayout -> "SpringElectricalEmbedding",
VertexCoordinates -> Automatic, ImageSize -> 40,
VertexStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "VertexStyle"],
EdgeStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "EdgeLineStyle"]]) & /@
Gather[NeighborhoodGraph[gr, #, r] & /@ VertexList[gr],
IsomorphicGraphQ]], {r, 5}]
For a sphere graph not every point has the exact same local neighborhood, but there are a limited number of neighborhoods of a given range:
Table[With[{gr = ResourceFunction["BuckyballGraph"][4]},
ReverseSortBy[(Graph[CanonicalGraph[First[#]],
GraphLayout -> "SpringElectricalEmbedding",
VertexCoordinates -> Automatic, ImageSize -> 30,
VertexStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "VertexStyle"],
EdgeStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "EdgeLineStyle"]] -> Length[#]) & /@
Gather[NeighborhoodGraph[gr, #, r] & /@ VertexList[gr],
IsomorphicGraphQ], Last]], {r, 4}]
And from the dual graph it becomes clear that these are associated with hexagonal and pentagonal “faces”:
Table[With[{ms =
Graph[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252}, {
Null, CompressedData["
1:eJwB7QUS+iFib1JiAgAAAO4CAAACAAAAAQMDAgIBBAMBBAMFBQIGAQIGBwME
BwEICAQDCQkFCgIFCgsBBgsCDAwGBwkEDQ0HDgUJDgcPDwkLCBAECBAKDAUR
EQoGEhILEwYMExQICxQKFRUMEA0WBw0WDhEJFxcOFg8PFwgYGBAZChEZGg0Q
Gg4bGxETEhwLEhwMHR0THg8WHh4XDR8fFiAOFyAUGBwUGRUVHSESEyEiEBgi
ESMjGRQkJBglFRklEiYmHCcTHScoFBwoFSkpHRYqKh4rFx4rGh8iGiAbGyMf
KisgISYnIRosLB8tGyAtGC4uIi8ZIy8wGiIwGzExIzIeKjIyKygkHDMzKCUp
NB0pNCYzNCckLi8lHzU1KjYgKzYhNzcmOCEnOCg5OSQ6KSU6OyIuOyM8PC8z
OTo0JD09Lj4lLz4mPz8zQCc0QCpBQTJCKzJCMCwsNS0xNi07MDE8NUFCNjk9
Pjo4Nzc/QDhDLDBDLUREMSxFRTVGLTZGM0dHOUg0OkguSUk7Si88Sj1JSj5L
MkFLS0I/R0hATDA7TDFNTTw1Tk5BTzZCT1A3OFA5UVE9Ujo+UjdTUz9UOEBU
R1FSSENFTENGRERNRU5PRj9VVUdWQEhWVztJVzxYWEo9WVlJWj5KWkFbW0tc
QktcV0xNWFFZWlJDXV1FXkRGXk5bXE9QU1RQX0NMX0RgYE1HYWFRYkhSYlNV
VlRFY2NOZEZPZEllZVdmSlhmVWFiVlllZlpnTFdnTWhoWFBpaVNqUFRqa0tb
a2tcUWxsWW1SWm1Obm5bb09cb1NwcFVxVFZxX11nX15gYGhdY2ReYWxtYlVy
cmFzVmJzY25vZF90dF11YF51dldldlh3d2ZZeHhleVpmeXZnaHdbenpre1xr
e2d0dWhdfHxjfV5kfWppaXBxamx4eW1uentvYX5+bH9ibX9wcnNxY4CAboFk
b4GCaWqCdHx9dWmDg3CEanGEcn5/c2eFhXSGaHWGdoWGd2WHh3aIZneIiWt6
iYl7eIeIeWyKiniLbXmLfICBfW6MjHqNb3uNcI6Oco9xc490kJB8kXV9kX6K
i3+Cg4SCgIyNgXqSkomTe4mTcpSUfpVzf5WFkJGGdpaWhZd3hpeDjo+EfJiY
gJl9gZmHlpeIeJqah5t5iJuCnJyDhJyKmpuLjJKTjX6dnYqef4uejpSVj4Cf
n4yggY2gkJiZkYOhoY6ihI+ihaOjkKSGkaSSk5ajpJeHpaWWpoiXppSdnpWM
p6eSqI2TqJqlppuKqamaqoubqpifoJmcoaKcjqurlKyPlaySra2TkK6umK+R
ma+dqaqen6eooKGrrKKUsLCdsZWesaOur6SWsrKjs5eks5y0tKGitKWys6aa
tbWltpumtqm1tqqYt7efuJmguKetraidubmpup6ququwsayfu7unvKCovK63
uK+hvb2rvqKsvqO/v67ApK/Ap8HBrcKorcKwubqxubW2urS9vrTDpbXDpsTE
trK/wLPDsrPEq8XFsMassca3u7y4rsfHt8ivuMiwycm5yrG6ysu1ucu2zMy6
u8HCvL3Fxr6/x8jAtM3Nvb7NwcLLw8TMss7Ov8+zwM+30NC70bi80cPOz8TF
ycrGu9LSwdO8wtPH0NHIycvMysHU1MK91dXF1r7G1r/X18fYwMjY2cPL2cTa
2szN1dbNztfYz9nOz9rQ0tPRxdvbydzGytzdy8ndzN7eysff39DgyNHg0tTU
09ff4NjV29zW3dna3tDh4dLi0dPizePj1dbjzuTk1+XP2OXZ5OXa3+Hi4Nvd
3tzS5ubU59PU59fo6N/p2ODp1erq2+vW3Ovs2d3s2u3t3tvu7t3v3N7v4+rr
4+Hm5+Lk6Onl6OHi6ezk5e3m5+ru7+vk8PDo8eXp8eHy8ubz4ufz6PLz6eP0
9Orr9O7s7e/s8PHt5vX15+r29u736+/3+Ozu+O35+e/09vf08PLz8fL19fP4
8PH5+vLw+vP7+/H2+Pn39/b69fX7+Pr7+fz29/z8+Pn8+vv8+vv8xx3nrQ==
"]}, {FormatType -> TraditionalForm}]},
Normal[KeyMap[
Graph[#, ImageSize -> 30,
VertexStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "VertexStyle"],
EdgeStyle ->
ResourceFunction["WolframPhysicsProjectStyleData"][
"SpatialGraph", "EdgeLineStyle"]] &,
ReverseSort@
Counts[ParallelMap[CanonicalGraph,
ParallelMap[NeighborhoodGraph[ms, #, r] &,
VertexList[ms]]]]]]], {r, 1, 3}]
For a (spherical) Sierpiński graph, there are also a limited number of neighborhoods of a given range:
Table[With[{gr = \!\(\*
GraphicsBox[
NamespaceBox["NetworkGraphics",
DynamicModuleBox[{Typeset`graph = HoldComplete[
Graph[CompressedData["
1:eJwt0NFGgwEAgNG/JEmSSZJJJZNMkiQz6Rl6hC6TlSSTJEmSJEmSJEmSJEmS
JJkkSTJJkiRJkiRJks5FF8d3/5W3drQkMoIgaKftvwk66aKbHpL00kc/Awwy
xDAjjDLGOBNMMsU0M8wyxzwLLLLEMiusssY6G2yyxTY77LLHPgcckuKIY044
5YxzLkhzyRXX3HDLHfc88MgTz7zwyhvvfPDJF9/88EtgWiZZZJNDLnnkU0CI
QooopoQwpZRRQSURqqgmSg211FFPA43EiNNEM3+nCjsd
"], {
Null, CompressedData["
1:eJwVxVWSggAAAFAFO0BsMVEs7E4sUOzAbsVGZ7zTnnR3P948jPuyHCAQCH7+
/C8EhCAAisQiiVgiFEllUrlMDkjFMoVSoVKqQJUaUsMQrFBrEI0W0So1EKLT
6wx6g8RgNBnNJrPOCJstqMWKWvUWE2qz2xx2h9PlxFyYzen2uHEPbne7PHLc
6/P6fX6HPxAMEEHCGwiFQ5FwxBcKhqOxaDwWx+KJZCKVTEUTRCqdSWcz2Vg6
mcnlc4V8oVgqlkvlXJGskNVKNU+WKtpqrV5r1BuFBkVTTbpZo1pMq8206y2a
ibQ73U6v2yv3+oP+cDDs9JvD0Xg0GU+6o8GYnbKz6Wy+mC8XS3a+Wq826810
tVhbN9vddr/bz/aH4+F0PG0PZ+584S6785HLXq636/12X94fz8fr+bo+Ti/+
zX/enxv/fE8+v6+5R0c=
"]}, {
GraphLayout -> "TutteEmbedding", ImageSize -> Tiny,
VertexSize -> {Tiny}}]]},
TagBox[GraphicsGroupBox[GraphicsComplexBox[CompressedData["
1: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
otUQ+Vcr/g1cwYVH
"], {
{Hue[0.6, 0.7, 0.5], Opacity[0.7], LineBox[CompressedData["
1:eJwVxVWSggAAAFAFO0BsMVEs7E4sUOzAbsVGZ7zTnnR3P948jPuyHCAQCH7+
/C8EhKBQBICAFFSJxCKJWCKWSQxSmVQuk8txhVKhUqiVKqVGDalhCIYQ2KxB
NFpEq63q9DqDzqg36C1Gk9FsMptQC2qxolbrxma3OWxOu8PudvidLifmwlwe
LO72uHEP7vV5/d6Az+8LBYIBIkgEw0QqFA5FwpFIOxqLxqOJWDyWTiQTqWQq
mUln0tlMNnvJ5XOFXDFfyJOFRrFULJfKpUq5R1bIaqVaq9caNareqLcommrS
TZppDltMq820O91Or9Pv9rqj/qA/HAwH49F4NBlPJh92ys7Y+XQ2Xc3288V8
uVgu1sv7ar3arDfb3Xa/Pez2u/PheDgdT0fu9Dpz5wt3ud6u9+vjdr/xj+fj
9Xw93/yb/7w/v6kFR0c=
"]]},
{Hue[0.6, 0.2, 0.8], EdgeForm[{GrayLevel[0], Opacity[0.7]}],
DiskBox[1, 0.0002522464934702044],
DiskBox[2, 0.0002522464934702044],
DiskBox[3, 0.0002522464934702044],
DiskBox[4, 0.0002522464934702044],
DiskBox[5, 0.0002522464934702044],
DiskBox[6, 0.0002522464934702044],
DiskBox[7, 0.0002522464934702044],
DiskBox[8, 0.0002522464934702044],
DiskBox[9, 0.0002522464934702044],
DiskBox[10, 0.0002522464934702044],
DiskBox[11, 0.0002522464934702044],
DiskBox[12, 0.0002522464934702044],
DiskBox[13, 0.0002522464934702044],
DiskBox[14, 0.0002522464934702044],
DiskBox[15, 0.0002522464934702044],
DiskBox[16, 0.0002522464934702044],
DiskBox[17, 0.0002522464934702044],
DiskBox[18, 0.0002522464934702044],
DiskBox[19, 0.0002522464934702044],
DiskBox[20, 0.0002522464934702044],
DiskBox[21, 0.0002522464934702044],
DiskBox[22, 0.0002522464934702044],
DiskBox[23, 0.0002522464934702044],
DiskBox[24, 0.0002522464934702044],
DiskBox[25, 0.0002522464934702044],
DiskBox[26, 0.0002522464934702044],
DiskBox[27, 0.0002522464934702044],
DiskBox[28, 0.0002522464934702044],
DiskBox[29, 0.0002522464934702044],
DiskBox[30, 0.0002522464934702044],
DiskBox[31, 0.0002522464934702044],
DiskBox[32, 0.0002522464934702044],
DiskBox[33, 0.0002522464934702044],
DiskBox[34, 0.0002522464934702044],
DiskBox[35, 0.0002522464934702044],
DiskBox[36, 0.0002522464934702044],
DiskBox[37, 0.0002522464934702044],
DiskBox[38, 0.0002522464934702044],
DiskBox[39, 0.0002522464934702044],
DiskBox[40, 0.0002522464934702044],
DiskBox[41, 0.0002522464934702044],
DiskBox[42, 0.0002522464934702044],
DiskBox[43, 0.0002522464934702044],
DiskBox[44, 0.0002522464934702044],
DiskBox[45, 0.0002522464934702044],
DiskBox[46, 0.0002522464934702044],
DiskBox[47, 0.0002522464934702044],
DiskBox[48, 0.0002522464934702044],
DiskBox[49, 0.0002522464934702044],
DiskBox[50, 0.0002522464934702044],
DiskBox[51, 0.0002522464934702044],
DiskBox[52, 0.0002522464934702044],
DiskBox[53, 0.0002522464934702044],
DiskBox[54, 0.0002522464934702044],
DiskBox[55, 0.0002522464934702044],
DiskBox[56, 0.0002522464934702044],
DiskBox[57, 0.0002522464934702044],
DiskBox[58, 0.0002522464934702044],
DiskBox[59, 0.0002522464934702044],
DiskBox[60, 0.0002522464934702044],
DiskBox[61, 0.0002522464934702044],
DiskBox[62, 0.0002522464934702044],
DiskBox[63, 0.0002522464934702044],
DiskBox[64, 0.0002522464934702044],
DiskBox[65, 0.0002522464934702044],
DiskBox[66, 0.0002522464934702044],
DiskBox[67, 0.0002522464934702044],
DiskBox[68, 0.0002522464934702044],
DiskBox[69, 0.0002522464934702044],
DiskBox[70, 0.0002522464934702044],
DiskBox[71, 0.0002522464934702044],
DiskBox[72, 0.0002522464934702044],
DiskBox[73, 0.0002522464934702044],
DiskBox[74, 0.0002522464934702044],
DiskBox[75, 0.0002522464934702044],
DiskBox[76, 0.0002522464934702044],
DiskBox[77, 0.0002522464934702044],
DiskBox[78, 0.0002522464934702044],
DiskBox[79, 0.0002522464934702044],
DiskBox[80, 0.0002522464934702044],
DiskBox[81, 0.0002522464934702044],
DiskBox[82, 0.0002522464934702044],
DiskBox[83, 0.0002522464934702044],
DiskBox[84, 0.0002522464934702044],
DiskBox[85, 0.0002522464934702044],
DiskBox[86, 0.0002522464934702044],
DiskBox[87, 0.0002522464934702044],
DiskBox[88, 0.0002522464934702044],
DiskBox[89, 0.0002522464934702044],
DiskBox[90, 0.0002522464934702044],
DiskBox[91, 0.0002522464934702044],
DiskBox[92, 0.0002522464934702044],
DiskBox[93, 0.0002522464934702044],
DiskBox[94, 0.0002522464934702044],
DiskBox[95, 0.0002522464934702044],
DiskBox[96, 0.0002522464934702044],
DiskBox[97, 0.0002522464934702044],
DiskBox[98, 0.0002522464934702044],
DiskBox[99, 0.0002522464934702044],
DiskBox[100, 0.0002522464934702044],
DiskBox[101, 0.0002522464934702044],
DiskBox[102, 0.0002522464934702044],
DiskBox[103, 0.0002522464934702044],
DiskBox[104, 0.0002522464934702044],
DiskBox[105, 0.0002522464934702044],
DiskBox[106, 0.0002522464934702044],
DiskBox[107, 0.0002522464934702044],
DiskBox[108, 0.0002522464934702044]}}]],
MouseAppearanceTag["NetworkGraphics"]],
AllowKernelInitialization->False]],
DefaultBaseStyle->{
"NetworkGraphics",
FrontEnd`GraphicsHighlightColor -> Hue[0.8, 1., 0.6]},
FormatType->TraditionalForm,
FrameTicks->None,
ImageSize->Tiny]\)},
ReverseSortBy[(Graph[CanonicalGraph[First[#]],
GraphLayout -> "SpringElectricalEmbedding",
VertexCoordinates -> Automatic, ImageSize -> 40] ->
Length[#]) & /@
Gather[NeighborhoodGraph[gr, #, r] & /@ VertexList[gr],
IsomorphicGraphQ], Last]], {r, 4}]
Whenever every local neighborhood is essentially identical, Vr(X) will have the same form for every point X in a graph or hypergraph. But in general Vr(X) (and the log differences Δr(X)) will depend on X. The picture below shows the relative values of Δr(X) at each point in the structure we showed above:
LDLocalGraph[g_, r_, opts___] :=
With[{ld =
N[ResourceFunction["LogDifferences"] /@
ResourceFunction["GraphNeighborhoodVolumes"][UndirectedGraph[g],
All, Automatic]]},
Graph[g, VertexStyle -> (# ->
Hue[.24 (ld[#][[r]]) + .12, .7, .9] & /@ VertexList[g]),
EdgeStyle -> LightGray, opts,
VertexSize -> ((# -> 2 ld[#][[r]]) & /@ VertexList[g]),
PlotTheme -> "Default"]]
With[{gg =
Graph[Rule @@@
ResourceFunction[
"WolframModel"][{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y,
w}, {z, w}}, {{1, 2}, {1, 3}}, 10, "FinalState"]]},
Table[Labeled[LDLocalGraph[gg, r, ImageSize -> 150],
Text[Style[Row[{Style["r", Italic], StringTemplate[" = ``"][r]}],
Directive[GrayLevel[.25], FontSize -> .85 Inherited,
FontFamily -> "Source Serif Pro"]]]], {r, 7}]]
We can also compute the distribution of values for Δr(X) across the structure, as a function of r:
FullLDList[g_] :=
N[ResourceFunction["LogDifferences"] /@
ResourceFunction["HypergraphNeighborhoodVolumes"][g, All,
Automatic]];
Module[{r = 1},
Histogram[#, PlotRange -> {{0, 4.5}, Automatic}, Frame -> True,
FrameTicks -> {Automatic, None}, ImageSize -> Tiny,
Epilog ->
Text[Style[
Row[{Style["r", Italic], StringTemplate[" = ``"][r++]}],
Directive[FontSize -> 12, GrayLevel[0.2],
FontFamily -> "Source Serif Pro"]],
Scaled[{0, 1}], {-1.3, 1.1}]] & /@
Transpose[
Values[FullLDList[
ResourceFunction[
"WolframModel"][{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y,
w}, {z, w}}, {{1, 2}, {1, 3}}, 10, "FinalState"]]]]]
Both these pictures indicate a certain statistical uniformity in Vr(X). This is also seen if we look at the evolution of the distribution of Δr(X), here shown for the specific value r = 6, for steps 8 through 16:
FullLDList[g_] :=
N[ResourceFunction["LogDifferences"] /@
ResourceFunction["HypergraphNeighborhoodVolumes"][g, All,
Automatic]];
Table[Histogram[#, PlotRange -> {{0, 4.5}, Automatic}, Frame -> True,
FrameTicks -> {Automatic, None}, ImageSize -> Tiny] &@
Transpose[
Values[FullLDList[
ResourceFunction[
"WolframModel"][{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y,
w}, {z, w}}, {{1, 2}, {1, 3}}, t, "FinalState"]]]][[6]], {t,
8, 16}]