)udfwdohv dopdwrluhv frpph qrxv odyrqv yx dx … · 2018. 11. 6. · )udfwdohv dopdwrluhv...

7
1.9.4 Fractales aléatoires 1.9.4.1 Génération de nombres pseudo-aléatoires Il ne peut exister aucun algorithme de génération d'une suite aléatoire de nombres : comme nous l'avons vu au chapitre Hasard, une suite vraiment aléatoire ne correspond à aucun ordre définissable, donc descriptible sous forme d'algorithme. Un programme d'ordinateur ne peut pas générer de suite de nombres vraiment aléatoire, mais nous connaissons des programmes générant des suites de valeurs apparemment équiprobables sans relation d'ordre connue : décimales successives du calcul de nombres irrationnels, nombre , résultats d'itération d'une évolution apériodique, etc. En fait, pour ne pas retrouver la même succession de nombres, il suffit de commencer une de ces suites déterministes à un rang fonction d'un événement imprévisible comme l'heure du jour exprimée en secondes ou le temps de réponse humain à une question évidente exprimé en millisecondes. 1.9.4.2 Utilité de fractales avec une dose de caractère aléatoire Comme tout ce qui relève du chaos, les exemples de fractale précédents sont déterministes. Mais nous allons voir que les formes fractales générées par ordinateur avec une dose de caractère aléatoire peuvent être très utiles. Commençons par définir une courbe fractale déterministe, la courbe de Koch (appelée aussi : von Koch). 1.9.4.3 Courbe de Koch Comme on le voit dans le dessin ci-dessous, l'objet itéré initial est le segment de droite n=0. On remplace alors son tiers médian par les deux côtés d'un triangle équilatéral de même longueur que lui, ce qui donne la ligne brisée à 4 segments n=1. On remplace alors, dans chacun de ces 4 segments le tiers médian par deux côtés d'un triangle équilatéral de même longueur que lui, ce qui donne la ligne brisée à 4 segments n=2. On recommence le remplacement sur cette ligne brisée, d'où la ligne n=3, etc.

Upload: others

