Fractales dans le sable, ou Plus de trois ne se rassemblent pas

Nous parlerons du modèle de tas de sable. Du sable (pas réel, modèle), se renversant, crée ces images: des



tas de sable peuvent être ajoutés (c'est facile si vous êtes habitué à plier toutes sortes de choses) et soustraits (mais ce n'est déjà pas trivial).

Vous pouvez également utiliser cette chose comme un monde Hello au lieu du jeu Life.

Tas de sable


Prenez un champ quadrillé carré. Des grains de sable peuvent se trouver dans chaque cellule de ce champ. Par exemple, cela peut ressembler à ceci:



Maintenant, ajoutez un grain de sable à cette cellule où il y en a trois:



Et maintenant, l'attention est la règle la plus importante:
Si quatre grains de sable se trouvent dans la cellule, ils sont répartis sur quatre cellules voisines.

Comme on dit, il y a un effondrement (renversement). Comme ceci:



Une règle très naturelle. Bien qu'il ne ressemble pas du tout à du sable, il est plus probable qu'il suive la règle «ne pas se réunir pendant plus de trois»: si quatre personnes dans une cage ont réussi à se réunir, elles se dispersent dans des directions différentes.

De cette façon, une cascade de glissements de terrain peut se produire - lorsqu'un tas de sable est amassé, il s'effondre jusqu'à ce qu'il y ait des cellules instables avec 4 grains de sable ou plus, c'est-à-dire jusqu'à ce qu'un tas de sable stable soit obtenu :



cela ressemble déjà au mécanisme des épidémies de maladie dans la pandémie ", Quoique à distance.

Et si dans plusieurs cellules en même temps il y avait 4 grains de sable ou plus, alors quoi? Dans quel ordre faire des glissements de terrain? Réponse: cela n'a pas d'importance.

Preuve
, - , ( , ): x1,,xny1,,yk(x1 . . , ). x1, , . . - yj=x1. , — , , , — . yj, , : yj,y1,,yj1,yj+1,,yk. yj=x1, , , x1, x2,,xny1,,yj1,yj+1,,yk. , — , , , .

Si vous jetez beaucoup, beaucoup de grains de sable dans une cellule d'un champ sans fin et que vous les laissez s'écrouler, vous obtenez un tel mandala:



ici, "beaucoup, beaucoup" est de 30 millions, et les cellules avec 0, 1 , 2 , 3 grains de sable sont marquées avec des pixels de blanc, vert, violet et couleur dorée. Il y a une vidéo sur YouTube , vous pouvez voir à quoi cela ressemble dans la dynamique.

Ajouter et soustraire


En raison du fait que la séquence des glissements de terrain est sans importance, nous pouvons déterminer l'opération d'ajout de tas de sable stables: nous mettons l'un sur l'autre, empilons des grains de sable des cellules correspondantes et le laissons s'effondrer. Sur un champ infini, vous devez alors prendre soin d'introduire des coordonnées coordonnées sur les deux termes du tas. Il peut être traité et des tas de sable au dernier champ quadrillé - lorsque les grains de sable s'effondrent sur le bord, ils sont perdus à jamais (ils disent que le bord du champ situé kletki coule (évier), ou un grand kletischa, peu importe). Voici un exemple de l'ajout de deux tas de sable dans un champ 3 × 3. Comme vous pouvez le voir, deux séquences d'effondrement différentes conduisent au même résultat.



C'est également possible sur le tore, mais vous devez toujours y faire au moins une cellule de drainage pour que le sable puisse s'écouler, sinon la séquence des glissements de terrain peut être infinie.

Il s'avère que l'ensemble des tas de sable stables sur un champ donné (fini ou infini) a la structure d'un monoïde commutatif : ils peuvent être empilés ensemble (de plus, cet ajout est commutatif et associatif), et le champ vide sans un seul grain de sable joue le rôle de zéro. Vous ne pouvez pas soustraire des tas si simplement: vous pouvez obtenir une quantité négative de grains de sable. Cependant, nous construirons également un analogue de soustraction, mais pas pour tous les tas, mais seulement pour l'élite.

