20
Chapitre 1 Agents et systèmes multiagents 1.1. Introduction De nos jours, le mot « agent » est utilisé dans plusieurs domaines et, de ce fait, plusieurs sens lui sont attachés. D’ailleurs, même à l’intérieur du domaine de l’infor- matique, plusieurs chercheurs ont défini le concept d’agent de manières différentes. Comme ce concept est fondamental pour la suite de ce mémoire, nous allons nous attarder à bien le cerner tout au long de ce chapitre. Tout d’abord, nous tenons à mentionner que les agents peuvent être conçus de plusieurs manières différentes. Ce sont les caractéristiques de l’environnement qui influencent le choix de conception. Si les agents sont dans un environnement en constants changements et qu’ils doivent, par conséquent, réagir très vite aux évé- nements de l’environnement, alors une architecture réactive est appropriée. Ce type d’agent réagit très vite, car il ne fait qu’appliquer des règles prédéfinies pour choisir ses actions. Toutefois, si l’environnement exige que l’agent raisonne pour atteindre son but, alors une architecture délibérative est plus appropriée. Les agents délibératifs peuvent raisonner sur leur but ou à l’aide d’une certaine fonction d’utilité pour choisir l’action qui les satisfait le plus. Nous pouvons même avoir des architectures qui mélangent ces deux extrêmes pour tenter de retirer les avantages de chacune d’elles. Ces architectures hybrides per- mettent à l’agent d’avoir un comportement réactif lorsque les situations l’exigent et un comportement délibératif dans d’autres circonstances. 3

Agents SMA

Embed Size (px)

