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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Lm ants

  • 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