Lm ants

551 vues

Publié le

Publié dans : Business
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
551
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

×