Vous êtes sur la page 1sur 20

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 linformatique, plusieurs chercheurs ont dni le concept dagent de manires diffrentes. Comme ce concept est fondamental pour la suite de ce mmoire, nous allons nous attarder bien le cerner tout au long de ce chapitre. Tout dabord, nous tenons mentionner que les agents peuvent tre conus de plusieurs manires diffrentes. Ce sont les caractristiques de lenvironnement qui inuencent le choix de conception. Si les agents sont dans un environnement en constants changements et quils doivent, par consquent, ragir trs vite aux vnements de lenvironnement, alors une architecture ractive est approprie. Ce type dagent ragit trs vite, car il ne fait quappliquer des rgles prdnies pour choisir ses actions. Toutefois, si lenvironnement exige que lagent raisonne pour atteindre son but, alors une architecture dlibrative est plus approprie. Les agents dlibratifs peuvent raisonner sur leur but ou laide dune certaine fonction dutilit pour choisir laction qui les satisfait le plus. Nous pouvons mme avoir des architectures qui mlangent ces deux extrmes pour tenter de retirer les avantages de chacune delles. Ces architectures hybrides permettent lagent davoir un comportement ractif lorsque les situations lexigent et un comportement dlibratif dans dautres circonstances.

SMA

La plupart du temps, un agent nest pas seul dans son environnement, il y a dautres agents prsents autour de lui. Les agents doivent, par consquent, tre capables dinteragir entre eux. Ils peuvent soit coexister, cooprer ou tre en comptition. Sils ne font que coexister, alors chaque agent ne fait que considrer les autres agents comme des composantes de lenvironnement. Sils cooprent, alors les agents doivent pouvoir communiquer et se coordonner pour agir efcacement ensemble. Sils sont en comptition, alors les agents doivent tre en mesure de ngocier. Un systme o voluent plusieurs agents est appel systme multiagent et il possde gnralement plusieurs caractristiques intressantes, comme le paralllisme, la robustesse et lextensibilit. Ce chapitre se veut une introduction au concept dagent pour tablir les bases de ce mmoire. Il dbute par une dnition du concept dagent. Il prsente par la suite quelques architectures dagents. Il introduit nalement les systmes multiagents brivement, car ils feront lobjet dune prsentation plus approfondie dans les chapitres suivants. 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 dnition mme du mot agent . Selon Nwana [NWA 96], il y a au moins deux raisons qui permettent dexpliquer cette difcult. La premire rside dans le fait que les chercheurs, dans le domaine des agents, ne sont pas lorigine de ce terme comme lon t, par exemple, les chercheurs dans le domaine de la logique oue. En effet, le terme agent a t et continue dtre utilis dans la 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 les agents logiciels, le mot agent est utilis pour dcrire des systmes trs diffrents les uns des autres. Pour ajouter la confusion, les chercheurs sont alls mme jusqu inventer 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 personnels, agents autonomes, assistants personnels, etc. Il est vrai quune telle prolifration de termes trouve sa justication dans le fait que les agents peuvent prendre diffrentes formes physiques (robot ou agent logiciel) et quils peuvent aussi jouer plusieurs rles. Cela dit, il est tout de mme important de sentendre sur une dnition du terme agent pour que les exposs qui suivent dans ce mmoire aient un sens. La dnition que nous avons adopte, et qui semble couvrir les caractristiques des agents que nous avons dvelopps, est celle propose par Jennings, Sycara et Wooldridge [JEN 98] :

Agents et systmes multiagents

