Ç Dans une casserole, il y a un dŽsordre apparent, mais si l'on
tire sur un spaghetti, on peut le suivre du dŽbut ˆ la fin. È
Kjell Nordstršm

Qu'est-ce que le chaos? Si on posait la question, on obtiendrait probablement des dŽfinitions variŽes autour de la notion de dŽsordre et de grande confusion. Ce mot a acquis une nouvelle signification durant la seconde moitiŽ du 20e sicle soit celle d'un comportement alŽatoire ˆ l'intŽrieur d'un systme dŽterministe.

Pour illustrer ce phŽnomne, on utilise habituellement la formule logistique

Pi+1 = kPi(1 - Pi)

Imaginez qu'il s'agit d'un modle de croissance grandement simplifiŽ de la population d'une espce animale.

  • Pi+1 reprŽsente la population de l'espce animale pour une annŽe donnŽe et est exprimŽ en pourcentage du maximum thŽorique que cette population peut atteindre dans son environnement. Pi+1 est donc compris entre 0 et 1.
  • Pi reprŽsente la proportion de l'espce animale l'annŽe prŽcŽdente.
  • La valeur de k est un facteur de proportionnalitŽ.

Donnons ˆ k des valeurs comprises entre 0 et 4 et notons pour un P0 donnŽ l'Žvolution de l'espce animale pour les 20 prochaines annŽes.

Si Po = 0.5 et k = 2.7, on obtient les proportions suivantes:

0.5, 0.675, 0.591, 0.653, 0.613, 0.640, 0.621, 0.635, 0.626, 0.632, 0.629, 0.629, 0.629, 0.62, 0.629, 0.629, 0.629, 0.629, 0.629, 0.629, 0.629.

Notons que pour ces conditions la population de l'espce animale tendra ˆ se stabiliser autour de la proportion P=0.629.

[Maple Plot]

Si Po = 0.5 et k = 3.1, on obtient les proportions suivantes:

0.5, 0.775, 0.539, 0.769, 0.552, 0.766, 0.555, 0.766, 0.555, 0.766, 0.555, 0.766, 0.555, 0.766, 0.555, 0.766, 0.555, 0.766, 0.555, 0.766, 0.555.

Le systme se stabilise autour de deux valeurs 0.766 et 0.555.

[Maple Plot]

Si Po = 0.5 et k = 3.42, on obtient les proportions suivantes:

0.5, 0.855, 0.423, 0.837, 0.466, 0.849, 0.438, 0.843, 0.452, 0.849, 0.438, 0.843, 0.452, 0.849, 0.438, 0.843, 0.452, 0.849, 0.438, 0.843, 0.452

Le systme se stabilise autour de quatre valeurs 0.849, 0.438, 0.843, 0.452.


Si Po = 0.5 et k = 3.6, on obtient les proportions suivantes:

0.5, 0.975, 0.095, 0.336, 0.870, 0.441, 0.963, 0.139, 0.468, 0.971, 0.110, 0.382, 0.920, 0.287, 0.800, 0.624, 0.917, 0.297, 0.815, 0.589, 0.944.

La croissance semble maintenant tout ˆ fait imprŽvisible.

[Maple Plot]

On peut rŽsumer le phŽnomne ˆ l'aide d'un diagramme appelŽ "diagramme de bifurcation". En abscisse, on place les diffŽrentes valeurs de k et en ordonnŽe les valeurs de P aprs un grand nombre d'annŽes (itŽrations).


Diagramme de bifurcation
[Maple Plot]
Valeurs de P aprs 100 itŽrations en fonction de k

Lorsque le nombre d'itŽrations augmente et
  • 0 < k < 3 , le systme a tendance ˆ se stabiliser autour d'une seule valeur ;
  • 3 < k < 3.45 , le systme finit par osciller entre 2 valeurs, on dit qu'il possde un cycle d'ordre 2 ;
  • 3.45 < k < 3.57 , la longueur du cycle augmente de plus en plus rapidement ;
  • 3.57 < k < 4 , la longueur du cycle s'allonge et devient tellement complexe que l'on peut difficilement suivre son Žvolution, le systme passe par une phase que l'on qualifie de chaotique.

Dans sa phase chaotique, le comportement du systme est tout ˆ fait imprŽvisible ˆ long terme. Cette imprŽvisibilitŽ est essentiellement due ˆ la sensibilitŽ du systme aux conditions initiales. Un changement, si petit soit-il, dans les conditions initiales du systme aura des consŽquences totalement imprŽvisibles et complexes ˆ long terme.

Pour k = 3.99, donnons d'abord ˆ P0 la valeur 0.3 et ensuite la valeur 0.300001.

