LA VIE ARTIFICIELLE: MORPHOGÉNÈSE

Phénomènes de croissance
Récursivité
Les Objets Fractals
Les L-Systèmes
Les Biomorphes
Synthèse d´organismes artificiels

















































Phénomènes de croissance

         Le processus par lequel un embryon se développe pour former un phénotype à partir de l´ensemble des informations génétiques codées dans son génotype est la morphogenèse. Elle implique une multiplication différentielle des cellules selon un programme (dans le temps et dans l´espace) ainsi qu´une mort ("suicide" des cellules).


         La comparaison des développements du membre supérieur chez l´oiseau, chez le cheval et chez l´homme, fait apparaitre une strucrure commune: Omoplate, humerus, cubitus et radius, carpes et métacarpes. Lors du développement du foetus, ces éléments ont reçus des ordres différents, spécialisant ainsi un doigt en aile (chez l´oiseau), ou en patte (chez le cheval) ou en faisant un outil à 5 doigts (chez l´homme).
         Certaines cellules émettent des messages que d´autres cellules interprétent pour modifier l´expression de leurs gènes. On pense que le génome ainsi que la sélection naturelle et l´adaptation des organismes à leur milieu expliquent la diversité des formes de la vie.
         Il est admis aujourd´hui par les neurobiologistes que la conscience est localisée dans l´organisation du système nerveux et plus particulièrement dans le cerveau qui constitue son architecture dynamiquement lors du développement intra-uterin (modèle dit du darwinisme neuronal). On distingue deux classes dans le vivant: Le non vertébré qui se construit spatialement et le vertébré qui se construit dans le temps et dans l´espace. Ainsi un insecte se construit linéairement selon son programme génétique, la forme segmentée de son corps traduisant bien un processus semblable à celui d´un automate à états, et son cerveau n´est pas capable de générer des faits de conscience. Pour les vertébrés (comme l´homme) la modification de la durée de l´expression d´un gène peut modifier l´expression des gènes suivants, en particulier le cerveau se forme globalement tout au long de la formation morphologique de l´individu.

         Historiquement c´est Alan Turing qui, le premier dans les années 50, imagina un mécanisme expliquant la morphogenèse de l´hydra, ou hydre d´eau douce, se reproduisant par division. Pour rendre compte de l´apparition de taches d´ou naitront les tentacules, il décrivit le phénomène de réaction-diffusion: Deux produits, qu´il appelait des morphogènes, l´un étant activateur et l´autre inhibiteur, mis en interaction, peuvent générer des motifs réguliers. Turing modélisa ce processus complexe par un système d´équations différentielles linéaires et indiqua ainsi un lien possible entre physique, biologie et informatique. Il fonda aussi ce qui devait devenir l´intelligence artificielle avec son projet de modéliser nos procédures de pensée [Turing 50].

Récursivité

         L´autoréférence caractérise une proposition qui se référe à elle-même, comme dans la phrase "Cette phrase contient cinq mots". La phrase "Cette phrase est fausse" introduit un paradoxe, en effet si elle est vraie, alors elle est fausse ... La récursivité concerne le développement de l´autoréférence, comme dans le couvercle de la boîte du fameux fromage "La vache qui rit" (représentant une vache portant deux boucles d´oreilles qui sont ce même couvercle, chacun d´eux représentant une vache avec deux boucles d´oreilles, ...). En mathématique la récursivité est employée pour définir certaines fonctions: Par exemple la fonction factorielle se définit par:
         1) n ! = 1 si n = 0
         2) n ! = n * (n - 1) ! si n > 0
         Ainsi 3 ! = 3 * 2 !
         mais 2 ! = 2 * 1 !
         mais 1 ! = 1, donc:
         3 ! = 3 * 2 * 1
         Il est donc ainsi possible de calculer factorielle de n´importe quel entier. La fonction factorielle se programme ainsi en langage C:         

