Viel

Viel comme vie electronique, a ne pas confondre avec vièle, instrument de musique aux cordes frottées par un archet ou par une roue, indépendamment de sa forme et du nombre de cordes.

Présentation

Ce programme m'a été inspiré par deux lectures: d'une part le numéro spécial "Les nouveaux robots" de La Recherche (février 2002, n°350), tout particulièrement l'article "Darwin revisité par la selection artificielle" de Dario Floreano, et d'autre part la lecture du livre "Les systèmes multi-agents" de Jacques Ferber.

Ce programme est sans grande prétention, il est surtout là pour me permettre de voir à quoi peut ressembler un processus de selection naturelle dans un monde artificiel. Il a été programmé durant mes heures de loisir.

Mon monde artificiel

Les acteurs

Dans mon monde artificiel, il y a un sol où pousse de l'herbe lentement et des mangeurs d'herbe qui peuvent se déplacer, manger, se reproduire et mourire.

Les animats (autre nom des mangeurs d'herbe) ont des noms générés automatiquement. A chaque génération, il y a une lettre qui est ajoutée. Je commence par le A, puis le B, et ainsi de suite par ordre alphabétique. Ainsi, les deux animats FredA et FredB sont deux frères issus d'un même père Fred. FredBA est le premier fils de FredB, le neveux de FredA et le petit-fils de Fred.

Le processus de sélection

Les plus curieux regarderont mon premier programme elive, très ambitieux sur le principe, en faite trop ambitieux. Le principe est de générer des animats de manière aléatoire et je comptais qu'un jour j'ai un animat qui arrive tout de suite à un bon comportement. Cela n'est jamais arriver après plusieurs de calcul. J'ai été trop ambitieux.

Donc je suis revenu à quelques choses de plus modeste. Je prend un groupe d'animat, j'évalue leurs performences, je sélectionne la moitié la plus performente.

Charger le programme

Actuellement les seules versions disponibles sont très brutes de fonderie, et elles se trouvent ici :
viel-0.1.0 Changement de nom, ébauche d'un IHM
+ anciennessupprimées, car vraiment trop inintéressantes.

Il est chaudement recommander de ne s'interesser qu'à la dernière version, le autre ne sont là que pour faire beau.

Installation et compilation

Une fois l'archive chargée, voici les opérations pour avoir l'executable :

tar zxvf viel-R.M.n.tgz
cd viel-R.M.n
make
./eval_animat

Depuis peu, on peut installer l'executable avec la commande :

make install
Cependant, avant installation, il est vivement recommander d'editer le makefile pour preciser l'endroit ou sera installé le binaire.

C'est très basique pour l'instant. Peut-être qu'un jour j'améliorais tout cela.

NB regarder le script non_stop et dans src/gui.

Options

Le programme évolue, il a maintenant des options sur la ligne de commande.

La première option est -n, elle s'utilise comme cela :

eval_animat -n100
Cette option signifie qu'on évalue 100 animats d'un coup

La deuxième option consiste à préciser le nom du fichier sur lequel on travail :

eval_animat exemple.animat
Par defaut les animats sont sauver dans le fichier sans_nom.animat.

Exemple

Voici un exemple d'animat relativement évoluer :
20_animats.gz 3250 ko

A l'avenir

Pour rendre ce programme vraiment attractif, il faudrait vraiment que j'y mette un interface graphique. Un jour ou j'aurais le temps, je le ferais.

page principale


Emmanuel DUMAS, emmanuel point dumas arobase free point france, page ouèbe
Created : 21/03/2002 Last modified: Sun Aug 3 22:14:38 CEST 2003