Un agent est un systme informatique, situ dans un environnement, qui agit dune faon autonome et exible pour atteindre les objectifs pour lesquels il a t conu. Il y a trois concepts cls prsents dans cette dnition : Situ signie que lagent peut recevoir des entres sensorielles provenant de son environnement et quil peut effectuer des actions qui sont susceptibles de changer cet environnement. Le monde rel et lInternet sont des exemples denvironnements o les agents peuvent tre situs. Autonome signie que lagent est capable dagir sans lintervention directe dun humain (ou dun autre agent) et quil a le contrle de ses actions et de son tat interne. Flexible signie que lagent est : - Capable de rpondre temps : il peut percevoir son environnement et rpondre 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 sa fonction dutilit, et prendre des initiatives au moment appropri. - Social : il est capable dinteragir avec les autres agents (articiels ou humains) an de complter ses tches ou aider les autres complter les leurs. Bien entendu, certains agents auront des caractristiques additionnelles et, pour certains types dapplications, certains attributs seront plus importants que dautres. Par contre, cest la prsence de tous ces attributs dans une seule entit logicielle qui procure la force au paradigme agent et qui le distingue des autres paradigmes logiciels tels que les systmes orients objets, les systmes distribus et les systmes experts. Maintenant que la dnition gnrale du concept dagent est pose, la section suivante prsente quelques architectures dcrivant la manire de concevoir des agents pour rpondre diffrents types de problmes.

1.3. Architectures dagents Il existe plusieurs manires de concevoir des agents, mais peu importe larchitecture adopte, un agent peut toujours tre vu comme une fonction liant ses perceptions ses actions. Plus prcisment, un agent peroit lenvironnement laide de ses capteurs et il agit sur son environnement laide de ses effecteurs. Ce qui diffrencie les diffrentes architectures dagents, cest la manire dont les perceptions sont lies aux actions. Les auteurs Russel et Norvig [RUS 95] regroupent les architectures dagents en quatre types, savoir :

SMA

les agents rexes 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 regroupant deux deux. Les deux premiers types dagents sont considrs comme des agents ractifs 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 qui surviennent dans lenvironnement. Autrement dit, un tel agent ne fait ni dlibration ni planication, il se contente simplement dacqurir des perceptions et de ragir cellesci en appliquant certaines rgles prdnies. tant donn quil ny a pratiquement pas de raisonnement, ces agents peuvent agir et ragir trs rapidement. Il convient de remarquer que les humains aussi utilisent cette manire dagir. Dans plusieurs situations, il est souvent prfrable de ne pas penser et de ragir immdiatement. Par exemple, lorsquune personne met la main sur une plaque trs chaude, elle ne commence pas se demander si cest chaud, si a fait mal et sil faut ou non quelle retire sa main. Dans ce cas, elle retire sa main immdiatement, sans rchir, et cest cette rapidit de raction qui lui permet de diminuer les blessures. Cet exemple montre bien que ce type de comportement rexe est essentiel pour les tres humains. De la mme manire, il est aussi essentiel pour les agents sils veulent pouvoir agir dans le monde rel. Les deux sous-sections suivantes dcrivent deux modles qui peuvent servir la conception dagents ractifs. 1.3.1.1. Agents rexes simples Ce type dagent agit uniquement en se basant sur ses perceptions courantes. Il utilise un ensemble de rgles prdnies, du type Si condition alors action, pour choisir ses actions. Par exemple, pour un agent en charge du contrle de la dfense dune frgate, 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 les perceptions de lagent et ses actions. Le comportement de lagent est donc trs rapide, mais peu rchi. chaque fois, lagent ne fait quexcuter laction correspondant la rgle active par ses perceptions.

Agents et systmes multiagents

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