Post on 04-Dec-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: )UDFWDOHV DOpDWRLUHV FRPPH QRXV ODYRQV YX DX … · 2018. 11. 6. · )udfwdohv dopdwrluhv *pqpudwlrq gh qrpeuhv svhxgr dopdwrluhv ,o qh shxw h[lvwhu dxfxq dojrulwkph gh jpqpudwlrq

1.9.4 Fractales aléatoires

1.9.4.1 Génération de nombres pseudo-aléatoires

Il ne peut exister aucun algorithme de génération d'une suite aléatoire de nombres : comme nous l'avons vu au chapitre Hasard, une suite vraiment aléatoire ne correspond à aucun ordre définissable, donc descriptible sous forme d'algorithme. Un programme d'ordinateur ne peut pas générer de suite de nombres vraiment aléatoire, mais nous connaissons des programmes générant des suites de valeurs apparemment équiprobables sans relation d'ordre connue : décimales successives du calcul de nombres irrationnels, nombre , résultats d'itération d'une évolution apériodique, etc. En fait, pour ne pas retrouver la même succession de nombres, il suffit de commencer une de ces suites déterministes à un rang fonction d'un événement imprévisible comme l'heure du jour exprimée en secondes ou le temps de réponse humain à une question évidente exprimé en millisecondes.

1.9.4.2 Utilité de fractales avec une dose de caractère aléatoire

Comme tout ce qui relève du chaos, les exemples de fractale précédents sont déterministes. Mais nous allons voir que les formes fractales générées par ordinateur avec une dose de caractère aléatoire peuvent être très utiles. Commençons par définir une courbe fractale déterministe, la courbe de Koch (appelée aussi : von Koch).

1.9.4.3 Courbe de Koch

Comme on le voit dans le dessin ci-dessous, l'objet itéré initial est le segment de droite n=0. On remplace alors son tiers médian par les deux côtés d'un triangle équilatéral de même longueur que lui, ce qui donne la ligne brisée à 4 segments n=1. On remplace alors, dans chacun de ces 4 segments le tiers médian par deux côtés d'un triangle équilatéral de même longueur que lui, ce qui donne la ligne brisée à 4 segments n=2. On recommence le remplacement sur cette ligne brisée, d'où la ligne n=3, etc.

Page 2: )UDFWDOHV DOpDWRLUHV FRPPH QRXV ODYRQV YX DX … · 2018. 11. 6. · )udfwdohv dopdwrluhv *pqpudwlrq gh qrpeuhv svhxgr dopdwrluhv ,o qh shxw h[lvwhu dxfxq dojrulwkph gh jpqpudwlrq

Voici la courbe obtenue après 5 itérations :

Courbes de Koch avec des carrés remplaçant les triangles

Si on recommence la même procédure avec des carrés à la place des triangles équilatéraux, voici ce que l'on obtient :

Courbe de Koch avec des carrés, n=1

Courbe de Koch avec des carrés, n=2

Page 3: )UDFWDOHV DOpDWRLUHV FRPPH QRXV ODYRQV YX DX … · 2018. 11. 6. · )udfwdohv dopdwrluhv *pqpudwlrq gh qrpeuhv svhxgr dopdwrluhv ,o qh shxw h[lvwhu dxfxq dojrulwkph gh jpqpudwlrq

Courbe de Koch avec des carrés, n=3

Courbe de Koch avec des carrés, n=5

Courbe de Koch « aléatoire » avec des triangles

Dans la procédure de substitution de 2 côtés d'un triangle à un tiers de segment, on peut introduire une variation aléatoire consistant à construire ces deux côtés tantôt au-dessus, tantôt au-dessous du segment porteur. Le caractère déterministe de la génération disparaît alors, puisqu'on n'a aucune garantie d'obtenir la même courbe lors d'exécutions successives ; et la similitude par changement d'échelle n'est plus assurée. Voici un exemple de ce qu'on peut obtenir :

Page 4: )UDFWDOHV DOpDWRLUHV FRPPH QRXV ODYRQV YX DX … · 2018. 11. 6. · )udfwdohv dopdwrluhv *pqpudwlrq gh qrpeuhv svhxgr dopdwrluhv ,o qh shxw h[lvwhu dxfxq dojrulwkph gh jpqpudwlrq

Courbe de Koch aléatoire, © Microsoft Bing Creative Commons

Avec un peu d'imagination, la courbe ci-dessus rappelle vaguement une côte marine assez découpée.

1.9.4.4 Images fractales

Le procédé précédent, consistant à générer des courbes fractales en introduisant une dose de hasard artificiel dans les itérations, a été perfectionné pour faire des images virtuelles, par exemple pour des jeux informatiques en réalité virtuelle. Voici un exemple de ce qu'on peut obtenir.

Image fractale, © Microsoft Bing Creative Commons

Page 5: )UDFWDOHV DOpDWRLUHV FRPPH QRXV ODYRQV YX DX … · 2018. 11. 6. · )udfwdohv dopdwrluhv *pqpudwlrq gh qrpeuhv svhxgr dopdwrluhv ,o qh shxw h[lvwhu dxfxq dojrulwkph gh jpqpudwlrq

1.9.4.5 Résultats déterministes d'itérations aléatoires

Voici une procédure aléatoire qui génère une image structurée. Considérons un triangle équilatéral ABC et un point intérieur P qui n'est pas confondu avec un des sommets. Un générateur pseudo-aléatoire génère trois valeurs, 0, 1, 2 que l'on associe par définition respectivement aux points A, B, C. Selon la valeur générée (1 dans l'exemple), on déplace alors P de la moitié du chemin vers le sommet correspondant et on imprime son image P' dans celle du triangle.

On recommence ensuite : nouvelle génération de valeur, attribuée au « dernier P », nouveau déplacement vers le sommet désigné, etc. En itérant ainsi des dizaines de milliers de fois, on génère les points autorisés d'un triangle de Sierpiński :

0A

1B 2C

P

P'

Page 6: )UDFWDOHV DOpDWRLUHV FRPPH QRXV ODYRQV YX DX … · 2018. 11. 6. · )udfwdohv dopdwrluhv *pqpudwlrq gh qrpeuhv svhxgr dopdwrluhv ,o qh shxw h[lvwhu dxfxq dojrulwkph gh jpqpudwlrq

Triangle de Sierpiński

Le résultat de ces milliers d'itérations est exactement le même quelle que soit la position du point de départ P dans le triangle. Non seulement cette génération aléatoire tend vers un résultat parfaitement déterministe, mais il est aussi stable quelle que soit la position du point initial P.

Conclusions philosophiques 1 - Une succession d'itérations aléatoires peut tendre vers une structure déterministe La conclusion philosophique est importante : une succession infinie de valeurs aléatoires peut générer un ensemble structuré de manière déterministe : certains points du triangle seront atteints, d'autres pas, le tout dessinant une image de Sierpiński. Nous avions déjà une remarque analogue en considérant les diagrammes des bifurcations et les histogrammes des évolutions chaotiques. On démontre même que ce procédé, appliqué à des polygones réguliers de départ à 3, 4 côtés ou davantage, et déplaçant si nécessaire une courbe au lieu du point unique P, peut générer pratiquement n'importe quelle forme, fractale ou non.

Page 7: )UDFWDOHV DOpDWRLUHV FRPPH QRXV ODYRQV YX DX … · 2018. 11. 6. · )udfwdohv dopdwrluhv *pqpudwlrq gh qrpeuhv svhxgr dopdwrluhv ,o qh shxw h[lvwhu dxfxq dojrulwkph gh jpqpudwlrq

Exemple :

Image copyright © Microsoft Bing Creative Commons.

2 – La génération de valeurs par itération permet d'importantes économies de place de stockage et de bande passante Le texte en un langage informatique d'un programme qui génère ainsi des centaines de milliers de valeurs ou de positions spatiales est beaucoup plus concis que l'ensemble de ces valeurs ou positions. Cette concision permet des économies de place mémoire ou disque dans un ordinateur et des économies de bande passante dans la transmission à travers un réseau.

Ainsi, un satellite d'observation de la Terre extrêmement bavard transmettait des données correspondant à une vingtaine de mesures physiques avec un débit d'environ 1 Mbits/s. Il fallait stocker ces données pendant plusieurs années en attendant que des scientifiques aient eu le temps de les étudier, c'est-à-dire stocker environ 10 milliards d'octets par jour en plus de leur historique.

Le problème fut résolu en calculant au sol, au fur et à mesure de leur réception, des fonctions représentatives de l'évolution des données : on divisa ainsi leur volume par deux ordres de grandeur. De son côté, le satellite faisait un travail analogue pour économiser de la bande passante, et permettre une redondance des données protégeant contre des coupures ou des parasites dans la transmission.