Pour modéliser le comportement des fourmis sur ordinateur, on doit
passer par un modèle mathématique (l'ordinateur ne comprend pas "la
fourmi aura tendance à ramasser l'oeuf"). Pour le modèle du couvain,
on doit définir 3 formules :
La fourmi ramasse ou dépose un oeuf en fonction de la concentration
locale en oeufs du même type (Rouge ou Bleu dans le modèle). On doit
donc fournir un moyen mathématique pour estimer cette
concentration. Nous avons distinguer deux méthodes possibles :
Dans ce modèle, on estime la concentration en oeufs en déterminant
le nombre d'oeufs du type à évaluer par rapport au nombre de cases
autour de la fourmi. Dans un premier temps, il nous faut donc compter
le nombre d'oeufs du type désiré dans le périmètre de recherche (on
peut prendre les 8 cases entourant la fourmi plus la case sur laquelle
elle se trouve), on appelle ce nombre N. M sera le nombre total de
cases dans le périmètre. La concentration, notée f, sera alors le
rapport :
f = N / M
Il est possible d'étendre le périmètre à un plus grand nombre de
cases (par exemple les 25 cases autour de la fourmi, soit un périmètre
de rayon 2).
Dans ce cas, la concentration d'oeufs est fonction du nombre
d'oeufs du type recherché sur lesquels la fourmi est passé au cours de
ses derniers déplacements. Pour ce faire, on rempli un tableau avec le
contenu des dernières cases sur lesquelles est passée la fourmi : si
elle passe sur une case vide, on note 0, si elle passe sur une case
contenant un oeuf rouge, on note 1, si elle passe sur un bleu, on note
2. A chaque nouvelle case rencontrée, la nouvelle valeur chasse la
plus ancienne. La taille du tableau est fonction de la mémoire de la
fourmi. Une valeur de 15 est raisonnable.
On appelle alors N le nombre d'oeufs du type dont on veut estimer
la concentration et M le nombre de cases dont la fourmi peut se
rappeler le contenu (soit la taille du tableau). Alors, la
concentration f sera :
Lorsqu'une fourmi arrive sur une case comportant un oeuf et qu'elle
a les "mains libres", elle peut ramasser l'oeuf avec une probabilité
P+. Cette probabilité est fonction de la concentration en oeufs du
même type, calculée ci-dessus, f. La formule est :
P+ = (K+ / (K+ + f))²
K+ est une constante que l'on peut prendre égale à 0,1.
Cette fonction est faite de telle manière à ce que plus la
concentration des oeufs (soit f) est faible, et plus la probabilité
que la fourmi ramasse l'oeuf (soit P+) est voisine de 1.
Lorsqu'une fourmi portant un oeuf arrive sur une case vide, elle
peut le déposer avec une probabilité P-. Cette probabilité est
fonction de la concentration en oeufs du même type, calculée
ci-dessus, f. La formule est :
P- = (f / (K- + f))²
K- est une constante que l'on peut prendre égale à 0,1.
Cette fonction est faite de telle manière à ce que plus la
concentration des oeufs (soit f) est grande, et plus la probabilité
que la fourmi dépose l'oeuf (soit P-) est voisine de 1.
Lorsque la fourmi arrive sur une nouvelle case, on estime la
probabilité qu'elle ramasse un oeuf ou le dépose, puis on tire un
nombre aléatoire réel compris entre 0 et 1, noté x. Si x est inférieur
à P+ ou P-, alors la fourmi ramassera ou déposera son oeuf.