La gure 1.1 montre larchitecture dun agent rexes simples. Les rectangles reprsentent ltat interne de lagent dans son processus de dcision et les ovales reprsentent les informations qui sont utilises dans le processus. Lagent se btit une reprsentation du monde laide de ses perceptions lui venant de ses capteurs. Par la suite, il utilise ses rgles pour choisir laction quil doit effectuer selon ce quil peroit de 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 tel agent peut choisir ses actions en se basant uniquement sur sa perception actuelle. Par exemple, si le radar de la frgate dtecte un missile et que linstant daprs, il le perd de vue, d un obstacle, cela ne signie nullement quil ny a plus de missile. Ds lors, lagent en charge du contrle de la frgate doit tenir compte de ce missile dans le choix 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 de lagent 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 dtre capable de distinguer deux situations qui ont des perceptions identiques, mais qui, en ralit, sont diffrentes. Lagent doit pouvoir faire la diffrence entre un tat o il ny

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 fournissent exactement 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 informations sur la manire dont le monde volue, indpendamment de lagent. Par exemple, il doit savoir que si un missile avance une vitesse de 300 m/s, alors 5 secondes plus tard, il aura parcouru 1500 mtres. Lagent doit avoir ensuite des informations sur la manire 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 jour la position relative de tous les objets autour de la frgate.

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

Agents et systmes multiagents

1.3.2. Agents dlibratifs Les agents dlibratifs sont des agents qui effectuent une certaine dlibration pour choisir leurs actions. Une telle dlibration peut se faire en se basant sur les buts de lagent ou sur une certaine fonction dutilit. Elle peut prendre la forme dun plan qui rete 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 actuel de lenvironnement pour choisir leurs actions. Toutefois, dans plusieurs situations, cela peut savrer insufsant pour prendre une dcision sur laction effectuer. Par exemple, on ne peut pas se er uniquement ltat actuel de lenvironnement pour dterminer la direction que la frgate doit prendre, tout simplement parce que cela dpend aussi de lendroit o on veut se rendre. Donc, lagent a besoin, en plus de la description de ltat actuel de son environnement, de certaines informations dcrivant ses buts. Lesquels buts peuvent tre vus comme des situations dsirables pour lagent, par exemple, larrive au port dHalifax. Par la suite, lagent peut combiner les informations sur ses buts avec les informations sur les rsultats de ses actions pour choisir les actions qui vont lui permettre datteindre ses buts. Cela peut tre facile lorsque le but peut tre satisfait en excutant seulement une action, mais cela peut aussi tre beaucoup plus complexe si lagent doit considrer une longue squence dactions avant datteindre son but. Dans ce dernier cas, il doit utiliser des techniques de planication pour prvoir les actions devant lamener son but. Contrairement aux agents ractifs, les agents dlibratifs, qui raisonnent sur les buts, tiennent compte dune certaine projection dans le futur. Ils se posent des questions comme Quest-ce qui va arriver si je fais telle ou telle action ? et Est-ce que je serai satisfait si cela se produit ? . Bien entendu, lagent raisonnant sur ses buts prend, en gnral, beaucoup plus de temps agir quun agent ractif. Il offre en revanche beaucoup plus de exibilit. Par exemple, si nous voudrions changer de destination, il faudrait changer toutes les rgles de lagent ractif, tandis que pour lagent ayant des buts, nous ne changerions que le but. La gure 1.3 montre la structure dun agent bas sur les buts. Comme on peut le 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 choisit ses actions en se basant sur ses buts, contrairement lagent ractif qui ne faisait quappliquer des rgles prdnies pour relier ses perceptions ses actions. 1.3.2.2. Agents utilisant une fonction dutilit Dans plusieurs situations, les buts ne sont pas sufsants pour gnrer un comportement 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 meilleur chemin, son seul but tant de se rendre destination. Cela se produit car les buts ne procurent quune simple distinction entre les tats o lagent est satisfait ou non. En fait, lagent doit plutt sappuyer sur une manire plus ne dvaluer les tats pour tre en mesure de reconnatre pour chacun des tats son degr de satisfaction. Pour cela, on dit que lagent va prfrer un tat un autre si son utilit est plus grande dans le premier tat que dans le deuxime. Gnralement, lutilit est une fonction qui attribue une valeur numrique chacun des tats. Plus ltat a une grande valeur, plus il est dsirable pour lagent. Ds lors, la spcication dune fonction dutilit permet lagent de prendre des dcisions rationnelles dans deux types de situations o le raisonnement sur les buts choue. Ainsi, par exemple, lorsquil y a des buts conictuels qui ne peuvent pas tre satisfaits en mme temps (par exemple, la vitesse et la scurit), la fonction dutilit spcie le compromis appropri entre les diffrents buts. De mme, lorsquil y a plusieurs buts possibles, mais quaucun deux ne peut tre atteint avec certitude, la fonction dutilit permet de pondrer la chance de succs avec limportance de chacun des buts. La gure 1.4 montre le schma dun agent bas sur lutilit. On peut voir que lagent 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 dutilit pour lui. 1.3.2.3. Agents BDI Larchitecture BDI est une autre approche utilise dans la conception des agents dlibratifs. BDI est un acronyme qui signie, en anglais, Belief, Desire, Intentions. Ce qui se traduit en franais par croyances, dsirs et intentions. Les agents se basent donc sur ces trois aspects pour choisir leurs actions. Dans ce cadre, Wooldrige [WOO 99] propose une architecture ayant sept composantes, telles que prsentes sur la gure 1.5 : Un ensemble de croyances courantes, reprsentant les informations que lagent possde propos de son environnement courant ; Une fonction de rvision des croyances, qui prend les entres des capteurs et les croyances actuelles de lagent et qui dtermine un nouvel ensemble de croyances ; Une fonction de gnration des options, qui dtermine les options disponibles pour 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 ltre, qui reprsente le processus de dlibration de lagent et qui dtermine les intentions de lagent en se basant sur ses croyances, ses dsirs et ses intentions courantes ;

