AccueilPhysique & MécaniquePercolation — Amas & Seuil Critique

🕸️ Percolation — Amas & Seuil Critique

Remplissez une grille de sites ouverts avec une probabilité p et identifiez les amas connectés via union-find. À pc ~ 0,593 un amas percolant apparaît pour la première fois — une transition de phase continue.

Physique & Mécanique3DFacile60 FPS
percolation-threshold ↗ Ouvrir en autonome

À propos de cette simulation

Cette simulation exécute une percolation de site sur un réseau carré 2D : chaque cellule d'une grille N×N est marquée indépendamment « ouverte » avec une probabilité p, et une structure Union-Find (ensembles disjoints) avec réduction de chemin de moitié et union par rang relie chaque cellule ouverte à ses voisines ouvertes en temps presque constant. Deux nœuds virtuels sont reliés aux rangées supérieure et inférieure, ce qui permet au code de vérifier instantanément si le haut et le bas sont connectés — la définition d'un amas percolant. La valeur par défaut p = 0,593 se situe exactement au seuil critique connu p_c ≈ 0,5927 pour ce réseau, où un amas percolant apparaît pour la première fois avec une forte probabilité. Les amas sont colorés selon leur racine Union-Find, et un histogramme en direct suit la distribution des tailles d'amas.

🔬 Ce que ça montre

Une grille N×N (60×60 par défaut) où chaque cellule s'ouvre indépendamment avec une probabilité p. Les cellules ouvertes sont fusionnées en amas via Union-Find, colorées selon la racine d'amas, et l'amas percolant — celui qui relie la rangée supérieure à la rangée inférieure grâce à l'astuce des nœuds virtuels — est mis en évidence en rouge avec une alerte à l'écran. Le mini histogramme montre comment les tailles d'amas sont distribuées pour la valeur actuelle de p.

🎮 Comment l'utiliser

Faites glisser le curseur de taille de grille (N) (20–120) pour changer la résolution du réseau, et le curseur de probabilité d'ouverture (p) (0–1, 0,593 par défaut) pour parcourir la transition de phase. Observez les indicateurs Amas et Plus grand amas, ainsi que le badge rouge « amas percolant trouvé » qui apparaît une fois que p franchit la valeur critique. Utilisez Réinitialiser pour redessiner une nouvelle grille aléatoire à la valeur actuelle de p, ou Balayage pour animer automatiquement p de 0 à 1 et retour, en observant la transition se produire en direct.

💡 Le saviez-vous ?

Les exposants critiques 2D — dimension fractale D = 91/48 ≈ 1,896, exposant de taille d'amas τ = 187/91 ≈ 2,055, et exposant de longueur de corrélation ν = 4/3 — ont été démontrés rigoureusement par Stanislav Smirnov en utilisant l'invariance conforme et l'évolution de Schramm-Loewner, des travaux qui ont contribué à sa médaille Fields de 2010. Ces exposants sont universels : ils sont identiques pour les réseaux carré, triangulaire ou en nid d'abeille.

Questions fréquentes

Quel réseau et quel type de percolation cette simulation utilise-t-elle ?

Elle implémente la percolation de site sur un réseau carré 2D. Chacune des cellules de la grille N×N est ouverte indépendamment avec une probabilité p (plutôt que la percolation de lien, où ce sont les arêtes plutôt que les cellules qui sont ouvertes aléatoirement), et la connectivité entre cellules voisines ouvertes est suivie avec une structure Union-Find.

Quel est le seuil critique p_c utilisé ici, et pourquoi 0,593 ?

Le curseur p est par défaut à 0,593 car c'est le seuil critique p_c établi numériquement à ≈ 0,5927 pour la percolation de site sur un réseau carré 2D infini. En dessous de p_c, les amas restent finis à mesure que la grille grandit ; à partir de p_c et au-dessus, un amas percolant géant reliant le haut au bas apparaît avec une probabilité approchant 1.

Comment le code détecte-t-il un amas percolant ?

La simulation ajoute deux nœuds virtuels à la structure Union-Find : chaque cellule ouverte de la rangée supérieure est réunie à un nœud virtuel « supérieur », et chaque cellule ouverte de la rangée inférieure est réunie à un nœud virtuel « inférieur ». Après avoir construit toutes les connexions de la grille, elle vérifie simplement si les nœuds virtuels supérieur et inférieur partagent la même racine — si c'est le cas, un amas percolant existe, et il est mis en évidence en rouge.

Pourquoi utilise-t-on Union-Find plutôt qu'un flood-fill ?

Union-Find (ensembles disjoints) avec réduction de chemin de moitié et union par rang exécute chaque opération de recherche/union en temps amorti presque constant, ce qui s'adapte bien mieux que des recherches répétées par flood-fill lorsque les amas doivent être fusionnés de façon incrémentale au fur et à mesure que la grille est construite. Cela rend pratique la reconstruction instantanée de grandes grilles N×N chaque fois que N ou p change.

Que signifient la dimension fractale et l'exposant de taille des amas ?

Exactement à p = p_c, l'amas percolant est un fractal de dimension de Hausdorff D = 91/48 ≈ 1,896 — sa « masse » évolue comme rayon^D plutôt que rayon^2. La distribution de la taille des amas suit une loi de puissance n(s) ~ s^(-τ) avec τ = 187/91 ≈ 2,055, visible comme une droite sur un histogramme log-log. Les deux exposants sont universels pour tous les types de réseaux 2D.

⚙ Sous le capot

Remplissez une grille de sites ouverts avec une probabilité p et identifiez les amas connectés via union-find. À pc ~ 0,593 un amas percolant apparaît pour la première fois — une transition de phase continue.

percolationseuil critiqueamas fractalamas percolantCanvas 2D

3D · Moteur de rendu Three.js / WebGL · Cible 60 FPS · fonctionne entièrement côté client, sans installation

Qu'avez-vous trouvé ?

Ajouter les étapes de reproduction (facultatif)