Un réseau électrique qui tombe en panne en cascade et une rumeur qui devient virale sur LinkedIn obéissent à la même loi physique.
Imagine un champ semé d'arbres espacés au hasard. Si la densité d'arbres est faible, un feu qui démarre reste localisé : il n'a personne à proximité pour se propager. Mais passé une certaine densité, ce même feu traverse soudain tout le champ — sans qu'on ait rien changé d'autre que quelques arbres en plus.
C'est le principe de la percolation : un réseau ne se dégrade pas petit à petit, il existe un seuil précis où le comportement bascule brutalement, d'un état fragmenté à un état connecté.
Chaque case de la grille est active avec une probabilité p. Fais varier p et observe : en dessous du seuil critique, seuls des petits amas isolés existent. Juste au-dessus, un amas géant traverse soudain toute la grille.
Dès qu'un système est fait de nœuds reliés entre eux, sa robustesse — ou sa viralité — dépend d'un seuil critique de connexion, pas d'une dégradation progressive.
import numpy as np from scipy.ndimage import label n, p = 40, 0.59 grille = np.random.rand(n, n) < p amas, nb_amas = label(grille) tailles = np.bincount(amas.ravel())[1:] plus_grand = tailles.max() if len(tailles) else 0 print(f"Amas : {nb_amas}, plus grand : {plus_grand} cases ({100*plus_grand/n**2:.1f}%)") # → autour de p=0.59, ce pourcentage bondit soudainement — c'est le seuil critique