12

SMA

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

Un ensemble dintentions courantes, reprsentant le centre dattention actuel de lagent, cest--dire les buts envers lesquels il sest engag et envers lesquels il a engag des ressources ; Une fonction de slection des actions, qui dtermine laction effectuer en se basant sur les intentions courantes de lagent.

En rsum, un agent BDI doit donc mettre jour ses croyances avec les informations qui lui proviennent de son environnement, dcider quelles options lui sont offertes, ltrer ces options an de dterminer de nouvelles intentions et poser ses actions 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 dlibrative. Chacune de ces architectures est approprie pour un certain type de problme. Pour la majorit des problmes cependant, ni une architecture compltement ractive, ni une architecture compltement dlibrative nest approprie. Comme pour les humains, les agents doivent pouvoir ragir trs rapidement dans certaines situations (comportement rexe), tandis que dans dautres, ils doivent avoir un comportement plus rchi. Dans ce cas, une architecture conciliant la fois des aspects ractifs et dlibratifs est requise. On parle alors darchitecture hybride, dans laquelle on retrouve gnralement 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 gure 1.6. Dans ce type darchitecture, les couches sont arranges de manire hirarchique. Les diffrents niveaux de la hirarchie traitent les informations provenant de lenvironnement diffrents niveaux dabstraction. La plupart des architectures considrent que trois couches sufsent amplement [CHA 01]. Ainsi, au plus bas niveau de larchitecture, on retrouve habituellement une couche purement ractive, qui prend ses dcisions en se basant sur des donnes brutes en provenance des capteurs. La couche intermdiaire fait abstraction des donnes brutes et travaille plutt avec une vision qui se situe au niveau des connaissances de lenvironnement. Finalement, la couche suprieure se

14

SMA

