Prev Section 7.2: Application : Le jeu de la vie de ConwayUp Chapitre 7: Évolution in silicoSection 7.4: Algorithmes évolutionnaires face aux problèmes difficiles Next
7.3 Un univers artificiel complet : Le projet TIERRA
Le 4 janvier 1990, Tom Ray (à l’époque à l’Université de Delaware) a créé pour la première fois une forme de vie qui n’est pas basée sur la chaîne de carbone. L’objectif de Tom Ray était de démarrer avec un organisme «parent» suffisamment flexible et capable d’auto-réplication de manière à donner lieu à une évolution ouverte où les états ne sont pas simplement choisis dans un ensemble donné au début de la simulation, mais créés par l’évolution de l’organisme qu’on pourrait alors appeler «vivant».
Tierra permet la création d’organismes «numériques». Ces organismes numériques sont des séquences d’instructions machines (écrites en langage Assembleur), des fragments de programmes informatiques. Ils sont en compétition pour l’accès aux ressources naturelles disponibles dans cet univers : l’espace mémoire de l’ordinateur et le temps de l’unité centrale de l’ordinateur. Cette dernière ressource leur est nécessaire pour s’auto-répliquer (et donc se reproduire).
Tierra est par conséquent un environnement qui est exécuté sur un ordinateur et qui exécute à son tour des instructions, comme s’il était un ordinateur lui-même (mais uniquement à base de logiciel, cette fois-ci). Ce que Tom Ray a développé est donc un ordinateur virtuel à l’intérieur de l’ordinateur matériel. Les organismes évoluent dans un volume de mémoire qui correspond au bouillon de la vie et les organismes s’auto-répliquent dans ce bouillon (un peu comme le bouillon initial qui a vue la naissance de la vie sur Terre). Ces organismes étant très proches des virus informatiques, l’ordinateur virtuel permet de les contenir dans une partie réservée de la mémoire de la machine physique, sans qu’ils se répandent dans le reste de la mémoire et sur les autres ordinateurs.
L’évolution considérée par Tom Ray est assez différente de l’évolution biologique réelle : elle est simplifiée pour en garder l’essentiel des mécanismes, avec la plus grande flexibilité possible. Notamment, les organismes se confondent avec leur génotype et donc la distinction génotype-phénotype n’existe pas dans Tierra.
L’évolution dans Tierra est alors basée sur :
l’allocation à chaque organisme d’une mémoire protégée;
le partage du temps de calcul du processeur entre les organismes (les organismes plus complexes – à instructions plus longues– ayant besoin d’un temps de calcul plus long et donc de plus de cycles du processeur);
la mortalité (quand le bouillon devient trop plein, certains organismes meurent, mais leur code reste dans le bouillon et il pourrait être utilisé par d’autres organismes);
l’introduction de la diversité par les mutations dans les organismes eux-mêmes et pendant le processus de réplication (qui est donc imparfait).
(a)
(b)
(c)
Figure 7.3 Evolution dans Tierra. Source : Site web de Tierra
A partir de ces mécanismes, la vie artificielle se développe dans Tierra. L’ancêtre que Tom Ray a lancé dans cette soupe le 3 janvier 1990 est une instruction très simple de bits, écrits en Assembleur. Cet organisme avait juste la capacité de s’auto-répliquer. Le système a vécu pendant la nuit conduisant, au matin, à un écosystème formée de classes d’instructions différentes (du point de vue de leur taille) dont possédaient une population d’au moins individus. Chacune de ces classes pourrait donc être vue comme une espèce différente (du fait de la difficulté de reproduction qui aurait existé entre ces organismes si la reproduction était sexuée). De manière assez surprenante, le bouillon contenait aussi des organismes d’un type tout à fait différent : des parasites, c’est à dire, des organismes qui ont besoin des autres (leur hôte) pour se répliquer car ils sont dénués d’instructions pour se copier. Etant de taille plus petite, ces organismes ont alors la possibilité de se reproduire plus souvent que leur hôte.
La Figure 7.3↑ donne l’évolution de ce système. Initialement (image (a)) nous avons surtout des hôtes (en rouge) et quelques parasites (en jaune). Les parasites se développent considérablement (image (b)) mais quelques hôtes immunisés apparaissent (en bleu). A la fin (image (c)), les hôtes immunisés dominent la population et assurent leur survie.
Cette exploration de la capacité des mécanismes d’évolution à créer des formes de vies complexes et à les faire évoluer a été précédée de peu par l’exploration de leurs capacités à faire émerger des solutions à des problèmes difficiles à résoudre avec des méthodes habituelles, notamment analytiques.
Prev Section 7.2: Application : Le jeu de la vie de ConwayUp Chapitre 7: Évolution in silicoSection 7.4: Algorithmes évolutionnaires face aux problèmes difficiles Next