Un peu d'algèbre. Idéaldans un monoïde commutatif est appelé son sous-ensemble qui est invariant par rapport à l'ajout de tout élément de ce monoïde, y compris non de l'idéal. Autrement dit, si vous appartenez à un idéal, vous n'en sortirez pas, peu importe ce que vous ajoutez à vous-même. Par exemple, l'ensemble des nombres naturels est également un monoïde commutatif, uniquement en ce qui concerne la multiplication, et l'idéal en est, par exemple, l'ensemble des nombres pairs: pour lesquels un nombre pair ne se multiplie pas, vous obtenez toujours un nombre pair. L'idéal minimum est l'intersection de tous les idéaux (non vides); lui-même est aussi un idéal. Dans l'exemple avec des nombres naturels, l'intersection de tous les idéaux non vides est un ensemble vide. Cependant, dans le cas des monoïdes commutatifs finis, ce n'est pas le cas. Il existe un théorème sur l'idéal minimal dans un monoïde commutatif fini, selon lequel il estpar un groupe (par rapport à la même opération qui est spécifiée sur le monoïde): il y a un élément neutre (analogique de zéro), et chaque élément a un inverse, c'est-à-dire que la soustraction est spécifiée avec l'addition. Dans le cas général, cela s'avère ennuyeux, mais nous ne nous intéressons qu'aux tas de sable.

Prenez des tas sur le champ final pour que l'ensemble des tas stables soit fini. Notez que le tas de sable avec le nombre maximum de grains de sable dans chaque cellule (c'est-à-dire 3; appelons-le simplement «tas 3») appartient à tout idéal dans le monoïde des tas de sable stables, puisque vous pouvez ajouter un autre tas stable spécialement sélectionné à n'importe quel tas stable un tas pour obtenir un tas de 3 (les glissements de terrain n'ont pas besoin d'être faits). Par conséquent, l'idéal minimal est générétas 3: pour l'obtenir, vous devez prendre le tas 3 et y ajouter tour à tour toutes sortes de tas de sable stables. Cela se traduira par un certain sous-ensemble de l'ensemble de tous les tas stables; il ne contient pas, par exemple, un champ vide. Les tas de sable de ce sous-ensemble sont appelés récurrents (récurrents).

Ainsi, l'algèbre générale nous dit que de nombreux tas de sable de retour sont un groupe. Par conséquent, il a des éléments inverses et neutres. Un élément neutre ( élément d' identité) est un segment de retour qui ne le modifie pas lorsqu'il est ajouté à un autre segment de retour. Soit dit en passant, l'ajout d'un élément neutre est juste montré dans l'illustration de l'ajout de tas.
Pour obtenir un élément neutre, vous devez jeter chaque cellule deux fois plus que le nombre maximal de grains de sable (c'est-à-dire 6), le laisser s'effriter, puis soustraire le nombre de grains de sable dans chaque cellule de 6, laisser le résultat s'effondrer.

Pourquoi?
() 6 6, , , °, ( ) . : I = (6−6°)° , R (R+I)° = R. R , R = (3+S)° - S.

(R+I)° = ((3+S)°+(6−6°)°)° = (3+S+6−6°)° — - , . , , . : (3+S+6−6°)° = ((3−6°)+6+S)° = ((3−6°)+6°+S)° = (3+S)° = R, !

, 6 A (R+(A−A°)°)° = R. 6 , A−A° 3 , . . . — , , .

Comment soustraire?
I = (6−6°)° — , , R R−1 — , R I: (R−1+R)° = I. (2×(6−6°)−R)°, 2× .

Voici à quoi ressemble l'élément neutre du groupe de tas de sable (de retour) dans le domaine de 1024 × 1024; les cellules avec 0, 1 , 2 , 3 grains de sable dans la cellule sont colorées en noir, vert, violet et doré.



Sur KDPV - la même chose pour le champ 1000 × 500, et l'illustration de l'ajout de tas 3 × 3 montre également l'élément neutre local.

Autrement dit, vous comprenez. Les groupes sont différents, mais les éléments neutres en eux semblent généralement complètement neutres. Dans le groupe de quelques nombres d'addition, l'élément neutre est le nombre 0, dans le groupe de nombres réels ou complexes non nuls dans la multiplication le nombre est 1, dans le groupe de vecteurs d'addition le vecteur zéro, dans le groupe de permutation la permutation est "tout à sa place", dans le groupe mouvements - "ne touchez à rien." Et ici - une telle beauté! Qui essaient encore de calculer.

Motifs


Tant dans l'élément neutre que dans le tas qui s'est effondré à partir de nombreux grains de sable dans une seule cellule, des affirmations d'auto-similitude sont visibles. De plus, bien que les détails changent lorsque le champ est redimensionné, l'image dans son ensemble - comme si une carte fractale de zones remplies de motifs périodiques simples cousus à partir des serviettes de Sierpinski - reste inchangée et ne reste détaillée que lorsque le champ est agrandi.



Moritz Lang, CC BY-SA 4.0

Il ne semble y avoir aucune preuve de ce fait spécifiquement pour un élément neutre sur une grille carrée. Mais pour un tas qui s'est effondré à partir de nombreuses particules dans une cellule, l'existence ( préimpression , article ) et la fractalité ( préimpression , article ) sont prouvées) de la figure résultant de la tendance du nombre de grains de sable à l'infini avec réglage simultané de l'échelle.