charge des aspects sociaux de lenvironnement. Dans cette dernire couche, on retrouve gnralement une reprsentation des autres agents (leurs buts, leurs croyances, etc.). Pour produire le comportement global de lagent, ces trois couches interagissent ensemble. Ces interactions varient beaucoup dune implmentation une autre, et cest 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 devraient pas tre utilises seulement pour choisir des actions, elles devraient tre aussi utilises pour 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 quatre composantes, comme le montre la gure 1.7 : Le critique indique au module dapprentissage quel point lagent agit bien. Pour cela, il emploie un standard de performance xe. Ceci est ncessaire, parce que les perceptions ne fournissent pas dindications relatives au succs de lagent. Par exemple, un programme qui joue aux checs peut percevoir quil a mis lautre joueur chec et mat, mais il a besoin dun standard de performance pour savoir que cest une bonne action. Il est important galement que le standard de performance soit lextrieur de lagent pour que lagent ne puisse pas le modier dans le but de lajuster son comportement. Sil pouvait le modier, lagent ajusterait son standard de performance pour obtenir plus de rcompenses pour ses actions, au lieu de modier ses actions dans le but de samliorer. Le module dapprentissage utilise une certaine rtroaction sur les actions de lagent pour dterminer comment le module de performance devrait tre modi pour, on lespre, samliorer dans le futur. Le module de performance est vu comme tant lagent au complet lorsquil ny a pas dapprentissage. Cest--dire que ce module peut prendre une des quatre formes que nous avons prsentes la section 1.3 : agent rexes simples, agent conservant une trace du monde, agent ayant des buts et agent bas sur lutilit. Mais, peu importe la 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 temps les actions, il choisirait toujours les meilleures actions selon ce quil connat. Par contre, si lagent veut explorer un peu, il peut choisir des actions sous-optimales court terme, mais qui pourraient lamener prendre de meilleures dcisions long terme. Par exemple, lors dune simulation, un agent contrlant une frgate pourrait suggrer une nouvelle stratgie de dfense pour voir si elle est plus efcace que la stratgie 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 rexe inn chez ltre humain, cest--dire retirer notre main lorsque lon se brle, mais les tres humains peuvent aussi apprendre de nouveaux rexes. Par exemple, on peut penser la conduite automobile. Au dbut, la conduite est trs difcile, car on doit penser toutes les actions que lon fait, mais plus on se pratique, moins on rchit et plus la conduite devient un rexe.

16

SMA