ƒtant donnŽ le faible Žcart qui existe entre les deux proportions initiales, on pourrait penser que les suites associŽes ˆ ces valeurs soient sensiblement les mmes. Ce n'est pas ce qui se produit. On constate que les deux suites sont identiques jusqu'au 17e terme. Ë partir du 17e terme, il n'y a plus aucune comparaison possible. La suite (rouge) sur le graphique a ŽtŽ obtenue en prenant Po=0.3 tandis que la suite (verte) correspond ˆ Po=0.300001.

Le mŽtŽorologue Edward Lorenz, mathŽmaticien de formation, fut un des premiers ˆ constater ce phŽnomne au dŽbut des annŽes 60. On l'appelle Çeffet papillonÈ et on le dŽcrit souvent de la faon suivante : Çun battement d'aile de papillon au BrŽsil est susceptible de dŽclencher beaucoup plus tard une tornade au TexasÈ. La trs faible perturbation crŽŽe par le vol d'un papillon pourrait en principe faire varier les conditions initiales du systme atmosphŽrique et engendrer plus tard un changement climatique en un endroit quelconque de notre plante.

En biologie, on a longtemps observŽ ce phŽnomne dans des populations animales. Au sicle dernier, les trappeurs du Canada avaient constatŽ de grandes fluctuations dans la population des lynx. Plusieurs thŽories avaient alors ŽtŽ avancŽes avant que l'on pense ˆ mettre en relation ces fluctuations avec celles obtenues sur des modles semblables ˆ celui que l'on vient de prŽsenter. Il est maintenant classique d'expliquer les fluctuations des populations animales par l'effet d'un mŽcanisme dŽterministe simple reliant le nombre de prŽdateurs au nombre de proies. Ce mŽcanisme peut aboutir soit ˆ des Žquilibres (populations stables), soit ˆ des cycles ou ˆ des Žvolutions chaotiques. Si on arrive ˆ contr™ler artificiellement le taux de reproduction d'une espce animale, on peut constater tous les phŽnomnes que l'on vient de mettre en Žvidence.


Les suites et les graphiques de cette page ont ŽtŽ obtenus ˆ l'aide du logiciel Maple. Copiez les programmes (en rouge) sur une feuille de travail du logiciel et changez les paramtres indiquŽs.

    Programme I  (les suites de proportions)

    P:=proc(i,nonnegint)
    option remember;

    Digits:=3;

    if i<1 then .5;

    else k*P(i-1)*(1-P(i-1));

    fi;

    end:

    k:=3.1;# < entrez la valeur de k
    seq(P(i),i=0..20);

    Programme II  (les graphiques)

    graphique := proc(Po,k,n)
    local i,d,P,f;

    P := Po;

    d := [[0,P]];

    f := P ->k*P*(1-P);

    for i from 1 to n do

    P := f(P);

    d := [op(d), [i, P]];

    od;

    plot(d,labels=["annŽes","P"]);

    end:

    Po:=0.5;#  < entrez la proportion initiale
    k:=2.7;#  < entrez la valeur de k

    n:=20;#  < entrez le nombre d'itŽrations

    graphique( Po, k, n );

    Programme III  (le diagramme de bifurcation)

    Valeurs:= proc(Table,xo,a,b,n)
    local x,i,j,k;
    j:=0;
    for k from a to b by 20*(b-a)/(n-1) do;
    x:=xo;
    for i to 120 do;
    x:=k*x*(1-x);
    if i>100 then j:=j+1; Table[j,1]:=k; Table[j,2]:=x; fi;
    od;
    od;
    end:

    xo:=0.5:
    a:=0:
    b:=4:
    n:=30000:
    Table:= array(1..n,1..2):
    evalhf(Valeurs(var(Table),xo,a,b,n)):
    plots[pointplot](Table, symbol=POINT, color=green,labels=["k","P"]);

Programme IV  (sensibilitŽ aux conditions initiales)

iterplot := proc(Po,P1,k,n)
local i,d1,d2,P,f;
P := Po;
d1 := [[0,P]];
f := P ->k*P*(1-P);
for i from 1 to n do
P := f(P);
d1 := [op(d1), [i, P]];
od;

P := P1;
d2 := [[0,P]];
f := P ->k*P*(1-P);
for i from 1 to n do
P := f(P);
d2 := [op(d2), [i, P]];
od;

plot([d1,d2],labels=["annŽes","P"]);
end:

Po:=0.3; # entrez la proportion initiale
P1:=0.300001; # entrez une nouvelle proportion initiale
k:=3.99; # entrez la valeur de k
n:=50; # entrez le nombre d'itŽrations

iterplot(Po,P1,k,n);