De plus, l'existence et la fractalité d'un tas de sable dans un champ carré fini (plus précisément, sa limite pour le nombre de cellules dans un champ tendant vers ∞), qui est un élément neutre avec 1 grain de sable ajouté dans chaque cellule (avec effacement ultérieur, comme d'habitude), a été prouvée.



Les auteurs de la preuve ( préimpression , article ) ont aimablement fourni un algorithme qui décrit la figure correspondante, qui, avec une implémentation simplifiée, donne une telle image - comparer avec l'image ci-dessus:



Code pour Wolfram Mathematica
4- . , ask R , , -. 8 — L-, . , Clear[a].

qc = {{3, 0, 0}, {1 - I, 1 + I, 1}, {1 + I, 1, 1 - I}} / 3;
r = {{0, 1, 0}, {0, 0, 1}, {1, 0, 0}};
a[{}] = {0, -1, I};
a[{s___, k_}] := a[{s, k}] = qc.MatrixPower[r, k].a[{s}];
Graphics[Polygon /@ Table[ReIm @ a[s], {s, Tuples[Range[3], 8]}]]


Dans les triangles courbes formant des images de type fractal, non seulement des motifs périodiques plus ou moins homogènes sont visibles (en particulier sur le KDPV), mais aussi des «défauts» de ramification unidimensionnels. Il semble s'agir de courbes tropicales . Dans tous les cas, il est connu ( préimpression , article ) que si plusieurs grains de sable séparés sont jetés sur le champ final avec 3 grains de sable dans chaque cellule, une image du graphique se forme à la suite de l'excrétion, qui est une courbe tropicale passant par les grains de sable granuleux.



Variations et généralisations


Des experts sophistiqués de l'automatisation cellulaire y ont déjà pensé: on peut aussi considérer les cellules comme des voisins et celles qui n'ont qu'un angle commun avec elle («le voisinage de Moore»). L'effondrement dans ce cas devrait se produire lorsque 8 grains de sable dans la cage sont atteints. Eh bien, 5 millions de grains de sable dans la cellule centrale se transforment en une telle figure (couleurs: 0 - blanc, 1 , 2 , 3 , 4 , 5 , 6 , 7 ):



Bien sûr, vous pouvez considérer non seulement les cellules carrées, mais aussi d'autres structures régulières . Les images correspondantes sont dans la galerie sur la page de l'un des auteurs des articles ci-dessus.

De plus, le sable peut être dispersé en général sur n'importe quel graphique, y compris ceux orientés: des grains de sable sont collectés aux sommets, et un effondrement se produit lorsque le nombre de grains de sable dans le sommet atteint le degré sortant du sommet (le nombre d'arêtes qui en émanent). Mais si vous voulez considérer un groupe de tas de sable sur ce graphique, alors il doit être fini, il doit avoir un dessus d'évier et il devrait être possible de l'atteindre depuis n'importe quel sommet. Cependant, si vous lisez ce paragraphe, vous l'avez probablement déjà compris.