factorielle(long n)
         {
         return((n == 0) ? 1 : n * factorielle(n - 1));
         }

         Son exécution fait appel à la notion de pile, sur une machine physique, ayant nécessairement une mémoire finie, le calcule est borné par la taille de la pile.
         Appliquons ce processus au problème dit du doublements des angles: Il s´agit d´un modèle à temps discret dont l´enesmble des états est représenté par un cercle. Un état peut être repéré par un nombre x compris entre 0 (angle nul) et 1 (1 tour ou 360 degrés) qui est identique à l´état 0. La formule de récurrence qui donne l´angle x(t+1) à l´instant t+1 en fonction de l´angle x(t) à l´instant t est:
         x(t+1) = 2 * x(t)
         Partons d´un angle x0 à l´instant 0:
         x(0) = x0
         à l´instant 1 on a: x(1) = 2 * x(0) = 2 * x0
         à l´instant 2 on a: x(2) = 2 * x(1) = 2 * 2 * x0
         à l´instant n: x(n) = 2n * x0
         Ce qui est une formule parfaitement déterministe. Cependant si on commet une petite erreur à chaque calcul, elle sera doublée à chaque iteration.



         Cherchons à faire une prévision a 1/2 près (ce qui est une approximation très grossière): Si e est l´erreur initiale, après 50 calculs, elle vaut:
         E = 250 * e, soit 1/2 = 250 * e
         où e = 1 / (251) soit une erreur initiale inférieure à 10-15 ce qu´aucune expérience physique ne permet pratiquement. On atteint donc très rapidement une erreur de l´ordre du tour, c´est à dire des valeurs aléatoires d´angles (pouvant tomber n´importe où sur le cercle). Ce modèle très simple décrit un système déterministe mais qui ne permet pas de prévision réelle à long terme.
         Si, au lieu d´avoir une erreur e initiale qui double à chaque pas, on prend une erreur aléatoire e(t):
         x(t+1) = x(t) + e(t) , avec e(t) appartenant à l´intervalle [-10-15,10-15]
bien que pratiquement indécelable, cette petite erreur produit un système indéterministe, l´incertitude augmentant à chaque pas. Si on ne peut pas déceler des erreurs inférieures à 10-15 il sera impossible de décider si le système est déterministe ou non. Un tel système est dit chaotique, il est caractérisé par le fait que des variations infimes des conditions initiales produisent des trajectoires divergentes imprévisibles.
         Un système dynamique est un système dont l´état dépend du temps, la connaissance de son état à l´instant t suffit pour analyser son évolution ultérieure. On appelle espace des phases l´espace de ses états. On a pu montrer que cet espace devait avoir au moins 3 dimensions pour que le système puisse être chaotique. Soit f une application de l´espace des phases dans lui-même et soit p0 un point à l´instant initial, calculons récursivement p à chaque instant comme la transformée de p à l´instant précédent:
         p(t+1) = f(p(t))
         Partant de p0 on a successivement:
         p1=f(p0), p2=f(p1)=f(f(p0)), ...
         L´ensemble {p0, p1, ...} s´appelle l´orbite de p0 et représente la succession des états d´un système soumis à une dynamique décrite par f.
         On appelle point fixe un point qui est sa propre image.
         Par exemple si f(p) = 2 * p, le point (0,0,0) est fixe.
Exemples:
         1) Si f est l´application identique p(0) = p(1) = ... et l´orbite n´est autre que le point p0, tous les points sont fixes.
         2) Si p0 est un point d´un cercle et si f est la rotation sur ce cercle d´un angle PI/2, l´orbite est périodique et de période 4.
         3) Si entre chaque itération on introduit une petite erreur le système n´est plus déterministe.
         4) Le modèle de Lorenz:
         En 1963 le météorologue E.N. Lorenz a obtenu un système de 3 équations différentielles (le système de Lorenz) dont il étudia la simulation sur ordinateur:
         dx / dt = -s * x + s * y
         dy / dt = - x * z + r * x - y
         dz / dt = - x * y - b * z
         s, r et b sont des constantes qui ont une signification physique lorsque ce système représente la convection d´un gaz, ou d´un liquide, placé entre deux plaques chauffantes horizontales: Pour des petites valeurs de r le gaz est immobile (solution stable), lorsque r dépasse un seuil critique il apparait des mouvements convectifs en forme de "rouleaux", quand r augmente encore les mouvements deviennent complexes et irréguliers. Le modèle de Lorenz est capable de fournir des trajectoires correspondant à ces mouvements aléatoires, il se forme alors dans l´espace un ensemble de points (x,y,z) qui attire toutes les trajectoires voisines. De tels ensembles sont appelés des attracteurs.

Les Objets Fractals

         Benoit Mandelbrot [Mandelbrot 75] utilisa les notions de dimension fractale, d´ homothétie interne et de hasard pour définir ce qu´il appela les objets fractals dans les années 70. La géométrie fractale traite d´objets extrêmement complexes dont la dimension peut être une fraction (comme 1/2 ou 5/3)ou même un irrationnel (comme log(4)/log(3)): Par exemple une courbe, objet de dimension 1, extrêmement enroulée sur elle-même peut occuper une portion du plan et avoir une dimension comprise entre 1 et 2. Voici par exemple la courbe de Von Koch de dimension log(4) / log(3):



         De même une surface, objet de dimension 2, extrêmement plissée peut occuper une portion de volume de l´espace et avoir une dimension comprise entre 2 et 3. La génération récursive de ces objets fait apparaitre une ressemblance du détail et du tout (homothétie interne). L´utilisation de l´aléatoire dans le processus de génération permet de briser la trop grande régularité de ces objets. Il est très étonnant de constater de grandes similitudes entre les formes fractales et les formes naturelles. Voici par exemple une simulation de terrain obtenue par la méthode de fractalisation d´une surface (Carpenter):



         (pour plus de détails voir la géométrie fractale)

