Cet article présente le concept de bifurcations et ses diagrammes affiliés, à l’aide notamment d’un exemple illustré, créé par le programme Mathematica.
Certaines fonctions sont très sensibles aux conditions initiales. Une infime variation d’un paramètre peut conduire à des comportements très différents, parmi lesquels se trouve le chaos. La suite logistique fait partie de cette catégorie de fonctions chaotiques. En représenter ses états finaux en fonction d’un paramètre s’appelle "diagramme de bifurcations". Voyons cela plus en détail.
1. Introduction : la suite logistique
Parmi les systèmes dynamiques étudiés par la théorie du chaos, la fonction la plus simple et la plus couramment utilisée est la fonction $f(x) = rx(1-x)$ que l’on itère [1] avec elle-même. Ce système s’appelle suite logistique et est défini par la suite suivante :
$x_{n+1}=r x_n(1-x_n)$
définie dans l’intervalle $[0 ;1]$ et où $r$ est un paramètre qui appartient à l’intervalle fermé $[0 ;4]$. Un paramètre $r=4$ permet d’atteindre le point $(0.5 ; 1)$ qui est la limite du domaine de définition de notre fonction. En prenant un paramètre plus élevé la fonction sort alors de ce domaine (nous ne voulons pas tomber sur des valeurs négatives non plus).
Selon le paramètre $r$ choisi, ce système conduit à trois comportements possibles :
– après un certain temps, le système ne varie plus et donne lieu à un point fixe (l’image de ce point par la fonction $f$ est ce même point).
– au lieu d’un point fixe apparaît une période $n$, chaque $n$ itérations, le système retombe sur des valeurs identiques.
– le système conduit au "chaos", c’est-à-dire qu’il n’y a, ni point fixe, ni période déterminée (elle est trop grande pour être dénombrée).
Ces comportements, dits "états finaux" n’apparaissent qu’après un nombre conséquent d’itérations. La phase qui conduit à l’un de ces trois comportements cités plus haut est appelée "phase transitoire".
2. Diagramme de bifurcations
Un diagramme de bifurcation consiste à représenter les états finaux en fonction du paramètre $r$.
Pour obtenir ce diagramme sur Mathematica, il faut tout d’abord définir notre fonction (ici sous la forme d’une fonction pure). Pour éliminer la phase transitoire, il faut utiliser la fonction Nest qui itère la fonction un nombre $n$ de fois à partir d’une valeur $x_0$. Nous utilisons alors le résultat de ces $n$ itérations comme valeur de départ pour de nouvelles itérations, cette fois-ci avec la fonction NestList qui affiche les valeurs obtenues à chaque itération (la fonction Nest ne donne que la dernière valeur). Il faut ensuite créer des couples de points avec :
– en abscisses : le paramètre $r$
– en ordonnées : la ou les valeurs obtenues par itération.
Il ne reste plus alors qu’à représenter tout cela.
Un exemple de code pour obtenir un diagramme de bifurcation avec la suite logistique est le suivant :
Ce qui donne :
Les points représentés ici ne montrent donc pas l’évolution entière de notre système mais uniquement les états finaux, suivant le paramètre $r$. On peut alors constater que cette suite conduit aux comportements suivants :
– si $0 \leq r \leq 1$, le système finit par arriver à 0 et ne bouge alors plus.
– si $1 \leq r \leq 3$, le système se stabilise sur un point fixe.
– en $r=3$, le diagramme se divise en deux branches, puis peu après en quatre, puis huit, etc..
– à partir de $r \cong 3.57$, la période n’est plus visible, c’est le chaos, sauf par exemple vers $r \cong 3.82$, où l’on voit une période de trois valeurs.
Le diagramme ci-dessus n’est cependant pas exact. On voit clairement qu’aux alentours de 1, ainsi qu’à certaines bifurcations, il n’y a pas un mais plusieurs points très proches. Les points fixes pour $r=1$ ou $r=3$ sont des limites qui ne peuvent être atteintes qu’après un grand nombre voire un nombre infini d’itérations, ce que ne peut faire Mathematica. Pour ces paramètres, le système possède une longue phase transitoire.
À noter qu’une fois la période trois apparue, toutes les périodes possibles se sont réalisées. Cette période trois est caractéristique du chaos.
3. Exemple concret
Cette suite logistique pourrait voir une application dans l’étude de populations (d’insectes par exemple). Chaque année (ou chaque intervalle de temps $t$), les individus se reproduisent et donnent naissance à une nouvelle génération qui perpétue l’espèce, tandis que l’ancienne meurt.
Le facteur $r$ correspondrait à un taux de reproduction de la population. Pour un faible taux, la population finit par s’éteindre. Pour un taux moyen, la population se stabilise et pour un grand taux, la population varie continuellement d’années en années.
4. Sensibilités aux conditions initiales
Il est remarquable de noter que jusqu’à $r \cong 3.57$, les points obtenus ne dépendent absolument pas de la valeur initiale $x_0$, mais uniquement du paramètre $r$. En revanche, lorsque le comportement devient chaotique et que la période n’est plus quantifiable, une infime variation de la valeur initiale des itérations conduit à des comportements finaux totalement différents.
Pour avoir un aperçu de cette sensibilité aux conditions initiales, on peut comparer les deux graphiques suivants :
Paramètre r = 3.90 et valeur initiale $x_0 = 0.100$
Paramètre r = 3.90 et valeur initiale $x_0 = 0.101$
Ces graphiques ne sont pas des diagrammes de bifurcations mais représentent les différentes itérations. On prend une valeur initiale et son image est projetée sur la fonction identité et on fait de même avec l’image de cette valeur et ainsi de suite. On voit très clairement que les deux graphiques finissent par diverger totalement.
5. Prévisibilité des bifurcations
Les travaux du mathématicien Mitchell Feigenbaum ont montré que les points de bifurcations pouvaient être prédits. En effet, le rapport des intervalles successifs pour lesquels la période est la même quel que soit le paramètre $r$ est toujours constant.
De même, le rapport des distances successives séparant deux points de bifurcations se trouvant sur une même droite verticale est également constant.
Ces rapports sont appelés "nombres de Feigenbaum".
Illustration concrète des nombres de Feigenbaum
Dans cet exemple, les rapports $\frac{l_1}{l_2}$ et $\frac{l_2}{l_3}$ sont égaux et valent environ 4,66920160910299067185320382…
De même les rapports $\frac{d_1}{d_2}$ et $\frac{d_2}{d_3}$ sont également égaux et sont donnés par environ 2,502907875095892822283902873218…
6. Fonctions autres donnant lieu à un diagramme de bifurcations
La suite logistique n’est pas la seule fonction permettant d’obtenir des diagrammes de bifurcations. Parmi les fonctions également utilisables figurent [2] :
– la fonction $f(x) = rx \cos(\pi x)$ pour $r$ appartenant à $[0 ;2.8]$
– la fonction $f(x) = rx(1 - x)(1 + x)$ pour $r$ appartenant à $[0 ;2.6]$
– la fonction $f(x) = rx(1 - x)^2$ pour $r$ appartenant à $[0 ;9]$
– la fonction $f(x) = x^3 - rx$ pour $r$ appartenant à $[0 ;3]$
– et bien d’autres encore...
7. Conclusion
Les diagrammes de bifurcation permettent de mettre en évidence de manière relativement rapide les périodes des fonctions chaotiques. Il suffit de "zoomer" (en modifiant les valeurs initiales et finales du paramètre $r$ sur Mathematica sur les parties du diagramme qui semblent avoir une période discernable. Les concepts liés à la théorie du chaos ont pris une place prépondérante dans l’étude de phénomènes déterministes (principe de cause à effet) depuis l’avènement de l’informatique et les bifurcations ont bénéficié de ces avancées technologiques, tout en permettant de mieux comprendre certains phénomènes.
8. Sources