Le code


Le jeu "Life" a toujours été l'une de mes tâches préférées lors de l'apprentissage d'un nouveau langage de programmation. Mais elle commençait déjà à déranger, alors quand j'ai lu sur les tas de sable, j'ai décidé que c'était une belle tâche, convenable pour pratiquer dans une langue agréable, et encore peu connue (comme je le pensais) - peut-être que je serai le premier qui ce sera Raste programmera! Ouais, schaz. Il y a des tas de sable même sur Google Play - un , deux . Donc, sur Rust, quelques implémentations sur Github ont été trouvées; mais ils ne sont pas très bons. Mon implémentation se trouve sur github.com/colt-browning/sandpile. Vous pouvez l'utiliser directement sur la ligne de commande (bien que, je crains que le système avec l'écriture polonaise des arguments se soit avéré compliqué), vous pouvez l'utiliser comme une bibliothèque. Le délestage est généralement effectué d'une manière assez simple, mais des procédures optimisées sont fournies pour les cas spéciaux importants.

Question Réponse


Pourquoi tout cela est-il nécessaire?


Réponse commune. Il est temps de mentionner le modèle Buck-Than-Wiesenfeld. Parfois, il est mélangé avec un modèle de tas de sable, mais il sera plus précis de dire qu'il s'agit d'un ajout sur un cadre de sable: nous prenons un tas de sable dans un champ carré et y jetons un grain de sable dans des cellules aléatoires, en regardant chaque fois comment se produit l'effondrement et combien de cellules l'avalanche affectera glissements de terrain ( vidéo) Quelle que soit la configuration que nous commençons, tôt ou tard, nous reviendrons pour retourner des tas. Des expériences numériques montrent que la distribution de taille des avalanches est une loi de puissance. Dans les systèmes naturels, la réponse aux fluctuations diminue généralement de façon exponentielle en moyenne, et une distribution de loi de puissance se produit dans des états appelés critiques - par exemple, près d'une transition de phase. Cependant, pour entrer dans la transition de phase, il est généralement nécessaire de «peaufiner» les paramètres du système (température et pression, par exemple, ou il y a des probabilités d'une arête dans le graphique si nous parlons du problème de percolation sur le réseau ou le modèle Erdos - Renyi- il y a aussi des transitions de phase). Et dans le modèle BTV, une loi de puissance apparaît elle-même, sans réglage fin. C'est ce qu'on appelle la criticité auto-organisée. BTV n'a pas seulement proposé un modèle de tas de sable, mais c'est grâce à leur travail que le sable a été fermement établi dans la science sous le drapeau de la criticité auto-organisée: ils disent que si nous comprenons comment la criticité auto-organisée se pose dans le sable, cela aidera à comprendre d'où il peut provenir en principe la nature (et dans la nature des lois de pouvoir d'une origine pas tout à fait claire se produisent également). Il semble que la loi de puissance pour le modèle BTV sur une grille carrée n'ait pas encore été strictement établie, mais il existe de nombreux résultats théoriques proches ( voici des résultats plus récents) et, bien sûr, des expériences numériques et même à grande échelle.

Réponse honnête. Oui, il suffit de regarder les photos, quelle beauté!

Vous avez annulé tout cela sur Wikipedia et téléchargé des photos à partir de là


Je n'ai pas annulé et téléchargé depuis, mais j'ai écrit et téléchargé vers.

Où lire sur le sable?



All Articles