Pour les agents, on peut penser appliquer la mme chose. Cest--dire, lorsquun agent fait face une situation pour la premire fois, il doit dlibrer plus longtemps pour choisir ses actions. Mais, avec un module dapprentissage, plus lagent effectue des tches similaires, plus il devient rapide. Son comportement passe graduellement dun tat dlibratif, un tat ractif. Lagent a donc appris excuter une tche. Dun point de vue plus technique, on peut dire que lagent a, en quelque sorte, compil son raisonnement dans une certaine forme densemble de rgles qui lui permettent de diminuer son temps de rexion. Ce type dapprentissage peut tre trs utile pour des agents hybrides. Ce nest quune faon dont les agents peuvent apprendre, il en existe plusieurs autres. En fait, on considre que toute technique qui permet un agent damliorer son efcacit est une technique dapprentissage. Il est tout de mme bon de mentionner que la technique la plus utilise avec les agents est lapprentissage par renforcement. Cette mthode consiste faire en sorte que lagent apprenne partir de son exprience. Pour cela, on donne lagent un certain renforcement aprs chacune de ses actions. Si le renforcement est positif, cela signie 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 il tentera dviter ces actions dans le futur. Cest un apprentissage par essais et erreurs qui permet lagent de samliorer avec le temps. Bien entendu, pour utiliser ce type dapprentissage, on doit tre dans un environnement autorisant les erreurs. Par exemple, dans le domaine des frgates, on ne peut se permettre derreurs, car on ne voudrait pas quune frgate reoive dix missiles avant dapprendre comment les intercepter adquatement. Dans ce type dapplication, une des solutions est dutiliser des simulations, procurant ainsi un environnement scuritaire pour lapprentissage des agents avant de les implmenter dans le vritable environnement.

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 systmes o plusieurs agents doivent interagir entre eux pour effectuer leurs tches. De tels systmes sont appels systmes multiagents et ils possdent les caractristiques principales [JEN 98] suivantes : chaque agent a des informations ou des capacits de rsolution de problmes incompltes, 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, les systmes multiagents sont trs bien adapts ce type de situations. Par exemple, il y a des systmes qui sont gographiquement distribus comme la coordination entre plusieurs frgates, le contrle arien, les bases de donnes coopratives distribues, etc. Tous ces domaines sont par dnition distribus, par consquent, les systmes multiagents procurent une faon facile et efcace de les modliser. Une autre situation, o les systmes multiagents sont requis, est lorsque les diffrents systmes et les donnes qui sy rattachent appartiennent des organisations indpendantes qui veulent garder leurs informations prives et scurises pour des raisons concurrentielles. Par exemple, la majorit des missions maritimes se font maintenant en collaboration avec plusieurs pays. Donc, il y a plusieurs bateaux de pays diffrents qui doivent agir ensemble. Pour concevoir un systme qui permettrait aux bateaux de se coordonner, il faudrait avoir des informations sur toutes les caractristiques de chacun des bateaux. Par contre, aucun pays ne voudra donner ces informations puisquelles sont considres comme des secrets militaires. De plus, les faons de faire diffrent dun pays lautre. Une solution ce problme est de permettre chaque pays de concevoir ses propres agents qui reprsenteront adquatement ses buts et ses intrts. Par la suite, ces agents pourront communiquer ensemble pour coordonner lensemble de la mission. Dans ce cas, les agents ne se transmettront que les informations ncessaires une bonne coordination des bateaux. Mme si le domaine ne requiert pas lutilisation des systmes multiagents, il existe tout de mme de bons avantages utiliser ce type de systme. Ainsi, ils peuvent savrer bien utiles pour des problmes possdant de multiples mthodes de rsolution, de multiples perspectives et/ou de multiples rsolveurs. En particulier, les systmes multiagents sont trs utiles pour modliser le raisonnement humain lintrieur de grandes simulations de combats ariens [HEI 98]. Ils possdent galement les avantages traditionnels de la rsolution distribue et concurrente de problmes [CHA 01] : La modularit permet de rendre la programmation plus simple. Elle permet, de plus, aux systmes multiagents dtre facilement extensibles, parce quil est plus facile dajouter de nouveaux agents un systme multiagent que dajouter de nouvelles capacits un systme monolithique. La vitesse est principalement due au paralllisme, car plusieurs agents peuvent travailler en mme temps pour la rsolution dun problme.

18

SMA

La abilit peut tre galement atteinte, dans la mesure o le contrle et les responsabilits tant partags entre les diffrents agents, le systme peut tolrer la dfaillance dun ou de plusieurs agents. Si une seule entit contrle tout, alors une seule dfaillance de cette entit fera en sorte que tout le systme tombera en panne. Finalement, les systmes multiagents hritent aussi des bnces envisageables du domaine de lintelligence articielle comme le traitement symbolique (au niveau des connaissances), 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 schmas dinteraction sophistiqus. Ils peuvent ainsi coexister, tre en comptition ou cooprer. Sils ne font que coexister, alors chaque agent ne considre les autres agents que comme des composantes de lenvironnement, au mme titre que toutes les autres composantes. Si les agents ont une reprsentation physique, les autres agents ne seront vus que comme des obstacles que lagent doit viter. Il sensuit quil ny a aucune communication directe entre les agents. En fait, il peut y avoir une certaine forme de communication indirecte parce que les agents peuvent se percevoir les uns les autres. Le but vis nest toutefois pas de communiquer avec lautre. Ces informations ne servent qu mieux viter les autres agents. Par exemple, si lon considre une personne marchant dans une foule dtrangers, elle communique avec les autres laide de gestes ou de mouvements, mais uniquement dans le but de pouvoir circuler sans accrocher tout le monde. Sils sont en comptition, alors le but de chaque agent est de maximiser sa propre satisfaction, ce qui se fait gnralement aux dpens des autres agents. La situation de comptition la plus frquente se produit lorsque plusieurs agents veulent utiliser ou acqurir la mme ressource. Les agents doivent donc pouvoir communiquer entre eux pour rsoudre le conit. Cette communication prend habituellement la forme dune ngociation. Les agents se transmettent des propositions et des contre-propositions jusqu ce quils arrivent une entente ou quils se rendent compte quune entente est impossible. Ce type de communication demande un protocole de ngociation et un langage 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 maximiser sa propre satisfaction mais aussi de contribuer la russite du groupe. Les agents travaillent 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 informations 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 que les autres font. Somme toute, les communications servent aux agents amliorer leur coordination, cest--dire organiser la rsolution du problme de telle sorte que les interactions nuisibles soient vites et/ou que les interactions bnques soient exploites. Les interactions entre agents coopratifs seront abordes, plus en dtails, au chapitre ??.

