Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lm ants

577 views

Published on

Published in: Business
  • Be the first to comment

  • Be the first to like this

Lm ants

  1. 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 e2003. Je remercie Denis Bodor et les ´ditions Diamond pour avoir autoris´ la distribution de cet e earticle selon les conditions indiqu´es dans la section A. L’article est disponible en ligne ` l’URL e ahttp://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 a1 Introduction Quand on ´voque l’intelligence artificielle (IA), le lecteur pense presque syst´matiquement e ea` des algorithmes tr`s complexes comme les moteurs d’inf´rence (les fameux syst`mes experts) e e eou les r´seaux de neurones artificiels. Il faut dire qu’on demande ` l’IA de r´aliser des tˆches e a e atr`s ´volu´es comme la reconnaissance de visages, de l’´criture manuscrite ou de la parole. On e e e echerche 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 element une fourmi ou une abeille ne sont pas des animaux tr`s ´volu´s. Leur cerveau est e e eminuscule et n’est pas capable de s’adapter ` des situations nouvelles. Pourtant, le groupe ar´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 ecollecte de la nourriture, l’´levage des larves, etc. Les insectes sociaux [1] sont fascinants car ils esemblent compenser leurs faiblesses individuelles par une coordination globale qui donne ` la acolonie une forme d’intelligence bien sup´rieure ` celles de ses membres. Le plus ´tonnant est e a eque cette coordination n’existe pas mat´riellement, au sens o` la colonie ne comporte aucun e u
  2. 2. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003chef. Par des m´canismes ´l´mentaires, les actions individuelles se combinent pour contribuer e eea` 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 eressants pour les chercheurs en IA [2]. D’ailleurs, cette discipline s’est souvent bas´e sur une eforme d’imitation de la nature pour progresser. Les moteurs d’inf´rence sont par exemple une einformatisation des m´canismes de raisonnement logique mis en oeuvre par les humains. Les er´seaux de neurones artificiels sont issus de mod`les math´matiques ´l´mentaires des neu- e e e eerones humains. Les syst`mes dits multi-agents sont eux inspir´s de l’intelligence collective des e einsectes sociaux. Ces syst`mes s’inspirent des colonies en se basant sur des agents simples (le emod`le informatique d’un insecte) qui interagissent afin de produire un comportement global eintelligent. 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. eOn compte de tr`s nombreuses applications pratiques de l’intelligence collective, en particu- elier dans les probl`mes d’optimisation. Des concepts assez proches de ceux qui seront expos´s e edans cet article (en particulier les m´canismes de marquage par ph´romones) ont ´t´ utilis´s e e ee epour proposer des solutions heuristiques au probl`me du voyageur de commerce. Ce probl`me e econsiste ` trouver le chemin le plus court passant par un ensemble fix´ de villes. Il fait partie a ede la classe des probl`mes NP-complets pour lesquels on ne connaˆ pas (actuellement) de e ıtsolution 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 etimisation combinatoire (en productique et en t´l´communication par exemple). On compte eeaussi 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 aarticle, et mˆme d’ailleurs en un num´ro entier de LinuxMag. Le but de cet article est donc de e ed´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 este ecelui d’une colonie de fourmis car il est introduit les concepts de coop´ration par l’utilisation ede ph´romones qui sont ` la base des applications concr`tes issues des travaux de Marco e a eDorigo et de ses coll`gues. e2 Une colonie de fourmis2.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 efourmili`re [4]. La fourmili`re est le point de d´part des fourmis qui explorent le monde qui les e e eentoure. Quand une fourmi d´couvre de la nourriture, elle pr´l`ve le plus gros morceau qu’elle e eeCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 2/21
  3. 3. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003est capable de porter, puis elle le rapporte ` la fourmili`re. Une fois la nourriture stock´e en a e elieu 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 eprendrons pas en compte la comp´tition entre fourmili`res. De mˆme nous ne tiendrons pas e e ecompte de la fatigue des fourmis, du fait que la nourriture se pr´sente parfois sous forme ed’´l´ments difficiles ` s´parer et que plusieurs fourmis doivent s’associer pour la transporter. ee a e2.2 Mod`le informatique e Nous adoptons un mod`le informatique discret : comme l’illustre la figure 1, le monde eest constitu´ d’une grille de taille finie (les bords sont infranchissables) dont chaque case epeut contenir une ou plusieurs fourmis, ainsi qu’un nombre arbitraire d’unit´s de nourriture. eCertaines cases peuvent contenir des obstacles infranchissables. La fourmili`re occupe une ecase 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 atemps s’´coule de fa¸on discr`te, c’est-`-dire qu’on passe de l’instant t directement ` l’instant e c e a at+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 aCette orientation est importante car la fourmi ne peut se d´placer que vers la case observ´e. e eEn d’autres termes, pour se d´placer, la fourmi commence par s’orienter, puis avance dans la edirection choisie, comme l’illustre la figure 2. Une fourmi peut prendre une d´cision de mouvement en fonction de son environnement. ePar exemple, elle peut d´cider de se d´placer vers de la nourriture si elle en voit dans les cases e equi l’entourent.Copyright GNU/Linux Magazine France & Fabrice Rossi, 2003 3/21
  4. 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 elution 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.e2.3 Impl´mentation e Le lecteur trouvera sur le site de l’auteur (http://apiacoa.org/software/ants/) uneimpl´mentation en Java du mod`le propos´. Cette impl´mentation est sous licence GPL et e e e etoute collaboration est la bienvenue, d’autant que l’aspect graphique du logiciel est pourl’instant tr`s basique, comme le montre la capture d’´cran de la figure 3. e e Fig. 3 – Capture d’´cran eCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 4/21
  5. 5. L’intelligence collective GNU/Linux Magazine France 51, Juin 20033 Des fourmis stupides3.1 Mod`le de base e Dans un premier temps, nous ´tudions des fourmis tr`s stupides. Leur m´moire est tel- e e element limit´e qu’elle ne contient que l’emplacement de la fourmili`re, ce qui permet ` une e e afourmi de revenir ` celle-ci d`s qu’elle a trouv´ de la nourriture. La fourmi poss`de un cerveau a e e equi est soit en mode recherche, soit en mode retour a la fourmili`re. En mode recherche, la ` efourmi 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 1En 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 1Les algorithmes appliqu´s sont donc extrˆmement simples. Le but du demi-tour dans le mode e eretour a la fourmili`re consiste pour la fourmi ` repartir dans la direction d’o` elle vient, et ` e a udonc ` essayer de rejoindre l’amas de nourriture dans lequel elle a pr´lev´ la nourriture qu’elle a e erapporte. Dans le mode recherche, la fourmi doit choisir au hasard sa prochaine direction. Pour ´viter edes mouvements trop d´sordonn´s, la nouvelle direction est choisie relativement ` l’ancienne, e e ac’est-`-dire sous forme d’une rotation. Les probabilit´s retenues auront une influence sur le a ecomportement exploratoire des fourmis. Par exemple, si on donne une probabilit´ ´lev´e aux ee erotations d’angle faible, la fourmi va avoir tendance ` progresser tout droit, alors que des pro- ababilit´s uniformes conduisent ` un mouvement plus d´sordonn´. Nous ´tudirons l’influence e a e e edes 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 ed´placer sans erreur. On mod´lise l’erreur de direction par une rotation al´atoire par rapport e e ea` 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 eNotons d’autre part qu’il faut pr´voir un algorithme permettant d’´viter les obstacles. Ce e etype d’algorithme est assez difficile ` mettre au point. En fait, il existe des solutions connues aet optimales, mais elles sont totalement incompatibles avec la notion d’agent ´l´mentaire. En eeCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 5/21
  6. 6. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003g´n´ral, ces solutions ne sont pas locales (la fourmi doit voir ` distance) ou n´cessitent la e e a em´morisation des d´placements ant´rieurs. On a donc choisi un algorithme tr`s simple qui e e e ene fonctionne pas dans le cas g´n´ral, mais seulement pour des cas ´l´mentaires comme celui e e eepr´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 eque les fourmis prennent toutes le mˆme chemin, chaque fourmi ` un sens de rotation pr´f´r´ e a eeeet choisira donc la direction la plus proche, soit dans le sens des aiguilles d’une montre, soitdans 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 emonde 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 adire du choix des probabilit´s de rotation d’une fourmi en mode recherche. On se donne par eexemple trois distributions de probabilit´ r´sum´es dans le tableau suivant : e e eCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 6/21
  7. 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 0Le tableau se lit de la fa¸on suivante : quand une fourmi regarde vers la case juste au dessus cd’elle, elle a 4 chances sur 19 de se tourner d’une case vers la gauche ou vers la droite avecla distribution 2. On constate que la distribution 3 est tr`s directive (la fourmi a tendance ` e acontinuer tout droit), alors que la distribution 2 est moyennement directive. La distribution1 au contraire est tr`s peu directive car la fourmi n’a que 5 chances sur 24 de continuer tout edroit. La figure 5 repr´sente l’´volution de la quantit´ de nourriture dans la fourmili`re en e e e efonction 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 surl’exemple ´tudi´. Pour comprendre les raisons de cette efficacit´, on peut observer l’emplace- e e ement 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 efourmili`re, alors que pour la distribution 3 (image de droite), elles ont parcouru une plus egrande 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 uneautre configuration du monde, une exploration moins directive aurait pu donner de meilleursr´sultats. De plus, on pourrait aussi s’int´resser aux probabilit´s utilis´es dans le mode retour e e e ea la fourmili`re. Cependant, le comportement de chaque fourmi n’´tant pas le th`me principal` e e ede cet article, nous nous contenterons de donner la distribution utilis´e pour le retour : eCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 7/21
  8. 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 0On constate que la distribution retenue est tr`s directive. Contrairement au mode recherche, ela rotation ne s’effectue pas ici par rapport ` la direction pr´c´dente, mais par rapport ` la a e e adirection optimale (celle de la fourmili`re). e3.3 Perception Les fourmis que nous venons d’´tudier sont vraiment tr`s basiques, car elles ne per¸oivent e e cmˆme pas leur environnement. On peut donc introduire une forme de perception de la nour- eriture pour tenter d’am´liorer la collecte. Cette forme d’intelligence ´l´mentaire modifie le e eecomportement 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 siune telle case fait partie des huit positions voisines de la sienne. On constate sur la figure 7 quel’am´lioration de la collecte reste cependant quasi nulle avec une telle forme de perception. e4 L’intelligence collective4.1 Les ph´romones e Dans la nature, les fourmis exhibent un comportement collectif en utilisant un outil decommunication tr`s efficace, les ph´romones. Une ph´romone est une hormone ´mise dans e e e ele milieu ext´rieur, c’est-`-dire une substance chimique dont les propri´t´s peuvent alt´rer le e a ee ecomportement du r´cepteur. Les hormones sont un m´canisme de communication chimique e etr`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 equ’` certaines cellules cibles afin de stimuler la croissance verticale du corps. Les ph´romones a eCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 8/21
  9. 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 emettent ` des animaux de communiquer entre eux. Elles entrent notamment en jeu dans les am´canismes de reproduction. Dans le cas des insectes sociaux, elles sont aussi utilis´es pour e ecoordonner la colonie. Les fourmis utilisent en effet des ph´romones pour laisser des pistes que les autres fourmis evont suivre pour s’orienter. Plus pr´cis´ment, on suppose qu’une fourmi peut d´poser des e e egouttes de ph´romones sur le sol. C’est ce qu’elle va faire en mode retour a la fourmili`re, e ` el’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 1Une fourmi qui porte de la nourriture fabrique donc une piste entre l’emplacement du blocde nourriture et la fourmili`re. Les fourmis en mode recherche peuvent alors profiter de la episte ainsi obtenue pour se diriger vers la nourriture. De plus, le niveau de ph´romones dans eune case du monde est une indication du nombre de fourmis transportant de la nourritureCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 9/21
  10. 10. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003qui sont pass´es par cette case. Les fourmis en recherche ont donc int´rˆt ` se diriger vers des e ee acases qui contiennent beaucoup de ph´romones. Pour tenir compte de ce comportement, la enouvelle 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 aOn constate que l’algorithme est assez ´volu´, mais poss`de des caract´ristiques tr`s int´res- e e e e e esantes : – 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. ePour ´viter que les pistes persistent quand une source de nourriture est ´puis´e, on donne e e eune dur´e de vie aux ph´romones, c’est-`-dire que celles-ci s’´vaporent progressivement. Pour e e a equ’une piste soit conserv´e, il faut donc qu’elle soit entretenue, c’est-`-dire utilis´e par des e a efourmis 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 el’am´lioration induite par les ph´romones est radicale, en particulier pour le d´but de la e e ecollecte. La collaboration entre les fourmis permet en effet d’optimiser les d´placements de ecelles qui sont en mode recherche. La figure 9 illustre comment les ph´romones assurent une meilleure efficacit´ globale. Elle e ecorrespond ` l’´tat du monde apr`s 500 unit´s de temps. Les ph´romones sont repr´sent´es a e e e e e epar les couleurs : plus la case est orange plus elle contient de ph´romones. On constate tout ed’abord que les ph´romones forment bien des routes vers les quatre zones de nourriture. eDe plus, les fourmis sont presque toutes sur les routes de ph´romones, ce qui explique les eperformances de collecte. En effet, en l’absence de ph´romones, les fourmis sont r´parties de e efa¸on plus uniforme dans le monde. Certaines d’entres elles sont ´loign´es de toute nourriture c e eet risquent de devoir chercher pendant un temps important une des zones int´ressantes. En eCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 10/21
  11. 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 epr´sence de ph´romones, au contraire, apr`s 500 unit´s de temps, presque toutes les fourmis e e e eont ´t´ ”recrut´es”. Si elles ne sont pas en mode retour a la fourmili`re, elles sont en train de ee e ` esuivre 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 esur-recrutement de fourmis pour le tas le plus proche de la fourmili`re. En effet, comme ce tas eest proche, il est d´couvert plus vite. De ce fait, les pistes de ph´romones qui m`nent ` ce tas e e e asont plus rapidement mise en place que celles qui m`nent aux autres tas. Beaucoup de fourmis esont donc recrut´es pour aller collecter la nourriture du tas. Malheureusement, l’algorithme ede suivi des pistes est tr`s ´l´mentaire et quand le tas s’´puise, les fourmis restent bloqu´es ` e ee e e al’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 aproche (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 er´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 el’algorithme de suivi des pistes. Dans les exemples pr´sent´s au dessus, une goutte de ph´ro- e e emones persiste 110 unit´s de temps pour la zone centrale, beaucoup moins sur les bords (la egoutte 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 etemps (9 pour les bords de la goutte), on am´liore notablement les r´sultats, comme l’illustre e ela figure 11. Sur cette courbe, les ph´romones lentes correspondent ` une dur´e de vie de 450 e a eunit´s de temps pour une goutte (28 sur les bords). Si on continue ` r´duire la dur´e de vie, e a e epar 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 eque, dans la r´alit´, les fourmis ne restent pas coinc´es ` la fin d’une piste ! Quand elles se e e e aCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 11/21
  12. 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 aFig. 10 – Evolution du monde : apr`s 2 000 unit´s de temps ` gauche, puis apr`s 3 000 unit´s e e a e ede temps ` droite aCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 12/21
  13. 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 eretrouvent dans une telle situation, elles reprennent en g´n´ral une recherche classique, sans e etenir compte des ph´romones pendant un certain temps (ce qui revient ` s’´loigner de la piste e a eavant de prendre de nouveau en compte les ph´romones). On peut donc proposer l’algorithme esuivant, 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 classiqueCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 13/21
  14. 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 1L’algorithme est beaucoup plus ´volu´ que le suivi standard de ph´romones, mais conserve e e eles caract´ristiques importantes de ce dernier : la localit´ et l’absence de communications e edirectes. La figure 12 compare les ph´romones volatiles avec le suivi efficace (en pr´sence de e eph´romones ` dur´e de vie moyenne). On constate que les deux solutions sont comparables. e a eComme la solution avec suivi efficace est plus conforme ` la r´alit´, nous la retenons pour la a e esuite 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 efficace5 L’intelligence individuelle5.1 M´morisation e Les fourmis ´tant capables de m´moriser la direction de leur fourmili`re, il est naturel de e e epenser qu’une fourmi doit aussi ˆtre capable de m´moriser la direction de la derni`re zone e e ede nourriture qu’elle a d´couverte. On augmente de cette fa¸on l’intelligence individuelle de e cchaque 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 emplacementCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 14/21
  15. 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 1L’id´e est donc simplement pour une fourmi de revenir dans une zone dans laquelle elle a ed´couvert de la nourriture. Quand la fourmi est revenue dans cette zone, elle reprend une erecherche 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 ethode reste moins efficace que l’intelligence collective obtenue grˆce aux ph´romones. En a eparticulier, la collecte compl`te de nourriture se fait en 3493 unit´s de temps quand on utilise e edes ph´romones, contre 3665 avec la m´morisation. La diff´rence entre les deux intelligences e e er´side essentiellement dans la phase de recrutement. En effet, les pentes des deux courbes esont comparables, ce qui signifie que la m´moire collective construite grˆce aux ph´romones e a eCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 15/21
  16. 16. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003remplace sans trop de difficult´ la m´moire individuelle. Par contre, le recrutement des four- e emis par les pistes de ph´romones n’existe pas en cas d’intelligence individuelle et les fourmis emettent donc plus de temps ` d´couvrir leur premi`re source de nourriture. La figure 14 donne a e el’´tat du monde apr`s 500 unit´s de temps pour les deux intelligences (suivi efficace dans la e e ecas de la ph´romone) et confirme cette interpr´tation : il y a plus de fourmis ”perdues” dans e ele cas de la m´moire individuelle. e Fig. 14 – D´placements avec ph´romone (` gauche) ou avec m´moire (` droite) e e a e a5.2 Ph´romones e Il est tentant de combiner l’utilisation des ph´romones (qui favorisent le recrutement) avec ela m´moire individuelle (il n’y a pas mieux pour revenir ` un tas d´j` d´couvert). Cependant, e a ea ela figure 15 montre que l’am´lioration obtenue est marginale par rapport ` l’utilisation seule e ades ph´romones. On acc´l`re la collecte, puisque toute la nourriture est obtenue en 3044 unit´s e ee ede temps (contre 3493), mais cette acc´l´ration ne concerne que les toutes derni`res unit´s de ee e enourriture collect´es. e Par contre, l’am´lioration par rapport ` l’utilisation seule de la m´moire individuelle est e a eimportante, ce qui confirme une fois de plus l’efficacit´ des ph´romones pour le recrutement e edes 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 eretour vers la nourriture peuvent devenir assez tortueux et les ph´romones insuffisantes pour er´soudre le probl`me. Le monde de la figure 16 est un bon exemple de ce type de situations e ed´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 etisfaisants. Vers le milieu de la collecte, l’intelligence individuelle domine, vraisemblablementCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 16/21
  17. 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 epour des raisons li´es ` la complexit´ des chemins menant de la fourmili`re aux zones de e a e enourriture. Sur la fin, les ph´romones reprennent le dessus. Comme l’illustre la figure 17, la em´thode combin´e donne cette fois les meilleurs r´sultats. e e e6 Conclusion Le mod`le ´l´mentaire de collecte de nourriture pr´sent´ dans cet article montre qu’avec e ee e eun 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 ela 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 esont capables d’explorer le monde puis de rapporter ` une autorit´ centrale (la reine par a eexemple) les informations issues de l’exploration (une sorte de carte de la r´gion explor´e). e eLa reine pourrait alors combiner les cartes, puis calculer les chemins optimaux depuis lafourmili`re vers les zones de nourriture. Elle planifierait ensuite la collecte de fa¸on optimale e cen envoyant les fourmis vers les tas de nourriture. Chaque fourmi devrait ˆtre capable de suivre ele plan ´tabli par la reine. Bien entendu, tout ceci rel`ve de la pure fiction et les travaux de e eJean-Louis Deneubourg [1] ont montr´ que les fourmis utilisent en r´alit´ des m´canismes tr`s e e e e eproches 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 enaturel de mettre au point des solutions centralis´es tr`s proches (dans leur esprit) de notre e efourmili`re futuriste avec sa reine omnisciente. Les r´sultats obtenus ne sont pas toujours tr`s e e eCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 17/21
  18. 18. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003 Fig. 16 – Un monde plus complexeCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 18/21
  19. 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 esatisfaisants, c’est pourquoi, comme nous le disions en introduction, des chercheurs ont adapt´ eles m´thodes des insectes sociaux pour r´soudre des probl`mes concrets. L’´quipe de Marco e e e eDorigo a ainsi propos´ un algorithme d’optimisation qui utilise des fourmis et des ph´romones e epour r´soudre des probl`mes d’optimisation combinatoire. Les principes de l’algorithme sont e etr`s proches de ceux mis en oeuvre dans cet article : les fourmis explorent une sorte de monde equi repr´sente le probl`me, en laissant des traces de ph´romones. Les traces vont peu ` peu e e e afaire apparaˆ par renforcement une solution optimale. ıtre L’intelligence collective des colonies d’insectes offre donc un mod`le alternatif pour la econstruction de programmes d’intelligence artificielle. Les algorithmes obtenus sont int´res- esants ` plus d’un titre car ils sont en g´n´ral assez simples, d´centralis´s et intrins`quement a e e e e eparall`les. Le domaine de l’intelligence collective, comme celui des syst`mes multi-agents qui e een est tr`s proche, est en d´veloppement constant depuis une dizaine d’ann´es et est devenu, e e eau fils du temps, une source de solutions cr´dibles pour des probl`mes r´els. e e eR´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. 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. 21. L’intelligence collective GNU/Linux Magazine France 51, Juin 2003A Licence Cette cr´ation est mise ` disposition selon le Contrat Paternit´ - e a ePas d’Utilisation Commerciale - Pas de Modification disponible en lignehttp://creativecommons.org/licenses/by-nc-nd/2.0/fr/ ou par courrier postal ` aCreative 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 FranceCopyright GNU/Linux Magazine France & Fabrice Rossi, 2003 21/21

×