Navigation |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Une petite définition
Grossièrement, les objets dits "fractals" (ou fractales) sont des objets qui se répettent récursivement à l'intérieur d'eux même à plus ou moins grande échelle, et cela de façon infinie. Ces objets peuvent être obtenus à partir d'éléments simples, par des courbes ou des ensembles de points.
Définition sur Wikipedia :
Fractale est un mot inventé par Benoît Mandelbrot en 1974 sur la racine latine fractus qui signifie brisé. Fractal était au départ un adjectif : les objets fractals. On nomme fractale (nom féminin) une courbe ou surface de forme irrégulière ou morcelée qui se crée en suivant des règles déterministes ou stochastiques.
Des objets simples à construire
Un peu de visuel...
- Soit un carré.
- On ajoute sur chaque côté un carré de côté 2 fois plus petit (à droite de chaque côté dans l'exemple), soit 4 carrés rajoutés au total.
- A chacun de ces carrés on applique la même formule (là il n'y à plus que 3 carrés suplémentaires, le 4ème étant confondu avec le carré initial), 3x4 soit 12 carrés de plus!
- Et on continue ainsi de suite...
On appelle itération le fait d'appliquer à un objet, à un stade quelconque de son développement, le même traitement ou modification.
Dans cet exemple, on voit donc l'état initial et le résultat des 3 premières itérations.
Maintenant allons plus loin... aux allentours de 10 itérations:
Si l'on regarde de plus près une portion de cet objet, on se rend bien compte que celle-ci se répette à plus petite échelle, en une multitude d'endroits et selon des angles différents (en tournant l'image de 90° on peut aussi, retrouver la figure de l'encadré).
Ce n'est pas trés étonnant puisque l'on a construit cette image à partir de carrés qui, quelque soit leur taille, ont tous été positionnés selon le même schéma.
Cependant ce qui est déjà plus curieux, c'est l'allure vers laquelle tend l'objet quand le nombre d'itérations est trés grand (c'est à dire la limite).
|
|
En effet, on retrouve visuellement des côtes parfaitement rectilignes. Et, du carré initial, on tend, sans vraiment y arriver, vers la forme d'un autre carré, plus grand et légèrement incliné.
L'objet "itéré" un nombre infini de fois est donc contenu dans un espace qui lui est bel et bien fini. La surface tend donc forcément vers un nombre fini. Peu importe sa valeur... Mais qu'en est-il du périmètre?
Il évolue comme ceci, si l'on suppose que le carré fait 1cm de côté:
- état initial: p=4
- 1ère itération: p=4+4*(3/2-1/2)=8 (pour chaque carré: on enleve un côté de 1/2cm pour en rajouter 3x1/2)
- 2ème itération: p=8+4*3*(3/4-1/4)=8+4*3/2=14
- 3ème: p=14+4*3*3*(3/8-1/8)=23...
- ...
- n-ième: p=4+4*somme(k=0..n)[(3/2)k] -> infini! (pour n infini)
Après ces calculs laborieux, on peut enfin admettre avec joie que le périmètre tend vers l'infini. Cela veut dire quoi? Que les côtes de cet objet "idéal" (itéré sans fin) sont infiniment complexes. C'est une fractale, il n'y a pas de doute!
Ainsi, il existe une multitude d'objets de ce type, construits géométriquement par récursivité. Il y a aussi le célèbre flocon de von Koch, construit à base de triangles équilatéraux, l'ensemble de Cantor, etc...
|
flocon de Koch |
|
ensemble de Cantor |
Le chaos qu'est ce que c'est?
Quand un évènement est imprévisible même si l'on connaît les facteurs ou les paramètres qui le font évoluer, et que son comportement semble aléatoire, alors on dit qu'il est chaotique. Les paramètres peuvent être nombreux et variés, au point qu'il est impossible de tous les recenser. La température ambiente, le mouvement des planètes... et pourquoi pas un mouvement d'ailes de papillon peuvent modifier un comportement. Ce n'est pas véritablement du hasard, mais ca y ressemble.
Doit-on croire par ce fait que tout est imprévisible? Il existe bien des évènements que l'on peut prévoir ou déterminer, sur des petites échelles, et qui nous apparaissent comme liés à un ordre ou dictés par des règles. L'imperfection, ou l'erreur dans la prévision, est alors minime et peut même sembler sans interêt. Par exemple, on peut deviner le temps qu'il fera à deux ou trois jours près sans trop se tromper. Mais les erreurs s'amplifient à mesure que nos prédictions vont loin dans le futur. L'ordre semble exister, mais quand on le laisse évoluer (selon les paramètres qui le modifient), on peut très vite tendre vers un état chaotique, totalement imprévisible... mais pas entièrement désordonné.
Ainsi l'interêt d'étudier un objet fractal est d'observer ce qu'il se passe à la limite du chaos, quand l'ordre commence à faiblir.
Le figuier
... ou la vérité à portée de calculatrice!
Un petit calcul facile:
Soit un nombre réel quelconque entre -1 et 1,
1) Je le multiplie par lui même,
2) Et je retranche 1,
3) On recommence l'étape 1) avec le résultat trouvé
la suite s'écrit donc xn+1=(xn)2-1 ou n représente le nombre d'itérations, et xo le nombre initial choisi.
Que devient xn pour un n trés grand? la suite oscille entre 2 valeurs: 0 et -1, et cela quelque soit xo
Donc, pas trés excitant, la suite est quasi-convergente... il y a de l'ordre car on peut déterminer le résultat.
Maintenant ajoutons de la compléxité:
la suite s'écrira désormais xn+1=k*(xn)2-1 où k représente un nombre réel.
Etudions la limite de la suite en fonction de k. Pour k=1 on connait déjà le résultat,
- essayons 1.1 ... on trouve alternativement à peu près: 0.083 et -0.992 (pas loin du résultat de k=1)
- 1.2 donne 0.142 et -0.975
- 1.3 donne 0.149, -0.999, 0.299 et -0.883 (4 résultats, non plus 2!)
- 1.4 donne 0.053, -0.996, 0.388, -0.788, -0.13, -0.976, 0.334, -0.843, -0.003, -0.999, 0.4... etc etc
On obtient graphiquement, une sorte d'arbre couché... d'où le nom de figuier (tiré du nom du mathématicien Figenbaum)
1.4 donne plusieurs résultats qui se répettent infiniment en boucle... (le nombre de résultats lui est fini)
A une certaine valeur de k (proche de 1.4 supérieurement) le chaos s'installe, et le nombre de résultats limites de cette suite est infini... il n'y a plus de période.
Pourquoi? aucune idée! c'est juste un des comportements chaotiques de la nature, parmi tant d'autre.
La suite parraissait pourtant tellement simple et inoffensive! Comme on peut le voir sur le graphique (où chaque sphère représente une valeur limite d'un xn) , le désordre existe bien à partir d'une certaine valeur de k... les bifurcations sont de plus en plus nombreuses, jusqu'à être infinies!
D'une certaine façon, nous avons à faire à une fractale, car des formes (ici des bifurcations) se répettent intérieurement à plus ou moins grande échelle.
Remarquez aussi qu'aux alentours de 1.7, l'ordre refait surface pendant un court instant (il n'y a plus que 3 bifurcations). On savait que de l'ordre on pouvait arriver au chaos, et bien l'inverse est apparement aussi vrai!
Le figuier peut illustrer l'exemple des prévisions météorologiques: on voit que même s'il y a de la prévisibilité, l'évolution (ici en fonction de k) dégénère à un moment en chaos.
Finalement, là où les fractales sont vraiment intéressantes à étudier, c'est à la frontière entre ces deux états: ordre (périodicité) et chaos (aléatoire). Que se passe-t-il exactement aux points de rupture?
Ensemble de Mandelbrot
On peut dire que grâce à l'informatique, les mathématiques ont fait de grands progrés, surtout dans le domaine des fractales (...et de ce qui touche de près ou de loin au déterminisme). Quand on pense qu'au début du XIXème siècle certains chercheurs (Poincaré, Julia, Fattou) avaient déjà une certaine idée du chaos, et plus confusément des fractales, mais étaient incapables de représenter graphiquement ce qu'ils pensaient ou... présageaient.
Dans le milieu des années 70, un éminent mathématicien fit la découverte d'une forme extrémement complexe et jamais mise en image jusqu'alors qui porte désormais son nom, il s'agit de Benoît Mandelbrot. Le père des "fractales" et inventeur du terme.
Ce fameux ensemble décrit, dans un espace complexe (en gros, un plan), la convergence de suites dont la valeur initiale est représentée par un point (ses coordonnées) du plan.
Pour mieux comprendre, reprenons le problème du figuier, mais comme un espace à une dimension ce n'est pas trés amusant, on va prendre à la place de k un nombre complexe c=a+ib qu'on représentera fatalement dans un plan avec les coordonées c(a,b). Et la suite xn sera elle aussi remplacée par une suite an complexe.
On a alors toujours: an+1=c*an2-1 --> en multipliant le tout par c: c*an+1=c2*an2-c
Maintenant on réécrit autrement cette suite avec zn=c*an
Cela donne zn+1=zn2-c
Maintenant, pour un c donné et un z0=(0,0), je calcule la limite de zn. Si la limite est infinie, c'est qu'on n'est pas dans l'état d'oscillement que l'on a vu avec le figuier, donc pas intéressant. Le cas du figuier mets en évidence un mécanisme fractal: selon la valeur de k on avait 2 limites puis 4, puis 20, puis 100, puis à un moment une infinité... Eh bien ce que l'on va faire avec l'ensemble de Mandelbrot, c'est justement représenter sur un plan, une sorte de figuier à 2 dimensions, en excluant les points c(a,b) dont les suites zn qui en dépendent tendent vers l'infini (qui est alors un état stationnaire pour notre suite, l'infini entraine l'infini).
Donc le figuier et l'ensemble de Mandelbrot sont, à peu de choses près, issus du même problème!
Juste une remarque: la valeur initiale z0 est égale à 0 (soit a0=0), ce qui est peut être considéré comme un cas particulier du figuier (avec le figuier on avait le droit de prendre la valeur de son choix entre -1 et 1).
En fait, non, car si l'on prend 0 comme valeur initiale pour le figuier, on retrouve exactement les mêmes résultats. C'est bien la limite de zn qui nous intéresse, et elle seule!
Application:
Soit les coordonnées (a,b) du point c étudié (on est sur un plan cette fois-ci)
Et un nombre complexe égal à (0,0)
1) Je le multiplie par lui même (*),
2) Et je retranche c,
3) On recommence l'étape 1) avec le résultat trouvé
(* au début la multiplication donne bien sûr (0,0))
Petit rappel, mettre un nombre complexe (x,y) au carré donne ceci: (x2-y2, 2*x*y)
Et ajouter (x,y) avec (a,b) donne: (x+a, y+b)
Comment savoir si ce point tend vers l'infini? il suffit de calculer sa norme.
Si sa norme au carré: x2+y2, tend vers l'infini, alors aucune chance qu'il appartienne à l'ensemble. Sinon, oui!
Comme il est difficile de tester l'infinité, on part du principe que si la norme est supérieure à 2 alors on tendra forcément vers l'infini.
Concrètement, on ne peut pas itérer infiniment la suite. Comme pour le figuier, on s'arrêtera à un nombre fixe que l'on appelera imax. Ainsi, si imax augmente, l'affichage de l'ensemble sera plus fidèle à la réalité.
Il suffit ainsi de tester tout les points du plan pour determiner l'ensemble de Mandelbrot:
une bonne échelle pour les coordonnées est de (-2,-1), coin inférieur gauche, à (0.5,1), coin supérieur droit.
Pour les programmeurs voici un petit algorithme pour tracer une Mandel:
pour a= -2 à 0.5-- a et b représentent les cordonnées du point c du plan --
pour b= -1 à 1
x= 0-- on initialise x et y à 0 --
y= 0-- soit z0=(0,0)
pour i= 0 à imax
tmp= x -- il est indispensable de sauvegarder x avant --
x= x^2-y^2+a
y= 2*tmp*y+b
si (x^2+y^2) < 4 alors -- test et affichage du point s'il y a lieu --
afficher_point(a,b)
i=imax -- pour sortir de la boucle --
fin si
fin pour
fin pour
fin pour
|
Maintenant regardons de plus près l'ensemble en zoomant à un endroit précis: au point (0.7291, -0.2).
On retrouve plus ou moins la même forme à des échelles trés éloignées.
Remarque: l'ensemble de Mandelbrot est représenté ici en noir, les couleurs (décrivant la partie exclue) sont en fonction du nombre d'itérations, c'est à dire de la vitesse de divergence de la suite zn. (le rouge signifie ici divergence rapide, alors que le bleu clair représente une divergence plus lente, les autres couleurs donnent l'intermédiaire).
Ensembles de Julia
Les ensembles de Julia sont des sous-ensembles de la fractale de Mandelbrot.
Avant, avec Mandelbrot, on prenait comme valeur de z0(x0,y0), la variable initiale de la suite complexe, le couple nul (0,0), puis on testait sa convergence.
Les ensemblent de Julia fonctionnent à peu près sur le même principe, à la différence que le point testé qui parcourt le plan n'est plus c(a,b) mais z0(x0,y0). Ainsi c(a,b) est une valeur fixe, prédéfinie. Il existe donc des ensembles Julia différents selon la valeur de c.
Testons la convergence des points du plan z0, avec comme paramètre c=(0,0), puis faisons varier ce point sur l'axe des x jusqu'à (0.4,0):
On part d'un simple cercle, à une forme complexe qui à l'air de tendre en surface vers l'ensemble vide.
(on retrouve le même phénomène que le figuier: on part d'une forme simple et on arrive à une forme chaotique)
Un autre ensemble de Julia, au point (0.8,0.2):
Le nombre d'itérations est limité ici à 30. L'ensemble est représenté par la couleur jaune, mais si l'on avait itéré indéfiniment, on verait que l'ensemble tend en surface vers 0, mais en côtes (ou en périmètre) vers l'infini.
(cela ressemble au problème du carré, surface finie, périmètre infini)
En résumé, il existe de grandes similitudes, dans les résultats, pour des problèmes différents. Le carré, le figuier, Mandelbrot ou Julia nous apprennent que l'ordre et le chaos sont finalement très liés, que l'un n'existe pas sans l'autre et que pafois ils se génèrent même réciproquement.
|
|
|
|
|
|
|
nombre de visiteurs venus 770880 visiteurs (2610959 hits) Ici!
Tracked by Histats.com
$value) {
if ($param == 'client') {
google_append_url($google_ad_url, $param,
'ca-mb-' . $GLOBALS['google'][$param]);
} else if (strpos($param, 'color_') === 0) {
google_append_color($google_ad_url, $param);
} else if ((strpos($param, 'host') === 0)
|| (strpos($param, 'url') === 0)) {
google_append_url($google_ad_url, $param,
$google_scheme . $GLOBALS['google'][$param]);
} else {
google_append_globals($google_ad_url, $param);
}
}
google_append_url($google_ad_url, 'dt',
round(1000 * array_sum(explode(' ', microtime()))));
return $google_ad_url;
}
$google_ad_handle = @fopen(google_get_ad_url(), 'r');
if ($google_ad_handle) {
while (!feof($google_ad_handle)) {
echo fread($google_ad_handle, 8192);
}
fclose($google_ad_handle);
}
?>
|
|
|
|
|
|
|
|