# Avida (logiciel)

Avida est une plateforme logicielle libre de simulation de vie artificielle, destinée à l'étude de l'évolution biologique de programmes informatiques (dit organismes numériques). Ceux-ci s'auto-reproduisent et évoluent au fil des générations en fonction d'une chaîne de symboles simulant un génome. Avida est en constant développement par le laboratoire Digital Evolution Lab de Charles Ofria à l'Université de l'État du Michigan. Avida fut créé par Charles Ofria, Chris Adami et C. Titus Brown à Caltech en 1993. Sa conception s'est inspirée du système Tierra.

## Historique

Avida s'est inspiré de ses prédécesseurs, Core War, Core World et Tierra.
Tierra simule un système évolutionnaire par le biais de programmes informatiques en compétition pour les ressources informatiques : le temps alloué par le processeur et l'accès à la mémoire principale. Sur cet aspect, Tierra reprend le principe de Core War, la principale différence étant la possibilité pour les programmes de s'auto-modifier, et de fournir à leur progéniture un matériel génétique différent. Les programmes de Tierra sont ainsi désignés comme organismes numériques de vie artificielle. Contrairement à Tierra où les organismes se partagent de façon concurrente un même « cerveau », dans Avida, chaque organisme a son propre « cerveau » autonome.
Les deux systèmes se distinguent en outre sur d'autres points. Dans Avida, les CPU virtuels peuvent tourner à différentes fréquences, permettant ainsi à un organisme donné d'exécuter deux fois plus d'instructions qu'un autre dans le même laps de temps. La fréquence des CPU virtuels est déterminée par un nombre varié de facteurs, dont l'un des plus importants est le résultat des tâches effectuées par les organismes. Les tâches sont des opérations logiques que les organismes peuvent effectuer pour recevoir des ressources additionnelles, telle une augmentation de la fréquence de leur CPU virtuel.

## Fonctionnement

Dans Avida, chaque organisme numérique est un logiciel autonome avec sa mémoire propre et son propre processeur virtuel et ne peut accéder à la mémoire ou au code des autres (contrairement à Tierra). Il est capable de se reproduire en générant de nouveaux organismes, sa progéniture. Le comportement de chaque organisme est défini par son génome, constitué d'une chaîne de symboles, qu'il va transmettre à sa descendance. Cette modification suit les principes des algorithmes génétiques. Chaque automate suit les principes de l'architecture de von Neumann et son code est généré à partir de son génome, sous forme d'un langage assembleur inspiré de celui de Tierra. Un aspect important d'AVIDA est que chaque organisme est localisé sur une grille en deux dimensions, chaque emplacement de la grille ne pouvant contenir qu'un et un seul organisme. Il y a donc une compétition pour la place puisque les organismes qui se dupliquent le plus vite verront leurs enfants occuper plus de places.

### Applications pratiques

L'observation d´organismes numériques (des programmes informatique qui se comportent comme des êtres vivants) en accéléré et dans le milieu clos d'un ordinateur (in silico), permet d'effectuer des études impossibles à réaliser par la seule observation de la nature.
Christoph Adami et Charles Ofria, en collaborations avec d'autres chercheurs, ont utilisé Avida pour mener différentes recherches dans le champ de l'évolution numérique.
Ils se sont également servis du programme pour trouver quelle était la signature du vivant, c'est-à-dire l'empreinte mesurable que laisse un ou des êtres vivants. Dans le cas de la vie sur Terre, cette signature est la présence inégale d'acides aminés. Dans la biosphère Avida, il s'agit du nombre inégal de symboles (ce qui constitue les organismes avidiens) dans cette biosphère.
Différentes revues scientifiques, telles que Nature et Science, ont publié leurs travaux.