Les L-Systèmes

         Les L-Systèmes furent développés par Lindenmayer et Prusinkiewicz [Lindenmayer 88] comme approche algorithmique des processus dynamiques responsables de la croissance de certains organismes (plantes, coquillages, ...). Ce sont des grammaires particulières définies à partir d´un alphabet (ensemble de symboles) et de règles de réécritures permettant, à partir d´axiomes de construire des mots du langage. Voici par exemple des motifs de fougères obtenus par de telles grammaires:



         (pour plus de détails voir chapitre les L-Systèmes)

Les Biomorphes

         Richard Dawkins a créé le célèbre programme "Blind Watchmaker" ("l´horloger aveugle") générant des formes 2D qui ne sont pas sans rappeler certains organismes vivants: Les biomorphes.
         Dans son principe ce programme est très simple: Il utilise 2 notions: Celle de GTYPE d´abord qui est représentée par une chaîne d´entiers codant le développement d´un individu et qui est transmis à la génération suivante. Celle de PTYPE ensuite qui représente un individu, sélectionné puis développé. Une première procédure, dite reproduction, qui produit un GTYPE enfant à partir d´un GTYPE parent avec un bruitage aléatoire introduisant des erreurs de copie. Une deuxième procédure, dite développement, produit un PTYPE particulier (individu) à partir d´un GTYPE. À chaque génération les PTYPEs sont sélectionnés selon un critère esthétique visuel choisi par l´utilisateur du programme (pratiquement les PTYPEs sont représentés graphiquement sur l´écran par des motifs 2D, d´une très grande diversité, rappelant certains insects). La procédure de développement est implémentée sous la forme d´une fonction récursive, appelee Tree, dessinant un arbre dont le nombre de branches et la forme sont codés sur 15 valeurs entières dans le GTYPE:

Tree(int x, int y, int longueur, int direction)
         {
         int A, B;
         if (direction < 0)
                  direction += 8;
         if (direction >= 8)
                  direction -= 8;
         A = x + (longueur * dx[direction]);
         B = y + (longueur * dy[direction]);
         move(x, y);
         draw(A, B);
         if (longueur > 0)
                  {
                  Tree( A, B, longueur - 1, direction - 1);
                  Tree( A, B, longueur - 1, direction + 1);
                  }
         }

         Des contraintes, comme des symétries bilatérales ou radiales, sont ajoutées à cette procédure de base en modifiant certains gènes. D´autres contraintes, comme des asymétries, des segmentations ou des variations de gradient, enrichissent encore les formes obtenues.
         Voici quelques exemples de formes sélectionnées par l"horloger aveugle":



         Voir aussi le chapitre suivant et les algorithmes génétiques dans le cours L´évolutionnisme en image de synthèse .

Synthèse d´organismes artificiels

         Il y a deux grands principes dans la morphogenèse, d´une part l´autoréférence et, d´autre part, le codage génétique:
         La complexité des formes naturelles résulte de l´application récursive de règles simples: La division cellulaire, la duplication du code génétique, son interprétation. Le très grand nombre de combinaisons possibles ainsi que la présence d´erreurs (comme les mutations) assurent la diversité du vivant. Un système capable de s´autoconserver et de s´autoreproduire fait nécessairement référence à lui-même: D´une part le feed-back, qui assure son homéostasie, réalise en effet un bouclage de ses entrées-sorties et, d´autre part, sa propre description doit faire partie de son être pour assurer sa descendance. La conscience (de l´environnement et de soi) est, pour les organismes les plus évolués, un phénomène émergent d´auto-organisation des éléments dont ils sont constitués.
         Lors de la morphogenèse, l´expression d´un génotype produit un phénotype, et c´est le codage génétique qui constitue la mémoire du processus.
         La synthèse d´organismes artificiels définit des systèmes selon ces deux principes: Le codage génétique localisé dans les GTYPEs s´exprime sous forme de PTYPEs pour un environnement donné et un procédé de développement donné, et ce procédé lui-même est une construction récursive. Les GTYPEs sont par exemple des chaînes binaires ou même des programmes les procédés de développement peuvent être des grammairse, enfin les PTYPEs se matérialisent sous forme virtuelle (acteurs de synthèse, avatars, ...) ou réelle (robots, hybridations de machines et de vivants, ...).