1.5.3. Systmes multiagents et apprentissage Lapprentissage est une composante importante des systmes multiagents. Ces systmes voluent gnralement dans des environnements complexes (cest--dire larges, ouverts, dynamiques et non prvisibles) [SEN 99]. Pour de tels environnements, cest trs difcile et mme quelquefois impossible de dnir correctement et compltement les systmes priori, cest--dire lors de la phase de conception, bien avant leur utilisation. Ceci exigerait de connatre lavance toutes les conditions environnementales qui vont survenir dans le futur, quels agents seront disponibles ce moment et comment les agents disponibles devront ragir et interagir en rponse ces conditions. Une manire de grer ces difcults est de donner chaque agent lhabilet damliorer ses propres performances, ainsi que celles du groupe auquel il appartient. Il est noter que lapprentissage dans un systme multiagent comprend lapprentissage dans un systme mono-agent parce quun agent peut apprendre en solitaire et de faon compltement indpendante des autres agents. Mais aussi, il ltend bien au del dans la mesure o les activits dapprentissage dun agent peuvent tre inuences considrablement par les autres agents et que plusieurs agents peuvent apprendre de 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 bon chemin, il peut le transmettre A, permettant ainsi lagent A dapprendre un bon chemin 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 ces informations, il pourrait construire un modle du comportement de lautre agent. Ce modle pourrait lui servir pour prdire les actions de lautre agent dans le futur. Cette information pourrait laider mieux se coordonner ou mieux collaborer avec lautre agent. Une autre facette importante est lapprentissage des interactions (coordination, collaboration, communication, etc.) entre les agents. Par exemple, si une frgate canadienne doit travailler avec un bateau de guerre anglais, elle doit pouvoir apprendre une manire efcace 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 nimporte quel nombre de bateaux provenant de nimporte quel pays et dans nimporte quelle situation. Les agents doivent donc pouvoir adapter leurs mcanismes de coordination et de communication pour que lensemble des bateaux puissent agir de manire cohrente et ainsi se dfendre le plus efcacement possible. Cette adaptabilit est une forme dapprentissage de vie sociale. 1.6. Sommaire Ce chapitre a dbut en dnissant le concept dagent comme tant un systme informatique situ dans un environnement, autonome et exible et en ajoutant que cest la prsence de ces trois caractristiques qui donne la force au paradigme agent. Nous avons galement soulign quil y a plusieurs manires de concevoir des agents. On peut ainsi concevoir des agents pour quils agissent de faon ractive aux vnements de lenvironnement. On doit, pour cela, implmenter un ensemble de rgles 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 dans lenvironnement. Elle noffre en revanche aucune exibilit dans le mesure o, pour modier certains paramtres de la tche laquelle lagent est ddi, on doit changer lensemble des rgles. Nous avons aussi vu que les agents pouvaient raisonner de faon dlibrative sur leur(s) but(s) ou sur lutilit des tats. De tels agents se doivent gnralement de planier des actions en vue datteindre leur(s) but(s) ou datteindre des tats ayant une grande utilit. Ce type dagent prend donc beaucoup plus de temps pour choisir ses actions. Il offre, toutefois, lavantage dtre beaucoup plus exible. On peut facilement modier son but et il a la capacit de sajuster pour latteindre. Son comportement est gnralement de meilleure qualit car il a raisonn pour trouver la meilleure manire datteindre son but. Nous avons galement expliqu que, pour la majorit des problmes, ni une architecture compltement ractive, ni une architecture compltement dlibrative nest approprie. Dans certaines situations, les agents doivent pouvoir ragir trs rapidement (comportement rexe), tandis que dans dautres situations, ils doivent avoir un comportement plus rchi. Cest pourquoi les architectures hybrides ont t introduites. Les agents hybrides peuvent modier leur comportement selon les situations. Ils peuvent rchir diffrents niveaux, allant du compltement ractif au compltement dlibratif. Cette exibilit leur permet de pouvoir sadapter un plus grand nombre denvironnements. Nous avons aussi introduit, trs brivement, les systmes multiagents. Nous avons vu quils pouvaient tre trs utiles dans certaines situations et quils avaient plusieurs avantages intressants comme la modularit, la vitesse et la abilit.

