1. L’intelligence collective
Fabrice Rossi
http://apiacoa.org/
Publication originale : Juin 2003
Version actuelle : 24 septembre 2006
Cet article est paru dans le num´ro 51 de la revue GNU/Linux Magazine France en juin
e
2003. Je remercie Denis Bodor et les ´ditions Diamond pour avoir autoris´ la distribution de cet
e e
article selon les conditions indiqu´es dans la section A. L’article est disponible en ligne ` l’URL
e a
http://apiacoa.org/publications/2003/lm-ants.pdf.
R´sum´
e e
L’intelligence artificielle est souvent r´sum´e par un but extrˆmement ambitieux,
e e e
rendre l’ordinateur aussi intelligent que l’homme, et faire en sorte qu’il passe le test de
Turing : ˆtre indistinguable d’un ˆtre humain lors d’une conversation en aveugle. Force est
e e
de constater que dans ce domaine, les progr`s sont plutˆt tr`s lents. Pourtant, dans des
e o e
domaines moins ambitieux, l’intelligence des ordinateurs progresse constamment. Une des
techniques utilis´es par les chercheurs depuis quelques ann´es est de s’inspirer de la na-
e e
ture et de l’intelligence en g´n´ral, plutˆt que de se focaliser sur l’intelligence humaine.
e e o
Le but de cet article est d’illustrer cette tendance en montrant comment l’intelligence
collective qui apparaˆ dans les colonies d’insectes sociaux est constitu´e ` partir d’une
ıt e a
agr´gation de comportements individuels ´l´mentaires difficilement qualifiables d’intelli-
e ee
gents. Nous verrons comment ces m´canimes peuvent ˆtre reproduits informatiquement
e e
afin de r´soudre des probl`mes pour lesquels ont propose naturellement des solutions
e e
beaucoup plus complexes et d´licates ` mettre au point.
e a
1 Introduction
Quand on ´voque l’intelligence artificielle (IA), le lecteur pense presque syst´matiquement
e e
a
` des algorithmes tr`s complexes comme les moteurs d’inf´rence (les fameux syst`mes experts)
e e e
ou les r´seaux de neurones artificiels. Il faut dire qu’on demande ` l’IA de r´aliser des tˆches
e a e a
tr`s ´volu´es comme la reconnaissance de visages, de l’´criture manuscrite ou de la parole. On
e e e e
cherche souvent ` rendre l’ordinateur aussi intelligent que l’ˆtre humain.
a e
La plupart des animaux sont beaucoup moins intelligents que l’homme mais sont cepen-
dant capables de r´alisations assez ´volu´es. Consid´rons par exemple les insectes. Individuel-
e e e e
lement une fourmi ou une abeille ne sont pas des animaux tr`s ´volu´s. Leur cerveau est
e e e
minuscule et n’est pas capable de s’adapter ` des situations nouvelles. Pourtant, le groupe
a
r´alise des tˆches tr`s ´volu´es, comme la construction d’une ruche ou d’une fourmili`re, la
e a e e e e
collecte de la nourriture, l’´levage des larves, etc. Les insectes sociaux [1] sont fascinants car ils
e
semblent compenser leurs faiblesses individuelles par une coordination globale qui donne ` la a
colonie une forme d’intelligence bien sup´rieure ` celles de ses membres. Le plus ´tonnant est
e a e
que cette coordination n’existe pas mat´riellement, au sens o` la colonie ne comporte aucun
e u
2. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
chef. Par des m´canismes ´l´mentaires, les actions individuelles se combinent pour contribuer
e ee
a
` la r´alisation du but global, sans plan apparent.
e
Les m´canismes qui permettent le fonctionnement des colonies d’insectes sont tr`s int´-
e e e
ressants pour les chercheurs en IA [2]. D’ailleurs, cette discipline s’est souvent bas´e sur une
e
forme d’imitation de la nature pour progresser. Les moteurs d’inf´rence sont par exemple une
e
informatisation des m´canismes de raisonnement logique mis en oeuvre par les humains. Les
e
r´seaux de neurones artificiels sont issus de mod`les math´matiques ´l´mentaires des neu-
e e e ee
rones humains. Les syst`mes dits multi-agents sont eux inspir´s de l’intelligence collective des
e e
insectes sociaux. Ces syst`mes s’inspirent des colonies en se basant sur des agents simples (le
e
mod`le informatique d’un insecte) qui interagissent afin de produire un comportement global
e
intelligent. Les gros avantages de l’approche multi-agents sont les suivants :
– les agents utilisent des algorithmes assez simples et donc en g´n´ral plus faciles ` mettre
e e a
au point que les programmes des autres m´thodes de l’IA ;
e
– l’intelligence globale est souvent croissante avec le nombre d’agents, ce qui permet
d’adapter relativement ais´ment la puissance du syst`me aux ressources disponibles ;
e e
– l’absence de contrˆle central autorise une impl´mentation sous forme de syst`me r´-
o e e e
parti, par exemple sur plusieurs ordinateurs. On peut ainsi profiter d’un cluster de
machines, ce qui renforce la souplesse du mod`le et ses possibilit´s d’adaptation aux
e e
tˆches demand´es ;
a e
– les communications et actions sont en g´n´ral locales, c’est-`-dire qu’un agent peut
e e a
seulement interagir avec son environnement imm´diat, ce qui facilite une impl´mentation
e e
r´partie efficace.
e
On compte de tr`s nombreuses applications pratiques de l’intelligence collective, en particu-
e
lier dans les probl`mes d’optimisation. Des concepts assez proches de ceux qui seront expos´s
e e
dans cet article (en particulier les m´canismes de marquage par ph´romones) ont ´t´ utilis´s
e e ee e
pour proposer des solutions heuristiques au probl`me du voyageur de commerce. Ce probl`me
e e
consiste ` trouver le chemin le plus court passant par un ensemble fix´ de villes. Il fait partie
a e
de la classe des probl`mes NP-complets pour lesquels on ne connaˆ pas (actuellement) de
e ıt
solution exacte en temps polynomial. Depuis les travaux de Marco Dorigo et de ses coll`gues e
[3], l’approche inspir´e du comportement des fourmis a ´t´ appliqu´e ` divers probl`mes d’op-
e ee e a e
timisation combinatoire (en productique et en t´l´communication par exemple). On compte
ee
aussi des applications en robotique, en analyse des donn´es, etc.
e
L’intelligence collective est un domaine extrˆmement riche, impossible ` couvrir en un
e a
article, et mˆme d’ailleurs en un num´ro entier de LinuxMag. Le but de cet article est donc de
e e
d´crire un mod`le multi-agents ´l´mentaire afin de montrer comment l’intelligence collective
e e ee
´merge naturellement par combinaison de comportements tr`s simples. L’exemple choisi est
e e
celui d’une colonie de fourmis car il est introduit les concepts de coop´ration par l’utilisation
e
de ph´romones qui sont ` la base des applications concr`tes issues des travaux de Marco
e a e
Dorigo et de ses coll`gues.
e
2 Une colonie de fourmis
2.1 La r´colte de nourriture par des fourmis
e
Nous allons ´tudier le probl`me du ramassage de nourriture par les fourmis d’une unique
e e
fourmili`re [4]. La fourmili`re est le point de d´part des fourmis qui explorent le monde qui les
e e e
entoure. Quand une fourmi d´couvre de la nourriture, elle pr´l`ve le plus gros morceau qu’elle
e ee
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 2/21
3. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
est capable de porter, puis elle le rapporte ` la fourmili`re. Une fois la nourriture stock´e en
a e e
lieu sˆr, la fourmi retourne au travail.
u
Le mod`le est simplifi´ ` l’extrˆme afin de faciliter son ´tude. Par exemple, nous ne
e e a e e
prendrons pas en compte la comp´tition entre fourmili`res. De mˆme nous ne tiendrons pas
e e e
compte de la fatigue des fourmis, du fait que la nourriture se pr´sente parfois sous forme
e
d’´l´ments difficiles ` s´parer et que plusieurs fourmis doivent s’associer pour la transporter.
ee a e
2.2 Mod`le informatique
e
Nous adoptons un mod`le informatique discret : comme l’illustre la figure 1, le monde
e
est constitu´ d’une grille de taille finie (les bords sont infranchissables) dont chaque case
e
peut contenir une ou plusieurs fourmis, ainsi qu’un nombre arbitraire d’unit´s de nourriture.
e
Certaines cases peuvent contenir des obstacles infranchissables. La fourmili`re occupe une
e
case unique.
Obstacles
Fourmilière
Nourriture
Fig. 1 – Dessin du monde
Quand une fourmi se d´place, elle passe directement d’une case ` une des cases voisines. Le
e a
temps s’´coule de fa¸on discr`te, c’est-`-dire qu’on passe de l’instant t directement ` l’instant
e c e a a
t+1 en r´alisant s´quentiellement les mouvements de toutes les fourmis ´tudi´es.
e e e e
Une fourmi poss`de une orientation, c’est-`-dire qu’elle regarde une des 8 cases voisines.
e a
Cette orientation est importante car la fourmi ne peut se d´placer que vers la case observ´e.
e e
En d’autres termes, pour se d´placer, la fourmi commence par s’orienter, puis avance dans la
e
direction choisie, comme l’illustre la figure 2.
Une fourmi peut prendre une d´cision de mouvement en fonction de son environnement.
e
Par exemple, elle peut d´cider de se d´placer vers de la nourriture si elle en voit dans les cases
e e
qui l’entourent.
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 3/21
4. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
Rotation Déplacement
Fig. 2 – Mouvement d’une fourmi
Pour ´valuer l’efficacit´ des fourmis dans leur collecte de nourriture, on peut tracer l’´vo-
e e e
lution de la quantit´ de nourriture stock´e dans la fourmili`re au cours du temps. Cette
e e e
´volution sera d’autant plus rapide que la collecte est efficace.
e
2.3 Impl´mentation
e
Le lecteur trouvera sur le site de l’auteur (http://apiacoa.org/software/ants/) une
impl´mentation en Java du mod`le propos´. Cette impl´mentation est sous licence GPL et
e e e e
toute collaboration est la bienvenue, d’autant que l’aspect graphique du logiciel est pour
l’instant tr`s basique, comme le montre la capture d’´cran de la figure 3.
e e
Fig. 3 – Capture d’´cran
e
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 4/21
5. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
3 Des fourmis stupides
3.1 Mod`le de base
e
Dans un premier temps, nous ´tudions des fourmis tr`s stupides. Leur m´moire est tel-
e e e
lement limit´e qu’elle ne contient que l’emplacement de la fourmili`re, ce qui permet ` une
e e a
fourmi de revenir ` celle-ci d`s qu’elle a trouv´ de la nourriture. La fourmi poss`de un cerveau
a e e e
qui est soit en mode recherche, soit en mode retour a la fourmili`re. En mode recherche, la
` e
fourmi applique l’algorithme suivant :
1. choisir la prochaine direction au hasard
2. s’orienter dans cette direction
3. avancer d’un pas
4. si la case atteinte contient de la nourriture :
(a) ramasser la nourriture
(b) passer en mode retour a la fourmili`re
` e
5. sinon, retourner en 1
En mode retour a la fourmili`re, la fourmi applique l’algorithme suivant :
` e
1. se tourner vers la fourmili`re
e
2. avancer d’un pas
3. si la case atteinte est la fourmili`re :
e
(a) d´poser la nourriture
e
(b) faire demi-tour
(c) passer en mode recherche
4. sinon, retourner en 1
Les algorithmes appliqu´s sont donc extrˆmement simples. Le but du demi-tour dans le mode
e e
retour a la fourmili`re consiste pour la fourmi ` repartir dans la direction d’o` elle vient, et
` e a u
donc ` essayer de rejoindre l’amas de nourriture dans lequel elle a pr´lev´ la nourriture qu’elle
a e e
rapporte.
Dans le mode recherche, la fourmi doit choisir au hasard sa prochaine direction. Pour ´viter
e
des mouvements trop d´sordonn´s, la nouvelle direction est choisie relativement ` l’ancienne,
e e a
c’est-`-dire sous forme d’une rotation. Les probabilit´s retenues auront une influence sur le
a e
comportement exploratoire des fourmis. Par exemple, si on donne une probabilit´ ´lev´e aux
ee e
rotations d’angle faible, la fourmi va avoir tendance ` progresser tout droit, alors que des pro-
a
babilit´s uniformes conduisent ` un mouvement plus d´sordonn´. Nous ´tudirons l’influence
e a e e e
des probabilit´s sur la vitesse d’exploration dans les sections suivantes.
e
Dans le mode retour a la fourmili`re, la fourmi ne choisit pas toujours la direction optimale
` e
(celle de la fourmili`re). On consid`re en effet qu’elle n’est pas assez intelligente pour se
e e
d´placer sans erreur. On mod´lise l’erreur de direction par une rotation al´atoire par rapport
e e e
a
` la direction optimale, comme dans le mode recherche. Bien entendu, les probabilit´s doivent
e
ˆtre adapt´es afin que la fourmi puisse rentrer ` la fourmili`re en un temps raisonnable.
e e a e
Notons d’autre part qu’il faut pr´voir un algorithme permettant d’´viter les obstacles. Ce
e e
type d’algorithme est assez difficile ` mettre au point. En fait, il existe des solutions connues
a
et optimales, mais elles sont totalement incompatibles avec la notion d’agent ´l´mentaire. En
ee
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 5/21
6. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
g´n´ral, ces solutions ne sont pas locales (la fourmi doit voir ` distance) ou n´cessitent la
e e a e
m´morisation des d´placements ant´rieurs. On a donc choisi un algorithme tr`s simple qui
e e e e
ne fonctionne pas dans le cas g´n´ral, mais seulement pour des cas ´l´mentaires comme celui
e e ee
pr´sent´ dans la section suivante. L’id´e de la m´thode est de choisir la direction admissible
e e e e
(i.e., qui m`ne ` une case libre) la plus proche de la direction de la fourmili`re. Pour ´viter
e a e e
que les fourmis prennent toutes le mˆme chemin, chaque fourmi ` un sens de rotation pr´f´r´
e a eee
et choisira donc la direction la plus proche, soit dans le sens des aiguilles d’une montre, soit
dans le sens contraire.
3.2 Premiers r´sultats
e
Pour ´valuer la qualit´ de la collecte de nourriture, on choisit une configuration test du
e e
monde avec les caract´ristiques suivantes :
e
– le monde est constitu´ d’un carr´ de 120x120 cases ;
e e
– la fourmili`re est au centre du monde (le point vert dans le dessin) ;
e
– quatre tas de nourriture sont plac´s dans les quatre coins. Le tas en haut ` gauche est
e a
rapproch´ de la fourmili`re (les zones rouges) ;
e e
– il y a au total 1600 unit´s de nourriture, chaque tas couvrant une zone de 20x20 cases,
e
avec une unit´ par case ;
e
– un obstacle carr´ est plac´ entre la fourmili`re et le tas en haut ` gauche (le carr´ noir) ;
e e e a e
– on consid`re une population de 100 fourmis ;
e
– enfin, on ´tudie l’´volution de la quantit´ de nourriture collect´e sur 4000 unit´s de
e e e e e
temps.
Le monde obtenu est repr´sent´ par la figure 4.
e e
Fig. 4 – Monde de test
On peut ´tudier dans un premier temps l’effet de la directivit´ des mouvements, c’est-`-
e e a
dire du choix des probabilit´s de rotation d’une fourmi en mode recherche. On se donne par
e
exemple trois distributions de probabilit´ r´sum´es dans le tableau suivant :
e e e
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 6/21
7. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
Rotation 0 +/- 1 +/- 2 +/-3 +/-4
5 8 6 4 1
Distribution 1 24 24 24 24 24
12 4 2 1
Distribution 2 19 19 19 19 0
12 2 1 1
Distribution 3 16 16 16 16 0
Le tableau se lit de la fa¸on suivante : quand une fourmi regarde vers la case juste au dessus
c
d’elle, elle a 4 chances sur 19 de se tourner d’une case vers la gauche ou vers la droite avec
la distribution 2. On constate que la distribution 3 est tr`s directive (la fourmi a tendance `
e a
continuer tout droit), alors que la distribution 2 est moyennement directive. La distribution
1 au contraire est tr`s peu directive car la fourmi n’a que 5 chances sur 24 de continuer tout
e
droit. La figure 5 repr´sente l’´volution de la quantit´ de nourriture dans la fourmili`re en
e e e e
fonction de la distribution choisie.
600
distribution 3
distribution 2
distribution 1
500
400
Nourriture récoltée
300
200
100
0
0 1000 2000 3000 4000
Temps
Fig. 5 – Comparaison des distributions : collecte de nourriture
On constate que la distribution directive est beaucoup plus efficace que les autres sur
l’exemple ´tudi´. Pour comprendre les raisons de cette efficacit´, on peut observer l’emplace-
e e e
ment des fourmis apr`s 100 d´placements (figure 6). On constate que pour la distribution 1
e e
(image de gauche), les fourmis (en bleu) sont rest´es relativement concentr´es autour de la
e e
fourmili`re, alors que pour la distribution 3 (image de droite), elles ont parcouru une plus
e
grande distance et ont donc explor´ plus efficacement le monde.
e
Dans la suite du texte, nous utiliserons donc la distribution 3. Il faut noter que pour une
autre configuration du monde, une exploration moins directive aurait pu donner de meilleurs
r´sultats. De plus, on pourrait aussi s’int´resser aux probabilit´s utilis´es dans le mode retour
e e e e
a la fourmili`re. Cependant, le comportement de chaque fourmi n’´tant pas le th`me principal
` e e e
de cet article, nous nous contenterons de donner la distribution utilis´e pour le retour :
e
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 7/21
8. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
Fig. 6 – Comparaison des distributions : amplitude des d´placements
e
Rotation 0 +/- 1 +/- 2 +/-3 +/-4
80 10 1
Distribution 1 91 91 91 0 0
On constate que la distribution retenue est tr`s directive. Contrairement au mode recherche,
e
la rotation ne s’effectue pas ici par rapport ` la direction pr´c´dente, mais par rapport ` la
a e e a
direction optimale (celle de la fourmili`re).
e
3.3 Perception
Les fourmis que nous venons d’´tudier sont vraiment tr`s basiques, car elles ne per¸oivent
e e c
mˆme pas leur environnement. On peut donc introduire une forme de perception de la nour-
e
riture pour tenter d’am´liorer la collecte. Cette forme d’intelligence ´l´mentaire modifie le
e ee
comportement de la fourmi en mode recherche. Au lieu de choisir au hasard sa nouvelle direc-
tion, la fourmi peut se tourner automatiquement vers une case contenant de la nourriture si
une telle case fait partie des huit positions voisines de la sienne. On constate sur la figure 7 que
l’am´lioration de la collecte reste cependant quasi nulle avec une telle forme de perception.
e
4 L’intelligence collective
4.1 Les ph´romones
e
Dans la nature, les fourmis exhibent un comportement collectif en utilisant un outil de
communication tr`s efficace, les ph´romones. Une ph´romone est une hormone ´mise dans
e e e e
le milieu ext´rieur, c’est-`-dire une substance chimique dont les propri´t´s peuvent alt´rer le
e a ee e
comportement du r´cepteur. Les hormones sont un m´canisme de communication chimique
e e
tr`s utilis´ en interne par les ˆtres vivants. Chez l’ˆtre humain, par exemple, l’hypophyse
e e e e
(un ´l´ment du cerveau) produit l’hormone de croissance qui est v´hicul´e par le sang jus-
ee e e
qu’` certaines cellules cibles afin de stimuler la croissance verticale du corps. Les ph´romones
a e
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 8/21
9. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
600
500
400
Nourriture récoltée
300
200
100
sans perception
avec perception
0
0 1000 2000 3000 4000
Temps
Fig. 7 – Collecte de nourriture : avec ou sans perception
(vraisemblablement sp´cifiques au r`gne animal) sont ´mises dans le milieu ext´rieur et per-
e e e e
mettent ` des animaux de communiquer entre eux. Elles entrent notamment en jeu dans les
a
m´canismes de reproduction. Dans le cas des insectes sociaux, elles sont aussi utilis´es pour
e e
coordonner la colonie.
Les fourmis utilisent en effet des ph´romones pour laisser des pistes que les autres fourmis
e
vont suivre pour s’orienter. Plus pr´cis´ment, on suppose qu’une fourmi peut d´poser des
e e e
gouttes de ph´romones sur le sol. C’est ce qu’elle va faire en mode retour a la fourmili`re,
e ` e
l’algorithme devenant donc :
1. d´poser une goutte de ph´romones
e e
2. se tourner vers la fourmili`re
e
3. avancer d’un pas
4. si la case atteinte est la fourmili`re :
e
(a) d´poser la nourriture
e
(b) faire demi-tour
(c) passer en mode recherche
5. sinon, retourner en 1
Une fourmi qui porte de la nourriture fabrique donc une piste entre l’emplacement du bloc
de nourriture et la fourmili`re. Les fourmis en mode recherche peuvent alors profiter de la
e
piste ainsi obtenue pour se diriger vers la nourriture. De plus, le niveau de ph´romones dans
e
une case du monde est une indication du nombre de fourmis transportant de la nourriture
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 9/21
10. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
qui sont pass´es par cette case. Les fourmis en recherche ont donc int´rˆt ` se diriger vers des
e ee a
cases qui contiennent beaucoup de ph´romones. Pour tenir compte de ce comportement, la
e
nouvelle direction d’une fourmi en mode recherche est d´termin´e par l’algorithme suivant :
e e
1. si au moins une des 8 cases voisines contient de la nourriture :
(a) d´terminer les cases contenant le plus de nourriture
e
(b) se tourner al´atoirement vers une de ces cases
e
2. sinon, si au moins une des 8 cases voisines contient des ph´romones :
e
(a) d´terminer la case contenant des ph´romones la plus ´loign´e de la fourmili`re
e e e e e
(b) en cas d’ex-aequo, choisir la case contenant le plus de ph´romones
e
(c) se tourner vers la case choisie
3. choisir la prochaine direction au hasard ` partir de la direction actuelle
a
On constate que l’algorithme est assez ´volu´, mais poss`de des caract´ristiques tr`s int´res-
e e e e e e
santes :
– l’algorithme est local : la fourmi ´tudie seulement les cases qui l’entourent. On peut
e
bien sˆr critiquer l’utilisation de la distance ` la fourmili`re, mais c’est en fait une fa¸on
u a e c
simple d’exprimer le fait qu’une fourmi va naturellement suivre une piste de ph´romones
e
dans le sens qui l’´loigne de la fourmili`re. Comme la fourmi connaˆ la direction de la
e e ıt
fourmili`re, on pourrait exprimer l’algorithme en terme de cette direction. Il serait alors
e
moins lisible mais ´quivalent. Notons de plus que l’information donnant la position de
e
la fourmili`re peut ˆtre maintenue dynamiquement par la fourmi en prenant en compte
e e
ses propres d´placements ;
e
– la communication entre fourmis est indirecte : toute la communication est bas´e sur lese
ph´romones, il n’y a pas de liaison entre les fourmis ;
e
– une fourmi n’a pas de m´moire, elle ne sait pas par o` elle est d´j` pass´e, o` elle a
e u ea e u
d´j` ramass´ de la nourriture, etc. En fait, le sol joue le rˆle d’une m´moire globale et
ea e o e
r´partie pour l’ensemble de fourmis.
e
Pour ´viter que les pistes persistent quand une source de nourriture est ´puis´e, on donne
e e e
une dur´e de vie aux ph´romones, c’est-`-dire que celles-ci s’´vaporent progressivement. Pour
e e a e
qu’une piste soit conserv´e, il faut donc qu’elle soit entretenue, c’est-`-dire utilis´e par des
e a e
fourmis portant de la nourriture.
4.2 R´sultats
e
La figure 8 compare la collecte de nourriture avec et sans ph´romone. On constate que
e
l’am´lioration induite par les ph´romones est radicale, en particulier pour le d´but de la
e e e
collecte. La collaboration entre les fourmis permet en effet d’optimiser les d´placements de
e
celles qui sont en mode recherche.
La figure 9 illustre comment les ph´romones assurent une meilleure efficacit´ globale. Elle
e e
correspond ` l’´tat du monde apr`s 500 unit´s de temps. Les ph´romones sont repr´sent´es
a e e e e e e
par les couleurs : plus la case est orange plus elle contient de ph´romones. On constate tout
e
d’abord que les ph´romones forment bien des routes vers les quatre zones de nourriture.
e
De plus, les fourmis sont presque toutes sur les routes de ph´romones, ce qui explique les
e
performances de collecte. En effet, en l’absence de ph´romones, les fourmis sont r´parties de
e e
fa¸on plus uniforme dans le monde. Certaines d’entres elles sont ´loign´es de toute nourriture
c e e
et risquent de devoir chercher pendant un temps important une des zones int´ressantes. En
e
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 10/21
11. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
1500
1000
Nourriture récoltée
500
avec phéromone
sans phéromone
0
0 1000 2000 3000 4000
Temps
Fig. 8 – Collecte de nourriture : avec ou sans ph´romones
e
pr´sence de ph´romones, au contraire, apr`s 500 unit´s de temps, presque toutes les fourmis
e e e e
ont ´t´ ”recrut´es”. Si elles ne sont pas en mode retour a la fourmili`re, elles sont en train de
ee e ` e
suivre une piste de ph´romone et retournent donc efficacement vers une zone de nourriture.
e
On peut expliquer le tassement en performances autour de 2000 unit´s de temps par le
e
sur-recrutement de fourmis pour le tas le plus proche de la fourmili`re. En effet, comme ce tas
e
est proche, il est d´couvert plus vite. De ce fait, les pistes de ph´romones qui m`nent ` ce tas
e e e a
sont plus rapidement mise en place que celles qui m`nent aux autres tas. Beaucoup de fourmis
e
sont donc recrut´es pour aller collecter la nourriture du tas. Malheureusement, l’algorithme
e
de suivi des pistes est tr`s ´l´mentaire et quand le tas s’´puise, les fourmis restent bloqu´es `
e ee e e a
l’extr´mit´ de la piste. On observe ce ph´nom`ne sur la figure 10, ` la fois pour le tas le plus
e e e e a
proche (apr`s 2000 unit´s de temps) et pour les autres tas (apr`s 3000 unit´s de temps).
e e e e
Deux solutions sont envisageables pour am´liorer la situation. On peut soit r´duire la du-
e e
r´e de vie des ph´romones, au risque de perdre les effets b´n´fiques de celles-ci, soit am´liorer
e e e e e
l’algorithme de suivi des pistes. Dans les exemples pr´sent´s au dessus, une goutte de ph´ro-
e e e
mones persiste 110 unit´s de temps pour la zone centrale, beaucoup moins sur les bords (la
e
goutte occupe 8 cases), ` savoir 14 unit´s de temps. Si on r´duit la dur´e de vie ` 75 unit´s de
a e e e a e
temps (9 pour les bords de la goutte), on am´liore notablement les r´sultats, comme l’illustre
e e
la figure 11. Sur cette courbe, les ph´romones lentes correspondent ` une dur´e de vie de 450
e a e
unit´s de temps pour une goutte (28 sur les bords). Si on continue ` r´duire la dur´e de vie,
e a e e
par exemple en passant ` 56 unit´s de temps, les performances commencent ` se d´grader.
a e a e
Le probl`me principal de la solution par r´glage de l’´vaporation des ph´romones est
e e e e
que, dans la r´alit´, les fourmis ne restent pas coinc´es ` la fin d’une piste ! Quand elles se
e e e a
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 11/21
12. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
Fig. 9 – D´placements sans ph´romone (` gauche) ou avec (` droite)
e e a a
Fig. 10 – Evolution du monde : apr`s 2 000 unit´s de temps ` gauche, puis apr`s 3 000 unit´s
e e a e e
de temps ` droite
a
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 12/21
13. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
1500
1000
Nourriture récoltée
500
phéromone lente
phéromone moyenne
phéromone rapide
0
0 1000 2000 3000 4000
Temps
Fig. 11 – Persistance des ph´romones
e
retrouvent dans une telle situation, elles reprennent en g´n´ral une recherche classique, sans
e e
tenir compte des ph´romones pendant un certain temps (ce qui revient ` s’´loigner de la piste
e a e
avant de prendre de nouveau en compte les ph´romones). On peut donc proposer l’algorithme
e
suivant, quand la fourmi est en mode recherche :
1. si la fourmi est r´fractaire aux ph´romones depuis plus de 50 unit´s de temps, redevenir
e e e
sensible aux ph´romones
e
2. si au moins une des 8 cases voisines contient de la nourriture :
(a) d´terminer les cases contenant le plus de nourriture
e
(b) se tourner al´atoirement vers une de ces cases
e
(c) choisir la prochaine direction au hasard ` partir de la direction actuelle
a
(d) avancer d’un pas
3. sinon, si au moins une des 3 cases situ´es devant la fourmi contient des ph´romones :
e e
(a) d´terminer, parmi les trois cases, celle qui contient des ph´romones et qui est la
e e
plus ´loign´e de la fourmili`re
e e e
(b) en cas d’ex-aequo, choisir la case contenant le plus de ph´romones
e
(c) se tourner vers la case choisie
(d) avancer d’un pas
4. sinon, devenir r´fractaire aux ph´romones et avancer comme dans le mode recherche
e e
classique
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 13/21
14. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
5. si la case atteinte contient de la nourriture :
(a) ramasser la nourriture
(b) passer en mode retour a la fourmili`re
` e
6. sinon, retourner en 1
L’algorithme est beaucoup plus ´volu´ que le suivi standard de ph´romones, mais conserve
e e e
les caract´ristiques importantes de ce dernier : la localit´ et l’absence de communications
e e
directes. La figure 12 compare les ph´romones volatiles avec le suivi efficace (en pr´sence de
e e
ph´romones ` dur´e de vie moyenne). On constate que les deux solutions sont comparables.
e a e
Comme la solution avec suivi efficace est plus conforme ` la r´alit´, nous la retenons pour la
a e e
suite de l’article.
1500
1000
Nourriture récoltée
500
phéromone rapide
suivi efficace
0
0 1000 2000 3000 4000
Temps
Fig. 12 – Suivi efficace
5 L’intelligence individuelle
5.1 M´morisation
e
Les fourmis ´tant capables de m´moriser la direction de leur fourmili`re, il est naturel de
e e e
penser qu’une fourmi doit aussi ˆtre capable de m´moriser la direction de la derni`re zone
e e e
de nourriture qu’elle a d´couverte. On augmente de cette fa¸on l’intelligence individuelle de
e c
chaque fourmi. L’algorithme de la fourmi en mode recherche devient alors le suivant :
1. si la fourmi se souvient d’un emplacement de nourriture :
(a) se tourner vers cet emplacement
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 14/21
15. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
(b) si l’emplacement m´moris´ est atteint, l’oublier
e e
2. sinon :
(a) choisir la prochaine direction au hasard
(b) s’orienter dans cette direction
(c) avancer d’un pas
3. si la case atteinte contient de la nourriture :
(a) ramasser la nourriture
(b) m´moriser l’emplacement de la nourriture
e
(c) passer en mode retour a la fourmili`re
` e
4. sinon, retourner en 1
L’id´e est donc simplement pour une fourmi de revenir dans une zone dans laquelle elle a
e
d´couvert de la nourriture. Quand la fourmi est revenue dans cette zone, elle reprend une
e
recherche al´atoire classique.
e
1500
1000
Nourriture récoltée
500
avec phéromone
sans phéromone
avec mémoire
0
0 1000 2000 3000 4000
Temps
Fig. 13 – Influence de la m´morisation
e
On constate sur la figure 13 l’efficacit´ de cette strat´gie individuelle. Cependant, la m´-
e e e
thode reste moins efficace que l’intelligence collective obtenue grˆce aux ph´romones. En
a e
particulier, la collecte compl`te de nourriture se fait en 3493 unit´s de temps quand on utilise
e e
des ph´romones, contre 3665 avec la m´morisation. La diff´rence entre les deux intelligences
e e e
r´side essentiellement dans la phase de recrutement. En effet, les pentes des deux courbes
e
sont comparables, ce qui signifie que la m´moire collective construite grˆce aux ph´romones
e a e
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 15/21
16. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
remplace sans trop de difficult´ la m´moire individuelle. Par contre, le recrutement des four-
e e
mis par les pistes de ph´romones n’existe pas en cas d’intelligence individuelle et les fourmis
e
mettent donc plus de temps ` d´couvrir leur premi`re source de nourriture. La figure 14 donne
a e e
l’´tat du monde apr`s 500 unit´s de temps pour les deux intelligences (suivi efficace dans la
e e e
cas de la ph´romone) et confirme cette interpr´tation : il y a plus de fourmis ”perdues” dans
e e
le cas de la m´moire individuelle.
e
Fig. 14 – D´placements avec ph´romone (` gauche) ou avec m´moire (` droite)
e e a e a
5.2 Ph´romones
e
Il est tentant de combiner l’utilisation des ph´romones (qui favorisent le recrutement) avec
e
la m´moire individuelle (il n’y a pas mieux pour revenir ` un tas d´j` d´couvert). Cependant,
e a ea e
la figure 15 montre que l’am´lioration obtenue est marginale par rapport ` l’utilisation seule
e a
des ph´romones. On acc´l`re la collecte, puisque toute la nourriture est obtenue en 3044 unit´s
e ee e
de temps (contre 3493), mais cette acc´l´ration ne concerne que les toutes derni`res unit´s de
ee e e
nourriture collect´es.
e
Par contre, l’am´lioration par rapport ` l’utilisation seule de la m´moire individuelle est
e a e
importante, ce qui confirme une fois de plus l’efficacit´ des ph´romones pour le recrutement
e e
des fourmis.
5.3 Un monde plus complexe
Quand le monde est plus complexe, en particulier quand le nombre d’obstacles augmente,
la situation devient en g´n´ral moins favorable pour l’intelligence collective, car les chemins de
e e
retour vers la nourriture peuvent devenir assez tortueux et les ph´romones insuffisantes pour
e
r´soudre le probl`me. Le monde de la figure 16 est un bon exemple de ce type de situations
e e
d´licates.
e
Malgr´ la difficult´ de la tˆche, l’utilisation des ph´romones donne des r´sultats tr`s sa-
e e a e e e
tisfaisants. Vers le milieu de la collecte, l’intelligence individuelle domine, vraisemblablement
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 16/21
17. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
1500
1000
Nourriture récoltée
500
avec phéromone
sans phéromone
avec mémoire
mémoire et phéromone
0
0 1000 2000 3000 4000
Temps
Fig. 15 – Combinaison de m´thodes
e
pour des raisons li´es ` la complexit´ des chemins menant de la fourmili`re aux zones de
e a e e
nourriture. Sur la fin, les ph´romones reprennent le dessus. Comme l’illustre la figure 17, la
e
m´thode combin´e donne cette fois les meilleurs r´sultats.
e e e
6 Conclusion
Le mod`le ´l´mentaire de collecte de nourriture pr´sent´ dans cet article montre qu’avec
e ee e e
un concept tr`s simple, celui de marques (les ph´romones) laiss´es sur une m´moire collective
e e e e
(le sol), la colonie de fourmis remplace avantageusement une m´moire individuelle (retour vers
e
la zone de nourriture) et une coordination centralis´e (recrutement de nouvelles fourmis).
e
Pour obtenir un tel comportement de fa¸on centralis´e, il faudrait supposer que les fourmis
c e
sont capables d’explorer le monde puis de rapporter ` une autorit´ centrale (la reine par
a e
exemple) les informations issues de l’exploration (une sorte de carte de la r´gion explor´e).
e e
La reine pourrait alors combiner les cartes, puis calculer les chemins optimaux depuis la
fourmili`re vers les zones de nourriture. Elle planifierait ensuite la collecte de fa¸on optimale
e c
en envoyant les fourmis vers les tas de nourriture. Chaque fourmi devrait ˆtre capable de suivre
e
le plan ´tabli par la reine. Bien entendu, tout ceci rel`ve de la pure fiction et les travaux de
e e
Jean-Louis Deneubourg [1] ont montr´ que les fourmis utilisent en r´alit´ des m´canismes tr`s
e e e e e
proches de ceux que nous avons d´crits dans l’article.
e
En algorithmique en g´n´ral, et en IA en particulier, nous avons cependant comme r´flexe
e e e
naturel de mettre au point des solutions centralis´es tr`s proches (dans leur esprit) de notre
e e
fourmili`re futuriste avec sa reine omnisciente. Les r´sultats obtenus ne sont pas toujours tr`s
e e e
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 17/21
18. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
Fig. 16 – Un monde plus complexe
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 18/21
19. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
800
600
Nourriture récoltée
400
200
avec phéromone
sans phéromone
avec mémoire
mémoire et phéromone
0
0 1000 2000 3000 4000
Temps
Fig. 17 – Combinaison de m´thodes
e
satisfaisants, c’est pourquoi, comme nous le disions en introduction, des chercheurs ont adapt´
e
les m´thodes des insectes sociaux pour r´soudre des probl`mes concrets. L’´quipe de Marco
e e e e
Dorigo a ainsi propos´ un algorithme d’optimisation qui utilise des fourmis et des ph´romones
e e
pour r´soudre des probl`mes d’optimisation combinatoire. Les principes de l’algorithme sont
e e
tr`s proches de ceux mis en oeuvre dans cet article : les fourmis explorent une sorte de monde
e
qui repr´sente le probl`me, en laissant des traces de ph´romones. Les traces vont peu ` peu
e e e a
faire apparaˆ par renforcement une solution optimale.
ıtre
L’intelligence collective des colonies d’insectes offre donc un mod`le alternatif pour la
e
construction de programmes d’intelligence artificielle. Les algorithmes obtenus sont int´res-
e
sants ` plus d’un titre car ils sont en g´n´ral assez simples, d´centralis´s et intrins`quement
a e e e e e
parall`les. Le domaine de l’intelligence collective, comme celui des syst`mes multi-agents qui
e e
en est tr`s proche, est en d´veloppement constant depuis une dizaine d’ann´es et est devenu,
e e e
au fils du temps, une source de solutions cr´dibles pour des probl`mes r´els.
e e e
R´f´rences
ee
[1] Jean-Louis Deneubourg. Individuellement, les insectes sont bˆtes collecti-
e
vement, ils sont intelligents... Le Temps strat´gique, 65, Septembre 1995.
e
http://www.archipress.org/ts/deneubourg.htm.
[2] Eric Bonabeau and Guy Th´raulaz. L’intelligence en essaim. Pour La Science, 271, Mai
e
2000.
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 19/21
20. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
[3] Marco Dorigo, Vittorio Maniezzo, and Alberto Colorni. Positive feedback as a search
strategy. Technical Report 91-016, Politecnico di Milano, Milan, Italie, Juin 1991.
ftp://iridia.ulb.ac.be/pub/mdorigo/tec.reps/TR.01-ANTS-91-016.ps.gz.
[4] Site du projet ants (´valuation
e comparative de mod`les
e de cog-
nition auto-organis´e
e dans des syst`mes
e naturels et artificiels).
http://www.irit.fr/ACTIVITES/EQ_SMI/SMAC/PROJETS/Projet_ANTS.html.
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 20/21
21. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003
A Licence
Cette cr´ation est mise ` disposition selon le Contrat Paternit´ -
e a e
Pas d’Utilisation Commerciale - Pas de Modification disponible en ligne
http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ ou par courrier postal `
a
Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
B Historique
23 Septembre 2006 Mise en ligne avec quelques corrections par rapport au texte d’origine
(merci ` Nicolas Schoonbroodt pour ses remarques)
a
Juin 2003 Publication par le GNU/Linux Magazine France
Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 21/21