Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
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. 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. 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).