Agents et systmes multiagents

21

Nous avons nalement not que lapprentissage est une composante importante des agents. Cest ce qui leur permet de samliorer et de sadapter leur environnement. Ils peuvent donc agir dans des environnements changeants, imprvisibles et incertains. Ces caractristiques se retrouvent souvent dans les environnements multiagents, ce qui en fait des environnements trs propices lapprentissage. Ils procurent, par ailleurs, aux agents dautres opportunits dapprentissage car les agents peuvent apprendre laide des autres et propos des autres. Les prochains chapitres aborderont plus en dtails les systmes multiagents en sattardant plus particulirement aux interactions entre les agents pour tenter damliorer la coordination du groupe.

1.7. Bibliographie
[CHA 01] C HAIB - DRAA B., JARRAS I., M OULIN B., Systmes multiagents : Principes gnraux et applications , B RIOT J. P., D EMAZEAU Y., Eds., Agent et systmes multiagents, Herms, 2001. [FIN 94] F ININ T., F RITZSON R., KQML A Language and Protocol for Knowledge and Information Exchange , Proceedings of the 13th International Workshop on Distributed Articial Intelligence, Seattle, WA, p. 126-136, 1994. [FIP00] FIPA ACL Message Structure Specication , 2000, Foundation for Intelligent Physical Agents, http ://www.pa.org/specs/pa00061/XC00061D.html/. [HEI 98] H EINZE C., S MITH B., C ROSS M., Thinking Quickly : Agents for Modeling Air Warfare , Proceedings of the 9th Australian Joint Conference on AI (Ai98), Australie, 1998. [JEN 98] J ENNINGS N., S YCARA K., W OOLDRIDGE M., A Roadmap of Agent Research and Development , Autonomous Agents and Multi-Agent Systems, vol. 1, n1, p. 7 - 38, July 1998. [NWA 96] N WANA H. S., Software Agents : An Overview , Knowledge Engineering Review, vol. 11, n3, p. 205244, 1996. [RUS 95] RUSSELL S. J., N ORVIG P., Articial Intelligence. A Modern Approach, PrenticeHall, Englewood Cliffs, 1995. [SEN 99] S EN S., W EISS G., Learning in Multiagent Systems , W EISS G., Ed., Multiagent Systems : A Modern Approach to Distributed Articial Intelligence, Chapitre 6, p. 259-298, The MIT Press, Cambridge, MA, 1999. [WOO 99] W OOLDRIDGE M., Intelligent Agents , W EISS G., Ed., Multiagent Systems : A Modern Approach to Distributed Articial Intelligence, Chapitre 1, p. 27-77, The MIT Press, Cambridge, MA, 1999.