Citation preview

  • Chapitre 1

    Agents et systmes multiagents

    1.1. Introduction

    De nos jours, le mot agent est utilis dans plusieurs domaines et, de ce fait,plusieurs sens lui sont attachs. Dailleurs, mme lintrieur du domaine de linfor-matique, plusieurs chercheurs ont dfini le concept dagent de manires diffrentes.Comme ce concept est fondamental pour la suite de ce mmoire, nous allons nousattarder bien le cerner tout au long de ce chapitre.

    Tout dabord, nous tenons mentionner que les agents peuvent tre conus deplusieurs manires diffrentes. Ce sont les caractristiques de lenvironnement quiinfluencent le choix de conception. Si les agents sont dans un environnement enconstants changements et quils doivent, par consquent, ragir trs vite aux v-nements de lenvironnement, alors une architecture ractive est approprie. Ce typedagent ragit trs vite, car il ne fait quappliquer des rgles prdfinies pour choisirses actions.

    Toutefois, si lenvironnement exige que lagent raisonne pour atteindre son but,alors une architecture dlibrative est plus approprie. Les agents dlibratifs peuventraisonner sur leur but ou laide dune certaine fonction dutilit pour choisir lactionqui les satisfait le plus.

    Nous pouvons mme avoir des architectures qui mlangent ces deux extrmespour tenter de retirer les avantages de chacune delles. Ces architectures hybrides per-mettent lagent davoir un comportement ractif lorsque les situations lexigent etun comportement dlibratif dans dautres circonstances.

    3

  • 4 SMA

    La plupart du temps, un agent nest pas seul dans son environnement, il y a dautresagents prsents autour de lui. Les agents doivent, par consquent, tre capables din-teragir entre eux. Ils peuvent soit coexister, cooprer ou tre en comptition. Sils nefont que coexister, alors chaque agent ne fait que considrer les autres agents commedes composantes de lenvironnement. Sils cooprent, alors les agents doivent pouvoircommuniquer et se coordonner pour agir efficacement ensemble. Sils sont en com-ptition, alors les agents doivent tre en mesure de ngocier. Un systme o voluentplusieurs agents est appel systme multiagent et il possde gnralement plusieurscaractristiques intressantes, comme le paralllisme, la robustesse et lextensibilit.

    Ce chapitre se veut une introduction au concept dagent pour tablir les bases dece mmoire. Il dbute par une dfinition du concept dagent. Il prsente par la suitequelques architectures dagents. Il introduit finalement les systmes multiagents bri-vement, car ils feront lobjet dune prsentation plus approfondie dans les chapitressuivants.

    1.2. Quest-ce quun agent ?Ces dix dernires annes, le concept dagent a t utilis et tudi dans plusieurs

    domaines. Toutefois, il ny a encore aucun consensus, entre les diffrents chercheurs,quant la dfinition mme du mot agent . Selon Nwana [NWA 96], il y a au moinsdeux raisons qui permettent dexpliquer cette difficult.

    La premire rside dans le fait que les chercheurs, dans le domaine des agents, nesont pas lorigine de ce terme comme lon t, par exemple, les chercheurs dans ledomaine de la logique floue. En effet, le terme agent a t et continue dtre utilis dansla vie de tous les jours par des personnes travaillant dans des domaines trs diffrents.Par exemple, on parle dagent de voyage, dagent immobilier, dagent dassurance,etc.

    La deuxime raison est que mme dans la communaut des chercheurs sur lesagents logiciels, le mot agent est utilis pour dcrire des systmes trs diffrentsles uns des autres. Pour ajouter la confusion, les chercheurs sont alls mme jusquinventer plusieurs synonymes au mot agent . Ils ont ainsi invent, par exemple, knowbots (robots base de connaissances), softbots (robots logiciel), taskbots(robots base de tche), userbots (robots pour utilisateur), robots, agents person-nels, agents autonomes, assistants personnels, etc. Il est vrai quune telle prolifrationde termes trouve sa justification dans le fait que les agents peuvent prendre diffrentesformes physiques (robot ou agent logiciel) et quils peuvent aussi jouer plusieurs rles.

    Cela dit, il est tout de mme important de sentendre sur une dfinition du termeagent pour que les exposs qui suivent dans ce mmoire aient un sens. La dfinitionque nous avons adopte, et qui semble couvrir les caractristiques des agents que nousavons dvelopps, est celle propose par Jennings, Sycara et Wooldridge [JEN 98] :

  • Agents et systmes multiagents 5

    Un agent est un systme informatique, situ dans un environnement, qui agitdune faon autonome et flexible pour atteindre les objectifs pour lesquels il at conu.

    Il y a trois concepts cls prsents dans cette dfinition : Situ signifie que lagent peut recevoir des entres sensorielles provenant de son

    environnement et quil peut effectuer des actions qui sont susceptibles de changer cetenvironnement. Le monde rel et lInternet sont des exemples denvironnements oles agents peuvent tre situs.

    Autonome signifie que lagent est capable dagir sans lintervention directe dunhumain (ou dun autre agent) et quil a le contrle de ses actions et de son tat interne.

    Flexible signifie que lagent est :- Capable de rpondre temps : il peut percevoir son environnement et r-

    pondre rapidement aux changements qui sy produisent.- Proactif : il nagit pas simplement en rponse son environnement, il est

    galement capable davoir un comportement opportuniste, dirig par ses buts ou safonction dutilit, et prendre des initiatives au moment appropri.

    - Social : il est capable dinteragir avec les autres agents (artificiels ou humains)afin de complter ses tches ou aider les autres complter les leurs.

    Bien entendu, certains agents auront des caractristiques additionnelles et, pourcertains types dapplications, certains attributs seront plus importants que dautres.Par contre, cest la prsence de tous ces attributs dans une seule entit logicielle quiprocure la force au paradigme agent et qui le distingue des autres paradigmes logicielstels que les systmes orients objets, les systmes distribus et les systmes experts.

    Maintenant que la dfinition gnrale du concept dagent est pose, la section sui-vante prsente quelques architectures dcrivant la manire de concevoir des agentspour rpondre diffrents types de problmes.

    1.3. Architectures dagents

    Il existe plusieurs manires de concevoir des agents, mais peu importe larchitec-ture adopte, un agent peut toujours tre vu comme une fonction liant ses perceptions ses actions. Plus prcisment, un agent peroit lenvironnement laide de ses cap-teurs et il agit sur son environnement laide de ses effecteurs. Ce qui diffrencie lesdiffrentes architectures dagents, cest la manire dont les perceptions sont lies auxactions.

    Les auteurs Russel et Norvig [RUS 95] regroupent les architectures dagents enquatre types, savoir :

  • 6 SMA

    les agents rflexes simples, les agents conservant une trace du monde, les agents ayant des buts, les agents utilisant une fonction dutilit.

    Les sections suivantes dtaillent ces quatre architectures, mais en les regroupantdeux deux. Les deux premiers types dagents sont considrs comme des agentsractifs et les deux derniers types sont considrs comme des agents dlibratifs.

    1.3.1. Agents ractifs

    Comme son nom lindique, un agent ractif ne fait que ragir aux changements quisurviennent dans lenvironnement. Autrement dit, un tel agent ne fait ni dlibration niplanification, il se contente simplement dacqurir des perceptions et de ragir celles-ci en appliquant certaines rgles prdfinies. tant donn quil ny a pratiquement pasde raisonnement, ces agents peuvent agir et ragir trs rapidement.

    Il convient de remarquer que les humains aussi utilisent cette manire dagir. Dansplusieurs situations, il est souvent prfrable de ne pas penser et de ragir immdiate-ment. Par exemple, lorsquune personne met la main sur une plaque trs chaude, ellene commence pas se demander si cest chaud, si a fait mal et sil faut ou non quelleretire sa main. Dans ce cas, elle retire sa main immdiatement, sans rflchir, et cestcette rapidit de raction qui lui permet de diminuer les blessures. Cet exemple montrebien que ce type de comportement rflexe est essentiel pour les tres humains. De lamme manire, il est aussi essentiel pour les agents sils veulent pouvoir agir dans lemonde rel.

    Les deux sous-sections suivantes dcrivent deux modles qui peuvent servir laconception dagents ractifs.

    1.3.1.1. Agents rflexes simplesCe type dagent agit uniquement en se basant sur ses perceptions courantes. Il uti-

    lise un ensemble de rgles prdfinies, du type Si condition alors action, pour choisirses actions. Par exemple, pour un agent en charge du contrle de la dfense dunefrgate, on pourrait avoir la rgle suivante :

    Si missile-en-direction-de-la-frgate alors lancer-missile-dinterception

    Comme on peut le constater, ces rgles permettent davoir un lien direct entre lesperceptions de lagent et ses actions. Le comportement de lagent est donc trs rapide,mais peu rflchi. chaque fois, lagent ne fait quexcuter laction correspondant la rgle active par ses perceptions.

  • Agents et systmes multiagents 7

    Figure 1.1. Schma dun agent rflexes simples [RUS 95].

    La figure 1.1 montre larchitecture dun agent rflexes simples. Les rectanglesreprsentent ltat interne de lagent dans son processus de dcision et les ovales re-prsentent les informations qui sont utilises dans le processus. Lagent se btit unereprsentation du monde laide de ses perceptions lui venant de ses capteurs. Par lasuite, il utilise ses rgles pour choisir laction quil doit effectuer selon ce quil peroitde lenvironnement.

    1.3.1.2. Agents conservant une trace du monde

    Le type dagent qui a t dcrit prcdemment, ne peut fonctionner que si un telagent peut choisir ses actions en se basant uniquement sur sa perception actuelle. Parexemple, si le radar de la frgate dtecte un missile et que linstant daprs, il le perdde vue, d un obstacle, cela ne signifie nullement quil ny a plus de missile. Dslors, lagent en charge du contrle de la frgate doit tenir compte de ce missile dans lechoix de ses actions et ce, mme si le radar ne dtecte plus le missile.

    Le problme que nous venons de mentionner survient parce que les capteurs delagent ne fournissent pas une vue complte du monde. Pour rgler ce problme,lagent doit maintenir des informations internes sur ltat du monde dans le but dtrecapable de distinguer deux situations qui ont des perceptions identiques, mais qui, enralit, sont diffrentes. Lagent doit pouvoir faire la diffrence entre un tat o il ny

  • 8 SMA

    Figure 1.2. Schma dun agent conservant une trace du monde [RUS 95].

    a pas de missile et un tat o le missile est cach, mme si ses capteurs lui fournissentexactement les mmes informations dans les deux cas.

    Pour que lagent puisse faire voluer ses informations internes sur ltat du monde,il a besoin de deux types dinformation. Tout dabord, il doit avoir des informationssur la manire dont le monde volue, indpendamment de lagent. Par exemple, ildoit savoir que si un missile avance une vitesse de 300 m/s, alors 5 secondes plustard, il aura parcouru 1500 mtres. Lagent doit avoir ensuite des informations sur lamanire dont ses propres actions affectent le monde autour de lui. Si la frgate tourne,lagent doit savoir que tout ce qui lenvironne tourne aussi. Il doit donc mettre jourla position relative de tous les objets autour de la frgate.

    On peut voir, sur la figure 1.2, la structure dun agent conservant une trace dumonde. Il utilise ses informations internes (tat prcdent du monde, lvolution dumonde et limpact de ses actions) pour mettre jour ses perceptions actuelles. Par lasuite, il choisit ses actions en se basant sur cette perception amliore du mondequi lentoure.

  • Agents et systmes multiagents 9

    1.3.2. Agents dlibratifs

    Les agents dlibratifs sont des agents qui effectuent une certaine dlibration pourchoisir leurs actions. Une telle dlibration peut se faire en se basant sur les buts delagent ou sur une certaine fonction dutilit. Elle peut prendre la forme dun plan quireflte la suite dactions que lagent doit effectuer en vue de raliser son but.

    1.3.2.1. Agents ayant des buts

    Dans la section prcdente, les agents utilisaient leurs connaissances sur ltat ac-tuel de lenvironnement pour choisir leurs actions. Toutefois, dans plusieurs situations,cela peut savrer insuffisant pour prendre une dcision sur laction effectuer. Parexemple, on ne peut pas se fier uniquement ltat actuel de lenvironnement pourdterminer la direction que la frgate doit prendre, tout simplement parce que celadpend aussi de lendroit o on veut se rendre.

    Donc, lagent a besoin, en plus de la description de ltat actuel de son environ-nement, de certaines informations dcrivant ses buts. Lesquels buts peuvent tre vuscomme des situations dsirables pour lagent, par exemple, larrive au port dHalifax.Par la suite, lagent peut combiner les informations sur ses buts avec les informationssur les rsultats de ses actions pour choisir les actions qui vont lui permettre datteindreses buts. Cela peut tre facile lorsque le but peut tre satisfait en excutant seulementune action, mais cela peut aussi tre beaucoup plus complexe si lagent doit considrerune longue squence dactions avant datteindre son but. Dans ce dernier cas, il doitutiliser des techniques de planification pour prvoir les actions devant lamener sonbut.

    Contrairement aux agents ractifs, les agents dlibratifs, qui raisonnent sur lesbuts, tiennent compte dune certaine projection dans le futur. Ils se posent des ques-tions comme Quest-ce qui va arriver si je fais telle ou telle action ? et Est-ceque je serai satisfait si cela se produit ? . Bien entendu, lagent raisonnant sur sesbuts prend, en gnral, beaucoup plus de temps agir quun agent ractif. Il offre enrevanche beaucoup plus de flexibilit. Par exemple, si nous voudrions changer de des-tination, il faudrait changer toutes les rgles de lagent ractif, tandis que pour lagentayant des buts, nous ne changerions que le but.

    La figure 1.3 montre la structure dun agent bas sur les buts. Comme on peutle constater, il est identique lagent ractif gardant une trace de lenvironnement,sauf quil se projette dans le futur pour voir limpact de ses actions et quil choisitses actions en se basant sur ses buts, contrairement lagent ractif qui ne faisaitquappliquer des rgles prdfinies pour relier ses perceptions ses actions.

    1.3.2.2. Agents utilisant une fonction dutilitDans plusieurs situations, les buts ne sont pas suffisants pour gnrer un comporte-

    ment de haute qualit. Par exemple, sil y a plusieurs chemins possibles pour atteindre

  • 10 SMA

    Figure 1.3. Schma dun agent ayant des buts [RUS 95].

    le port, certains seront plus rapides et dautres plus dangereux. Dans cette situation,lagent raisonnant uniquement sur ses buts na pas de moyens pour choisir le meilleurchemin, son seul but tant de se rendre destination. Cela se produit car les buts neprocurent quune simple distinction entre les tats o lagent est satisfait ou non. Enfait, lagent doit plutt sappuyer sur une manire plus fine dvaluer les tats pourtre en mesure de reconnatre pour chacun des tats son degr de satisfaction. Pourcela, on dit que lagent va prfrer un tat un autre si son utilit est plus grande dansle premier tat que dans le deuxime.

    Gnralement, lutilit est une fonction qui attribue une valeur numrique chacundes tats. Plus ltat a une grande valeur, plus il est dsirable pour lagent. Ds lors,la spcification dune fonction dutilit permet lagent de prendre des dcisions ra-tionnelles dans deux types de situations o le raisonnement sur les buts choue. Ainsi,par exemple, lorsquil y a des buts conflictuels qui ne peuvent pas tre satisfaits enmme temps (par exemple, la vitesse et la scurit), la fonction dutilit spcifie lecompromis appropri entre les diffrents buts. De mme, lorsquil y a plusieurs butspossibles, mais quaucun deux ne peut tre atteint avec certitude, la fonction dutilitpermet de pondrer la chance de succs avec limportance de chacun des buts.

    La figure 1.4 montre le schma dun agent bas sur lutilit. On peut voir quelagent utilise la fonction dutilit pour valuer la pertinence dune action. Il choisit

  • Agents et systmes multiagents 11

    Figure 1.4. Schma dagent bas sur lutilit [RUS 95].

    donc les actions qui lamneront dans les tats ayant la plus grande valeur dutilitpour lui.

    1.3.2.3. Agents BDILarchitecture BDI est une autre approche utilise dans la conception des agents

    dlibratifs. BDI est un acronyme qui signifie, en anglais, Belief, Desire, Intentions. Cequi se traduit en franais par croyances, dsirs et intentions. Les agents se basent doncsur ces trois aspects pour choisir leurs actions. Dans ce cadre, Wooldrige [WOO 99]propose une architecture ayant sept composantes, telles que prsentes sur la figure1.5 :

    Un ensemble de croyances courantes, reprsentant les informations que lagentpossde propos de son environnement courant ;

    Une fonction de rvision des croyances, qui prend les entres des capteurs et lescroyances actuelles de lagent et qui dtermine un nouvel ensemble de croyances ;

    Une fonction de gnration des options, qui dtermine les options disponiblespour lagent (i.e. ses dsirs), en se basant sur les croyances courantes de lagent propos de son environnement et sur ses intentions courantes ;

    Un ensemble de dsirs, reprsentant les options disponibles lagent ; Une fonction de filtre, qui reprsente le processus de dlibration de lagent et

    qui dtermine les intentions de lagent en se basant sur ses croyances, ses dsirs et sesintentions courantes ;

  • 12 SMA

    Figure 1.5. Diagramme dune architecture BDI [WOO 99].

    Un ensemble dintentions courantes, reprsentant le centre dattention actuel delagent, cest--dire les buts envers lesquels il sest engag et envers lesquels il a en-gag des ressources ;

    Une fonction de slection des actions, qui dtermine laction effectuer en sebasant sur les intentions courantes de lagent.

    En rsum, un agent BDI doit donc mettre jour ses croyances avec les infor-mations qui lui proviennent de son environnement, dcider quelles options lui sontoffertes, filtrer ces options afin de dterminer de nouvelles intentions et poser ses ac-tions en se basant sur ses intentions.

  • Agents et systmes multiagents 13

    Figure 1.6. Architectures dagents en couches [JEN 98].

    1.3.3. Agents hybrides

    Les sections prcdentes ont prsent deux types darchitectures : ractive et d-librative. Chacune de ces architectures est approprie pour un certain type de pro-blme. Pour la majorit des problmes cependant, ni une architecture compltementractive, ni une architecture compltement dlibrative nest approprie. Comme pourles humains, les agents doivent pouvoir ragir trs rapidement dans certaines situations(comportement rflexe), tandis que dans dautres, ils doivent avoir un comportementplus rflchi.

    Dans ce cas, une architecture conciliant la fois des aspects ractifs et dlibratifsest requise. On parle alors darchitecture hybride, dans laquelle on retrouve gnrale-ment plusieurs couches logicielles. Les couches peuvent tre arranges verticalement(seulement une couche a accs aux capteurs et aux effecteurs) ou horizontalement(toutes les couches ont accs aux entres et aux sorties), voir figure 1.6.

    Dans ce type darchitecture, les couches sont arranges de manire hirarchique.Les diffrents niveaux de la hirarchie traitent les informations provenant de lenviron-nement diffrents niveaux dabstraction. La plupart des architectures considrent quetrois couches suffisent amplement [CHA 01]. Ainsi, au plus bas niveau de larchitec-ture, on retrouve habituellement une couche purement ractive, qui prend ses dcisionsen se basant sur des donnes brutes en provenance des capteurs. La couche interm-diaire fait abstraction des donnes brutes et travaille plutt avec une vision qui se situeau niveau des connaissances de lenvironnement. Finalement, la couche suprieure se

  • 14 SMA

    charge des aspects sociaux de lenvironnement. Dans cette dernire couche, on re-trouve gnralement une reprsentation des autres agents (leurs buts, leurs croyances,etc.). Pour produire le comportement global de lagent, ces trois couches interagissentensemble. Ces interactions varient beaucoup dune implmentation une autre, etcest la raison pour laquelle elles ne sont pas dcrites ici.

    1.4. Agents et apprentissage

    Lide derrire lapprentissage, cest que les perceptions de lagent ne devraientpas tre utilises seulement pour choisir des actions, elles devraient tre aussi utilisespour amliorer lhabilit de lagent agir dans le futur. Lapprentissage, pour un agent,est trs important car cest ce qui lui permet dvoluer, de sadapter et de samliorer.

    Selon Russel et Norvig [RUS 95], un agent apprenant peut tre divis en quatrecomposantes, comme le montre la figure 1.7 :

    Le critique indique au module dapprentissage quel point lagent agit bien.Pour cela, il emploie un standard de performance fixe. Ceci est ncessaire, parce queles perceptions ne fournissent pas dindications relatives au succs de lagent. Parexemple, un programme qui joue aux checs peut percevoir quil a mis lautre joueurchec et mat, mais il a besoin dun standard de performance pour savoir que cest unebonne action. Il est important galement que le standard de performance soit lext-rieur de lagent pour que lagent ne puisse pas le modifier dans le but de lajuster soncomportement. Sil pouvait le modifier, lagent ajusterait son standard de performancepour obtenir plus de rcompenses pour ses actions, au lieu de modifier ses actions dansle but de samliorer.

    Le module dapprentissage utilise une certaine rtroaction sur les actions delagent pour dterminer comment le module de performance devrait tre modifi pour,on lespre, samliorer dans le futur.

    Le module de performance est vu comme tant lagent au complet lorsquil nya pas dapprentissage. Cest--dire que ce module peut prendre une des quatre formesque nous avons prsentes la section 1.3 : agent rflexes simples, agent conservantune trace du monde, agent ayant des buts et agent bas sur lutilit. Mais, peu importela manire dont il est construit, son but demeure toujours de choisir des actions effectuer en se basant sur les perceptions de lagent.

    Le gnrateur de problmes donne des suggestions dactions amenant lagent faire de lexploration. Si on laissait le module de performance choisir tout le tempsles actions, il choisirait toujours les meilleures actions selon ce quil connat. Parcontre, si lagent veut explorer un peu, il peut choisir des actions sous-optimales court terme, mais qui pourraient lamener prendre de meilleures dcisions longterme. Par exemple, lors dune simulation, un agent contrlant une frgate pourraitsuggrer une nouvelle stratgie de dfense pour voir si elle est plus efficace que lastratgie actuelle.

  • Agents et systmes multiagents 15

    Figure 1.7. Modle gnral dagent apprenant [RUS 95].

    la section 1.3.1, nous avons vu un exemple de rflexe inn chez ltre humain,cest--dire retirer notre main lorsque lon se brle, mais les tres humains peuventaussi apprendre de nouveaux rflexes. Par exemple, on peut penser la conduite auto-mobile. Au dbut, la conduite est trs difficile, car on doit penser toutes les actionsque lon fait, mais plus on se pratique, moins on rflchit et plus la conduite devientun rflexe.

  • 16 SMA

    Pour les agents, on peut penser appliquer la mme chose. Cest--dire, lorsquunagent fait face une situation pour la premire fois, il doit dlibrer plus longtempspour choisir ses actions. Mais, avec un module dapprentissage, plus lagent effectuedes tches similaires, plus il devient rapide. Son comportement passe graduellementdun tat dlibratif, un tat ractif. Lagent a donc appris excuter une tche. Dunpoint de vue plus technique, on peut dire que lagent a, en quelque sorte, compilson raisonnement dans une certaine forme densemble de rgles qui lui permettent dediminuer son temps de rflexion. Ce type dapprentissage peut tre trs utile pour desagents hybrides.

    Ce nest quune faon dont les agents peuvent apprendre, il en existe plusieursautres. En fait, on considre que toute technique qui permet un agent damliorerson efficacit est une technique dapprentissage.

    Il est tout de mme bon de mentionner que la technique la plus utilise avec lesagents est lapprentissage par renforcement. Cette mthode consiste faire en sorteque lagent apprenne partir de son exprience. Pour cela, on donne lagent uncertain renforcement aprs chacune de ses actions. Si le renforcement est positif, celasignifie que lagent a bien agi, celui-ci tentera donc de refaire les mmes actions.Si, par contre, le renforcement est ngatif, alors lagent saura quil a mal agi et iltentera dviter ces actions dans le futur. Cest un apprentissage par essais et erreursqui permet lagent de samliorer avec le temps.

    Bien entendu, pour utiliser ce type dapprentissage, on doit tre dans un envi-ronnement autorisant les erreurs. Par exemple, dans le domaine des frgates, on nepeut se permettre derreurs, car on ne voudrait pas quune frgate reoive dix missilesavant dapprendre comment les intercepter adquatement. Dans ce type dapplication,une des solutions est dutiliser des simulations, procurant ainsi un environnement s-curitaire pour lapprentissage des agents avant de les implmenter dans le vritableenvironnement.

    1.5. Systmes multiagents

    La section prcdente a prsent des systmes o il ny avait quun seul agent mais,dans la plupart des situations relles, lagent nest pas seul dans son environnement,il y a dautres agents prsents autour de lui. Il nous faut donc aborder des systmeso plusieurs agents doivent interagir entre eux pour effectuer leurs tches. De telssystmes sont appels systmes multiagents et ils possdent les caractristiquesprincipales [JEN 98] suivantes :

    chaque agent a des informations ou des capacits de rsolution de problmesincompltes, donc chaque agent a un point de vue limit ;

    il ny a pas de contrle global du systme ;

  • Agents et systmes multiagents 17

    les donnes sont dcentralises ; les calculs sont asynchrones.

    1.5.1. Utilit des systmes multiagents

    Certains domaines requirent lutilisation de plusieurs entits, par consquent, lessystmes multiagents sont trs bien adapts ce type de situations. Par exemple, ily a des systmes qui sont gographiquement distribus comme la coordination entreplusieurs frgates, le contrle arien, les bases de donnes coopratives distribues,etc. Tous ces domaines sont par dfinition distribus, par consquent, les systmesmultiagents procurent une faon facile et efficace de les modliser.

    Une autre situation, o les systmes multiagents sont requis, est lorsque les diff-rents systmes et les donnes qui sy rattachent appartiennent des organisations ind-pendantes qui veulent garder leurs informations prives et scurises pour des raisonsconcurrentielles. Par exemple, la majorit des missions maritimes se font maintenanten collaboration avec plusieurs pays. Donc, il y a plusieurs bateaux de pays diffrentsqui doivent agir ensemble. Pour concevoir un systme qui permettrait aux bateauxde se coordonner, il faudrait avoir des informations sur toutes les caractristiques dechacun des bateaux. Par contre, aucun pays ne voudra donner ces informations puis-quelles sont considres comme des secrets militaires. De plus, les faons de fairediffrent dun pays lautre. Une solution ce problme est de permettre chaquepays de concevoir ses propres agents qui reprsenteront adquatement ses buts et sesintrts. Par la suite, ces agents pourront communiquer ensemble pour coordonnerlensemble de la mission. Dans ce cas, les agents ne se transmettront que les informa-tions ncessaires une bonne coordination des bateaux.

    Mme si le domaine ne requiert pas lutilisation des systmes multiagents, il existetout de mme de bons avantages utiliser ce type de systme. Ainsi, ils peuvent sav-rer bien utiles pour des problmes possdant de multiples mthodes de rsolution, demultiples perspectives et/ou de multiples rsolveurs. En particulier, les systmes mul-tiagents sont trs utiles pour modliser le raisonnement humain lintrieur de grandessimulations de combats ariens [HEI 98].

    Ils possdent galement les avantages traditionnels de la rsolution distribue etconcurrente de problmes [CHA 01] :

    La modularit permet de rendre la programmation plus simple. Elle permet, deplus, aux systmes multiagents dtre facilement extensibles, parce quil est plus faciledajouter de nouveaux agents un systme multiagent que dajouter de nouvellescapacits un systme monolithique.

    La vitesse est principalement due au paralllisme, car plusieurs agents peuventtravailler en mme temps pour la rsolution dun problme.

  • 18 SMA

    La fiabilit peut tre galement atteinte, dans la mesure o le contrle et lesresponsabilits tant partags entre les diffrents agents, le systme peut tolrer ladfaillance dun ou de plusieurs agents. Si une seule entit contrle tout, alors uneseule dfaillance de cette entit fera en sorte que tout le systme tombera en panne.

    Finalement, les systmes multiagents hritent aussi des bnfices envisageables dudomaine de lintelligence artificielle comme le traitement symbolique (au niveau desconnaissances), la facilit de maintenance, la rutilisation et la portabilit.

    1.5.2. Interactions entre agents

    Les systmes multiagents ont surtout lavantage de faire intervenir des schmasdinteraction sophistiqus. Ils peuvent ainsi coexister, tre en comptition ou cooprer.

    Sils ne font que coexister, alors chaque agent ne considre les autres agents quecomme des composantes de lenvironnement, au mme titre que toutes les autres com-posantes. Si les agents ont une reprsentation physique, les autres agents ne seront vusque comme des obstacles que lagent doit viter. Il sensuit quil ny a aucune com-munication directe entre les agents. En fait, il peut y avoir une certaine forme de com-munication indirecte parce que les agents peuvent se percevoir les uns les autres. Lebut vis nest toutefois pas de communiquer avec lautre. Ces informations ne serventqu mieux viter les autres agents. Par exemple, si lon considre une personne mar-chant dans une foule dtrangers, elle communique avec les autres laide de gestesou de mouvements, mais uniquement dans le but de pouvoir circuler sans accrochertout le monde.

    Sils sont en comptition, alors le but de chaque agent est de maximiser sa propresatisfaction, ce qui se fait gnralement aux dpens des autres agents. La situation decomptition la plus frquente se produit lorsque plusieurs agents veulent utiliser ouacqurir la mme ressource. Les agents doivent donc pouvoir communiquer entre euxpour rsoudre le conflit. Cette communication prend habituellement la forme dunengociation. Les agents se transmettent des propositions et des contre-propositionsjusqu ce quils arrivent une entente ou quils se rendent compte quune ententeest impossible. Ce type de communication demande un protocole de ngociation et unlangage de communication de haut niveau du type de KQML [FIN 94] ou FIPA-ACL[FIP00] pour permettre une certaine structure dans la ngociation.

    Sils sont en coopration, alors le but des agents nest plus seulement de maximi-ser sa propre satisfaction mais aussi de contribuer la russite du groupe. Les agentstravaillent ensemble la rsolution dun problme commun. Dans ce type de systme,les agents communiquent ensemble, laide de messages plus ou moins sophistiqus,dans le but damliorer la performance du groupe. Ils peuvent schanger des infor-mations sur lenvironnement pour augmenter leurs perceptions individuelles, ou bien

  • Agents et systmes multiagents 19

    se transmettre leurs intentions pour que les agents puissent avoir une ide de ce queles autres font. Somme toute, les communications servent aux agents amliorer leurcoordination, cest--dire organiser la rsolution du problme de telle sorte que lesinteractions nuisibles soient vites et/ou que les interactions bnfiques soient ex-ploites. Les interactions entre agents coopratifs seront abordes, plus en dtails, auchapitre ??.

    1.5.3. Systmes multiagents et apprentissage

    Lapprentissage est une composante importante des systmes multiagents. Ces sys-tmes voluent gnralement dans des environnements complexes (cest--dire larges,ouverts, dynamiques et non prvisibles) [SEN 99]. Pour de tels environnements, cesttrs difficile et mme quelquefois impossible de dfinir correctement et compltementles systmes priori, cest--dire lors de la phase de conception, bien avant leur utili-sation. Ceci exigerait de connatre lavance toutes les conditions environnementalesqui vont survenir dans le futur, quels agents seront disponibles ce moment et com-ment les agents disponibles devront ragir et interagir en rponse ces conditions. Unemanire de grer ces difficults est de donner chaque agent lhabilet damliorer sespropres performances, ainsi que celles du groupe auquel il appartient.

    Il est noter que lapprentissage dans un systme multiagent comprend lappren-tissage dans un systme mono-agent parce quun agent peut apprendre en solitaire etde faon compltement indpendante des autres agents. Mais aussi, il ltend bien audel dans la mesure o les activits dapprentissage dun agent peuvent tre influen-ces considrablement par les autres agents et que plusieurs agents peuvent apprendrede manire distribue et interactive comme une seule entit cohrente.

    Dans un environnement multiagent, les agents peuvent apprendre grce aux autres.Par exemple, un agent A, qui voudrait savoir comment se rendre un certain endroit,pourrait demander un autre agent B sil connat un bon chemin. Si B connat un bonchemin, il peut le transmettre A, permettant ainsi lagent A dapprendre un bonchemin grce lagent B.

    Dun autre ct, les agents peuvent aussi apprendre propos des autres. Par exemple,un agent peut regarder un autre agent agir dans certaines situations et, laide de cesinformations, il pourrait construire un modle du comportement de lautre agent. Cemodle pourrait lui servir pour prdire les actions de lautre agent dans le futur. Cetteinformation pourrait laider mieux se coordonner ou mieux collaborer avec lautreagent.

    Une autre facette importante est lapprentissage des interactions (coordination,collaboration, communication, etc.) entre les agents. Par exemple, si une frgate cana-dienne doit travailler avec un bateau de guerre anglais, elle doit pouvoir apprendre unemanire efficace de se coordonner avec cet alli en tenant compte de ses capacits. En

  • 20 SMA

    fait, elle doit pouvoir le faire pour toutes les possibilits, cest--dire avec nimportequel nombre de bateaux provenant de nimporte quel pays et dans nimporte quellesituation. Les agents doivent donc pouvoir adapter leurs mcanismes de coordinationet de communication pour que lensemble des bateaux puissent agir de manire co-hrente et ainsi se dfendre le plus efficacement possible. Cette adaptabilit est uneforme dapprentissage de vie sociale.

    1.6. Sommaire

    Ce chapitre a dbut en dfinissant le concept dagent comme tant un systmeinformatique situ dans un environnement, autonome et flexible et en ajoutant quecest la prsence de ces trois caractristiques qui donne la force au paradigme agent.

    Nous avons galement soulign quil y a plusieurs manires de concevoir desagents. On peut ainsi concevoir des agents pour quils agissent de faon ractiveaux vnements de lenvironnement. On doit, pour cela, implmenter un ensemble dergles qui rgissent le comportement de lagent en liant les perceptions aux actions.Cette faon de faire permet aux agents de ragir trs rapidement aux changements danslenvironnement. Elle noffre en revanche aucune flexibilit dans le mesure o, pourmodifier certains paramtres de la tche laquelle lagent est ddi, on doit changerlensemble des rgles.

    Nous avons aussi vu que les agents pouvaient raisonner de faon dlibrative surleur(s) but(s) ou sur lutilit des tats. De tels agents se doivent gnralement de pla-nifier des actions en vue datteindre leur(s) but(s) ou datteindre des tats ayant unegrande utilit. Ce type dagent prend donc beaucoup plus de temps pour choisir ses ac-tions. Il offre, toutefois, lavantage dtre beaucoup plus flexible. On peut facilementmodifier son but et il a la capacit de sajuster pour latteindre. Son comportement estgnralement de meilleure qualit car il a raisonn pour trouver la meilleure maniredatteindre son but.

    Nous avons galement expliqu que, pour la majorit des problmes, ni une ar-chitecture compltement ractive, ni une architecture compltement dlibrative nestapproprie. Dans certaines situations, les agents doivent pouvoir ragir trs rapide-ment (comportement rflexe), tandis que dans dautres situations, ils doivent avoir uncomportement plus rflchi. Cest pourquoi les architectures hybrides ont t intro-duites. Les agents hybrides peuvent modifier leur comportement selon les situations.Ils peuvent rflchir diffrents niveaux, allant du compltement ractif au compl-tement dlibratif. Cette flexibilit leur permet de pouvoir sadapter un plus grandnombre denvironnements.

    Nous avons aussi introduit, trs brivement, les systmes multiagents. Nous avonsvu quils pouvaient tre trs utiles dans certaines situations et quils avaient plusieursavantages intressants comme la modularit, la vitesse et la fiabilit.

  • Agents et systmes multiagents 21

    Nous avons finalement not que lapprentissage est une composante importantedes agents. Cest ce qui leur permet de samliorer et de sadapter leur environ-nement. Ils peuvent donc agir dans des environnements changeants, imprvisibles etincertains. Ces caractristiques se retrouvent souvent dans les environnements multia-gents, ce qui en fait des environnements trs propices lapprentissage. Ils procurent,par ailleurs, aux agents dautres opportunits dapprentissage car les agents peuventapprendre laide des autres et propos des autres.

    Les prochains chapitres aborderont plus en dtails les systmes multiagents en sat-tardant plus particulirement aux interactions entre les agents pour tenter damliorerla coordination du groupe.

    1.7. Bibliographie

    [CHA 01] CHAIB-DRAA B., JARRAS I., MOULIN B., Systmes multiagents : Principes g-nraux et applications , BRIOT J. P., DEMAZEAU Y., Eds., Agent et systmes multiagents,Herms, 2001.

    [FIN 94] FININ T., FRITZSON R., KQML A Language and Protocol for Knowledge andInformation Exchange , Proceedings of the 13th International Workshop on DistributedArtificial Intelligence, Seattle, WA, p. 126-136, 1994.

    [FIP00] FIPA ACL Message Structure Specification , 2000, Foundation for Intelligent Phy-sical Agents, http ://www.fipa.org/specs/fipa00061/XC00061D.html/.

    [HEI 98] HEINZE C., SMITH B., CROSS M., Thinking Quickly : Agents for Modeling AirWarfare , Proceedings of the 9th Australian Joint Conference on AI (Ai98), Australie,1998.

    [JEN 98] JENNINGS N., SYCARA K., WOOLDRIDGE M., A Roadmap of Agent Researchand Development , Autonomous Agents and Multi-Agent Systems, vol. 1, n1, p. 7 - 38,July 1998.

    [NWA 96] NWANA H. S., Software Agents : An Overview , Knowledge Engineering Re-view, vol. 11, n3, p. 205244, 1996.

    [RUS 95] RUSSELL S. J., NORVIG P., Artificial Intelligence. A Modern Approach, Prentice-Hall, Englewood Cliffs, 1995.

    [SEN 99] SEN S., WEISS G., Learning in Multiagent Systems , WEISS G., Ed., MultiagentSystems : A Modern Approach to Distributed Artificial Intelligence, Chapitre 6, p. 259-298,The MIT Press, Cambridge, MA, 1999.

    [WOO 99] WOOLDRIDGE M., Intelligent Agents , WEISS G., Ed., Multiagent Systems :A Modern Approach to Distributed Artificial Intelligence, Chapitre 1, p. 27-77, The MITPress, Cambridge, MA, 1999.

  • 22