Beruflich Dokumente
Kultur Dokumente
Proposition de thèse
Par :
Sébastien Paquet
Directeur :
Professeur Brahim Chaib-draa
Comité d’encadrement :
Professeur Bernard Moulin
Professeur Guy Mineau
1 Introduction 1
1.1 Coordination dans les systèmes multiagents . . . . . . . . . . . . . . . . 1
1.1.1 Avantages de la coordination . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Apprentissage de la coordination . . . . . . . . . . . . . . . . . . 3
1.1.3 Comment atteindre une bonne coordination . . . . . . . . . . . . 4
1.2 La problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 RoboCup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 La fédération RoboCup . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Environnement de simulation de la RoboCupRescue . . . . . . . . 7
1.3.2.1 Agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2.2 Complexité de l’environnement . . . . . . . . . . . . . . 10
1.3.3 Banc d’essai pour l’apprentissage de la coordination . . . . . . . . 13
i
2.4.1 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4.2 Modèles des autres agents . . . . . . . . . . . . . . . . . . . . . . 34
2.4.3 Connaissance de l’environnement . . . . . . . . . . . . . . . . . . 35
3 Approches proposées 36
3.1 Apprendre à communiquer efficacement . . . . . . . . . . . . . . . . . . . 37
3.1.1 Enregistrement de la trace . . . . . . . . . . . . . . . . . . . . . . 38
3.1.2 Rencontre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.3 Utilisation des informations apprises . . . . . . . . . . . . . . . . 41
3.2 Apprentissage de l’environnement . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Anticipation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.1 Interactions des agents avec l’environnement . . . . . . . . . . . . 47
3.3.2 Apprentissage de modèles des autres agents . . . . . . . . . . . . 47
3.4 Contributions anticipées . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5 Conclusion 57
ii
Table des figures
iii
Liste des tableaux
iv
Liste des Algorithmes
v
Chapitre 1
Introduction
Les systèmes multiagents coopératifs dans lesquels les agents doivent interagir en-
semble pour accomplir leurs buts est un domaine de recherche très actif. Une difficulté
fondamentale rencontrée par ces agents est de savoir comment coordonner efficacement
leurs actions de manière à pouvoir bénéficier les uns des autres au lieu de se nuire. Lors-
qu’on considère les systèmes multiagents complexes, avec plusieurs agents et plusieurs
interactions entre eux, la solution qui consiste à définir des politiques de coordination
a priori devient vite très difficile, voir même impossible dans certains cas. Dans de
telles circonstances, l’apprentissage devient intéressant, car il soulage le concepteur du
système de la tâche fastidieuse de prévoir des politiques de coordination pour toutes
les situations possibles. Si les agents peuvent apprendre à améliorer la coordination
de leurs actions en interagissant avec les autres, alors ils peuvent s’adapter aux situa-
tions changeantes de l’environnement et aux différentes dynamiques de groupe. Dans
cette proposition, l’apprentissage est considéré de la même façon que Russel et Nor-
vig [Russel and Norvig, 2003], c’est-à-dire comme étant tout processus modifiant les dif-
férentes composantes d’un agent de manière à ce qu’elles soient mieux alignées avec les
retours d’informations de l’environnement, améliorant ainsi la performance globale de
l’agent.
La coordination est un concept qui est souvent utilisé et, par conséquent, compris par
la majorité des gens. On sait reconnaı̂tre une situation où il y a une bonne coordination,
mais on sait surtout reconnaı̂tre l’absence de coordination. Par exemple, on se rend
compte du manque de coordination que lorsqu’on doit en subir les conséquences, comme
une collision ou un retard. La coordination peut être définie comme le processus gérant
les dépendances entre différentes activités [Malone and Crowston, 1994]. Par conséquent,
s’il n’y a aucune dépendance entre les activités des agents, il n’y a aucune raison de tenter
1
1.1. Coordination dans les systèmes multiagents 2
de les coordonner. Les agents peuvent alors agir indépendamment les uns des autres.
En d’autres mots, on peut voir la coordination comme étant le processus qui fait en
sorte que les agents agissent ensemble tout en bénéficiant les uns des autres au travers
d’interactions positives (une certaine tâche favorisant ou améliorant une autre tâche),
au lieu de se nuire au travers d’interactions négatives (une tâche empêchant ou bloquant
une autre tâche) [Paquet, 2001].
Ceci vient appuyer le fait que la coopération est une caractéristique très intéressante
au niveau d’un groupe d’agents. Pour bénéficier toutefois des avantages d’une telle co-
opération, les agents doivent bien se coordonner entre eux, sinon la coopération perd
toute sa raison d’être. L’atteinte d’une bonne coordination à l’intérieur d’un système
multiagent peut être très intéressante dans les cas suivants [Nwana et al., 1996] :
– Prévenir l’anarchie ou le chaos. Généralement, dans un système multiagent, les
agents ont une vue locale, des buts locaux et une connaissance locale pouvant
être en conflit avec les connaissances, les vues et les buts des autres agents. Pour
éviter ces conflits ou régler les conflits existants, les agents doivent coordonner
leurs activités de manière à réaliser leurs buts le plus efficacement possible. Sans
coordination, les bénéfices d’un groupe d’agents disparaissent et la communauté
peut dégénérer rapidement en une collection chaotique d’individus.
– Expertises, ressources ou informations distribuées. Dans un système multiagent,
les agents peuvent avoir différentes capacités et/ou différentes connaissances spé-
cialisées. Ils peuvent également avoir différentes sources d’information, différentes
1.1. Coordination dans les systèmes multiagents 3
Les solutions aux problèmes de coordination peuvent être divisées en trois classes
générales [Boutilier, 1996] : celles basées sur la communication, celles basées sur des
conventions et celles basées sur l’apprentissage. Les agents peuvent communiquer en-
semble pour déterminer l’allocation des tâches. Ils peuvent aussi utiliser des conventions
imposées au système par le concepteur pour assurer une action conjointe optimale. Fi-
nalement, ils peuvent apprendre des politiques de coordination (ou conventions) lors de
leurs interactions répétées avec les autres agents.
Dans les environnements où les communications sont limitées et incertaines, les ap-
proches basées sur la communication ne sont pas vraiment appropriées. Dans de tels en-
vironnements, la quantité d’informations que l’on peut transmettre est limitée et certains
messages peuvent ne jamais se rendre à leur destinataire. Par conséquent, les approches
fortement basées sur les communications risquent d’être inefficaces, car les agents basent
leur coordination sur des communications incertaines.
L’apprentissage de la coordination est très important pour des agents évoluant dans
des environnements complexes et dynamiques, car de tels agents doivent pouvoir s’adap-
1.2. La problématique 4
ter à des demandes et à des opportunités changeantes [Sen and Weiss, 2000]. Plus parti-
culièrement, chaque agent doit pouvoir interagir avec d’autres agents ayant des habilités,
des façons de raisonner et des buts différents. Pour pouvoir fonctionner efficacement, les
agents doivent donc pouvoir apprendre à connaı̂tre les autres agents et adapter leur
comportement local selon la composition et les interactions du groupe.
L’atteinte d’une bonne coordination entre les agents dans un système multiagent n’est
pas une tâche aisée. Une des difficultés est que chaque agent doit agir en se basant sur
une vue locale de la situation, ce qui peut l’amener à prendre de mauvaises décisions, par
exemple sur des sujets comme : le résultat qu’il devrait transmettre aux autres agents et
le résultat qu’il devrait demander aux autres agents. Si un agent avait des informations
sur les activités des autres agents, il pourrait prendre des décisions plus éclairées. En fait,
même avec une connaissance des activités des autres agents, il reste encore de l’incertain
à propos du résultat des actions et des tâches à effectuer par le système. De plus, toute
cette recherche d’informations sur les activités des autres agents demande des efforts de
la part des agents : transmettre des données, gérer les messages reçus, tenir compte des
délais de communication, etc.
Parfois, il se peut qu’il soit plus avantageux que les agents n’essaient pas de commu-
niquer entre eux pour se coordonner et qu’ils planifient leurs actions sans interagir avec
les autres agents. Les échanges d’informations sont parfois inutiles lorsque les agents ont
une bonne idée de ce qu’ils doivent faire et de ce que les autres font. Toutefois, dans une
même application, il se peut qu’à un certain moment, la coordination à l’aide de la com-
munication soit utile. Dans ce cas, il serait intéressant si les agents pouvaient déterminer
la quantité d’informations à transmettre et d’efforts à fournir pour la coordination tout
dépendamment de la situation.
Cependant, il apparaı̂t très difficile de pouvoir donner a priori aux agents les connais-
sances nécessaires pour qu’ils puissent faire de tels choix, car le nombre de situations
possibles peut être très grand. C’est pourquoi les techniques d’apprentissage deviennent
importantes, car elles permettent aux agents d’apprendre quand et comment se coordon-
ner avec les autres agents selon la situation à laquelle ils font face. Dans la littérature,
la majorité des approches en apprentissage de la coordination abondent dans ce sens en
utilisant des approches spécifiques à la situation.
1.2 La problématique
les capacités requises pour accomplir tous ses buts par lui-même. Chaque agent a alors
besoin de coopérer avec les autres agents pour être efficace. Par conséquent, les agents
doivent pouvoir coordonner efficacement leurs actions de manière à pouvoir bénéficier
des capacités complémentaires des autres agents et à éviter également les interactions
négatives qui peuvent survenir entre eux.
Par ailleurs, dans le type d’environnement considéré, les communications entre les
agents sont possibles, mais elles sont limitées et incertaines. La bande passante a une
capacité maximale qui ne peut être dépassée. Les agents ont donc un nombre maximal
de messages qu’ils peuvent envoyer. Ceci a pour effet qu’un message a de fortes chances
d’être perdu s’il y a trop de messages envoyés en même temps. Les communications sont
également limitées à cause de la capacité des agents à gérer les messages reçus, puisque
les agents ont une quantité maximale de messages qu’ils peuvent gérer. Cette quantité
est déterminée selon la capacité de calcul de l’agent et de sa capacité d’emmagasinage
des messages.
Tel que montré à la section 1.1.2, il y a trois solutions aux problèmes de coordi-
nation : celles basées sur la communication, celles basées sur des conventions et celles
basées sur l’apprentissage. Comme les communications sont limitées et incertaines et
qu’il y a plusieurs situations possibles dans le type d’environnement décrit précédem-
ment, l’apprentissage ressort comme étant l’approche la plus prometteuse pour obtenir
et maintenir une bonne coordination entre les agents.
Dans les paragraphes précédents, le type d’environnement qui nous intéresse pour nos
recherches a été présenté. Les caractéristiques de cet environnement sont très proches des
caractéristiques du monde réel, ce qui en fait un type d’environnement très important à
étudier. Ce que l’on cherche à étudier dans ce type d’environnement, c’est l’application
d’algorithmes d’apprentissage pour l’amélioration de la coordination d’agents coopératifs
évoluant sous de telles contraintes. Pour pouvoir évaluer ces algorithmes, nous devions
choisir un environnement ayant les caractéristiques décrites. L’environnement choisi est
l’environnement de la simulation de la RoboCupRescue. Cet environnement possède les
caractéristiques désirées et en plus, c’est un environnement « standard », ce qui facilite la
comparaison des résultats. La section suivante présente plus en détails cet environnement.
1.3 RoboCup
La fédération RoboCup est une organisation internationale sans but lucratif enre-
gistrée en Suisse et soutenue par Sony et Silicon Graphics Inc.(SGI) [RoboCup, 2003].
Son objectif est de promouvoir la science et la technologie au niveau international. Plus
particulièrement, son but est de stimuler la recherche en intelligence artificielle et en
robotique en proposant un domaine standard permettant l’application de plusieurs tech-
nologies. Le premier domaine avancé par la RoboCup a été celui du soccer, à la fois
pour l’étude de robots et d’agents logiciels. Le premier championnat international de la
RoboCup Soccer a eu lieu en 1997 à Nagoya au Japon.
– négocier le déblaiement des routes afin de se rendre efficacement aux endroits stra-
tégiques,
– déterminer quel tas de débris doit être prioritairement creusé pour sauver le plus
de vies,
– amener les blessés dans des refuges,
– décider des feux à éteindre en priorité,
– etc.
1.3.2.1 Agents
Forces de police : Ces équipes, au nombre de 10 à 15, sont chargées de déblayer les
routes pour permettre aux agents de circuler. Ils sont en contact radio entre eux
et avec leur caserne.
Équipes paramédicales : Il y a entre 5 et 8 équipes paramédicales qui se chargent
de soigner les blessés, de les amener en ambulance dans des refuges et d’aller
creuser dans les décombres des bâtiments pour sauver les civils qui pourraient y
être ensevelis. Ils sont en contact radio entre eux et avec leur caserne.
Bâtiments : Ces agents sont un peu particuliers, parce qu’ils ne représentent pas la
structure elle-même, mais le personnel qui l’habite. Il y en a trois, un pour chaque
type d’agents sauveteurs : une caserne de pompiers, un commissariat de police et
un centre paramédical. Un agent bâtiment n’a accès qu’à l’information auditive
qui lui parvient soit des radios des agents qui en dépendent, soit des autres agents
bâtiments. Ces agents servent de centralisateurs d’informations et de coordonna-
teurs entre tous les agents sauveteurs.
Pour le moment, les agents représentent en fait des groupes de personnes pour simpli-
fier la simulation (une équipe de sauveteurs, une famille de civils, etc.). Mais, le but du
comité de la RoboCupRescue est d’avoir plus de 10 000 agents dans la simulation pour
pouvoir avoir une simulation plus près de la réalité [Tadkoro et al., 2000]. Le nombre
d’agents sera augmenté lorsque le matériel informatique permettra de supporter autant
d’agents délibératifs dans la même simulation.
Dans la simulation, les agents peuvent accomplir différentes actions pouvant être clas-
sées en deux classes [Koch, 2002] : celles communes à tous les agents et celles spécialisées,
disponibles seulement pour certains types d’agents :
– Les actions communes :
– Se déplacer (sauf pour les bâtiments) ;
– Parler à voix haute à un agent à proximité ;
– Communiquer à l’aide d’une radio avec les agents et le centre de même type ;
– Ne rien faire.
– Les actions spécialisées :
– les agents pompiers (FireBrigade) peuvent éteindre un incendie ;
– les agents policiers (PoliceForce) peuvent déblayer les routes ;
– les agents paramédicaux (AmbulanceTeam) peuvent déterrer ou transporter
d’autres agents (civils ou sauveteurs) ;
– les agents centres (FireStation, PoliceOffice et AmbulanceCenter ) peuvent
communiquer avec les autres agents centres.
La coopération entre agents est importante, car l’efficacité des agents peut être aug-
mentée de beaucoup si les agents coopèrent entre eux. Les agents pompiers, policiers
et paramédicaux travaillent plus vite en équipes. Par exemple, s’il y a plusieurs agents
1.3. RoboCup 10
AmbulanceTeam
AmbulanceCenter
FireStation PoliceOffice
FireBrigade PoliceForce
Figure 1.1: Organisation des communications. Les liens entre les différents types
d’agents indique que la communication par radio entre ces types d’agents est
possible.
pompiers qui coopèrent pour éteindre le même feu, alors ils pourront l’éteindre beaucoup
plus rapidement que si un seul agent essayait de l’éteindre [Ohta et al., 2001].
En ce qui concerne les communications, elles se présentent sous deux formes. Les
agents peuvent parler à voix haute, mais dans ce cas, uniquement les agents à proximité
pourront entendre le message. Les agents ont aussi la possibilité de communiquer par
radio. De cette manière, tous les agents reçoivent tous les messages envoyés par les autres
agents, selon l’organisation des communications présentée à la Figure 1.1. Par exemple,
si un agent de type FireBrigade envoie un message, il sera reçu par tous les agents de
type FireBrigade et par l’agent de type FireStation.
pouvoir retourner une action moins de 500 ms après avoir reçu leur perception de
l’environnement,
– la limitation des perceptions des agents,
– la limitation du contenu et du nombre des messages qu’un agent peut envoyer et
recevoir,
– la limitation de la quantité d’eau disponible aux pompiers,
– la mort des blessés s’ils ne sont pas sauvés à temps,
– la propagation rapide des feux s’ils ne sont pas contrôlés rapidement,
– etc.
Une des difficultés de l’environnement vient du fait que les agents sont hétérogènes. Ils
ont des capacités différentes et aucun agent n’a la possibilité de tout faire par lui-même.
Par conséquent, ils devront coopérer ensemble pour accomplir leurs buts efficacement.
Les agents doivent bien coordonner leurs actions de manière à profiter des capacités de
chacun.
Dans la simulation, il est important de gérer toutes les ressources efficacement, car il
y a beaucoup de travail à faire avec peu de ressources. C’est pourquoi la logistique est
un problème complexe à gérer. Il y a plusieurs situations problématiques à gérer dans la
ville et les agents ont besoin d’être envoyés à différents endroits dans la ville en essayant
de maximiser les résultats de leurs actions.
Ils doivent également pouvoir construire des plans à long terme dans lesquels ils
précisent le problème le plus urgent qu’ils vont gérer et leurs prochaines actions. Ceci
1.3. RoboCup 12
est un problème de taille, car il est très difficile pour les agents d’anticiper l’évolution
de la situation. Si les agents pouvaient anticiper, alors ils pourraient élaborer des plans
à plus long terme. Si les agents possèdent des plans fiables à plus long terme, alors
la coordination entre les agents sera plus facile, car ils pourront se transmettre des
informations sur leur plan pour pouvoir coordonner leurs actions.
Un des problèmes majeures lors de désastres est la difficulté d’acquérir des informa-
tions utiles en un temps raisonnable [Kitano et al., 1999]. Comme il est présenté dans
le Tableau 1.1, les agents ont un accès très mauvais aux informations. Ils ont unique-
ment des perceptions locales, donc ils doivent communiquer efficacement pour améliorer
leurs connaissances de la situation globale et ainsi pouvoir prendre des décisions plus
éclairées. La coordination entre tous les agents dépend énormément de l’efficacité des
communications entre ceux-ci.
Dans la simulation, les agents doivent vraiment faire attention aux messages qu’ils en-
voient parce qu’il est vraiment facile de perdre des messages compte tenu des limitations
imposées aux agents sur le nombre de messages qu’ils peuvent écouter et aussi en raison
de l’organisation présentée à la Figure 1.1. Le nombre maximum de messages qu’un agent
peut recevoir ou envoyer pendant un tour de la simulation est présenté dans le Tableau
1.2. Comme on peut le voir, les agents centres ont de meilleures capacités de communi-
cation puisqu’ils peuvent envoyer et recevoir plus de messages que les agents mobiles. Ils
peuvent recevoir et envoyer 2n messages où n est le nombre d’agents mobiles du même
1.3. RoboCup 13
type que l’agent centre. Par exemple, s’il y a 10 agents de type FireBrigade, l’agent de
type FireStation va pouvoir envoyer et recevoir 20 messages. Comme ils peuvent écouter
plus de messages, ils ont accès à plus d’informations que les agents mobiles, donc ils sont
les mieux placés pour servir de « centres de coordination » pour les agents mobiles du
même type.
Avec de telles contraintes, les messages ont une bonne chance d’être perdus et de ne
pas atteindre leur(s) destinataire(s). Par exemple, s’il y a 10 agents FireBrigade et que
chacun de ces agents envoie seulement un message durant un tour. Ceci est très en deçà
de la limitation des agents étant donné qu’ils peuvent envoyer chacun 4 messages. Mais,
même avec seulement un message par agent, on peut voir que chaque agent va recevoir
9 messages, ce qui est plus que le double des messages qu’un agent peut recevoir en un
tour. Par conséquent, 5 messages seront perdus par chacun des agents. Tout cela n’est
que pour un tour, mais si certains agents ont plus qu’un message à envoyer ou s’il y a
des messages provenant de d’autres types d’agents, alors la situation peut rapidement
devenir très difficile à gérer. C’est pourquoi il est vraiment important pour les agents
d’avoir une stratégie leur permettant de choisir efficacement les messages qu’ils envoient
et ceux qu’ils écoutent.
limitée. Toutefois, pris ensemble, leurs capacités sont complémentaires. Par exemple, un
agent policier peut déblayer des routes, mais ne peut pas venir en aide aux blessés. Par
ailleurs, une brigade de pompiers ne peut éteindre un incendie que si elle peut s’en appro-
cher suffisamment. Son efficacité dépend donc du réseau routier et des agents policiers.
Aussi, il est préférable pour les agents paramédicaux que les décombres dans lesquels ils
creusent ne soient pas situés en plein incendie.
On peut imaginer bien d’autres situations pour montrer à quel point les agents ont
besoin de collaborer s’ils veulent arriver à réaliser leur objectif commun, soit : minimiser
les pertes humaines et matérielles. Par conséquent, il en ressort que des algorithmes
de collaboration et de coordination sont nécessaires s’il l’on veut que les agents soient
efficaces dans un tel environnement. Le problème est donc de savoir quelles stratégies
adoptées pour obtenir une bonne coordination entre les agents. Comme montré à la
section 1.1.2, l’apprentissage de processus de coordination semble être l’avenue la plus
intéressante considérant les caractéristiques de l’environnement dont fait l’objet cette
proposition.
Ce chapitre présente les différentes méthodes selon trois catégories. Une première
catégorie de méthodes est celle utilisant des techniques d’apprentissage par renforcement,
dans lesquelles les agents apprennent en maintenant des probabilités pour chacune des
actions possibles de manière à savoir, pour chacune des situations, qu’elle est l’action
qui a le plus de chance d’obtenir un succès. Une deuxième catégorie est celle où les
agents enregistrent une trace lors de l’exécution de leurs tâches. Dans cette catégorie, les
agents analysent leur trace d’exécution de manière à trouver les causes de l’échec ou de la
réussite d’une certaine tâche pour, par la suite, modifier leur comportement de manière à
agir correctement la prochaine fois qu’une situation semblable se reproduira. Finalement,
la dernière catégorie contient les autres méthodes importantes dont l’originalité ne leur
permettait pas d’être classées par groupe.
L’apprentissage par renforcement est une technique qui peut être utilisée pour l’ap-
prentissage de la coordination dans un système multiagent. L’apprentissage par renfor-
cement permet d’apprendre quoi faire dans une certaine situation en mettant en corres-
pondance les situations et les actions de manière à maximiser une certaine récompense
15
2.1. Apprentissage de la coordination par renforcement 16
numérique. L’agent qui apprend ne reçoit aucune information à propos de l’action qu’il
doit effectuer, comme c’est le cas pour plusieurs autres techniques d’apprentissage. Il doit
plutôt découvrir, en essayant les actions, celles lui permettant d’obtenir la plus grosse ré-
compense. Dans les cas les plus intéressants, les actions peuvent affecter non seulement la
récompense immédiate, mais aussi les situations suivantes et par conséquent, toutes les ré-
compenses subséquentes. Ces deux caractéristiques, les essais et erreurs et la récompense
retardée, sont les deux plus importantes caractéristiques qui distinguent l’apprentissage
par renforcement des autres techniques d’apprentissage [Sutton and Barto, 1999].
Les méthodes d’apprentissage par renforcement sont très intéressantes pour apprendre
des comportements optimaux pour des agents étant donné qu’elles ne demandent qu’une
rétroaction scalaire de la part du système. De plus, ces méthodes peuvent être utilisées
lorsqu’il y a de l’incertain dans la manière dont le monde évolue. Toutefois, la conver-
gence des algorithmes d’apprentissage par renforcement (comme T D(λ) [Sutton, 1988]
ou Q-Learning [Watkins and Dayan, 1992]) n’a été prouvée que pour des processus de
décisions de Markov (MDP : Markov decision process).
Les processus de décision de Markov sont une des techniques de modélisation les
plus utilisées en apprentissage par renforcement. Ils sont utilisés pour des problèmes de
décisions séquentielles où il convient de prendre plusieurs décisions au cours du cycle de
vie du système [Cassandra, 1998]. Les MDP sont donc appropriés pour la modélisation
du processus de décision des agents logiciels, car les agents doivent prendre des décisions
à chaque instant afin de choisir l’action à effectuer.
Notons que l’on dit qu’un processus de décision est Markovien s’il est possible de
déterminer le prochain état du système en considérant uniquement l’état actuel et l’ac-
tion exécutée [Puterman, 1994]. Par ailleurs, les MDP de base sont considérés comme
complètement observables, ce qui signifie que l’agent connaı̂t l’état exact de l’environne-
ment à chaque instant. Ces deux dernières affirmations impliquent que les agents sont
en mesure de prévoir l’état résultant du système suite à l’une de leurs actions. Ceci est
très utile lors de la prise de décision pour être en mesure de choisir la meilleure action
disponible pour la situation actuelle, c’est-à-dire l’action qui permet d’atteindre l’état
résultant le plus désirable.
Les MDP de base peuvent être très utiles pour la modélisation du comportement
d’un agent dans un environnement donné. Ils sont utilisés pour trouver le meilleur com-
portement possible pour l’agent en utilisant des algorithmes de planification ou d’ap-
prentissage. Toutefois, ils ne sont pas très bien adaptés aux systèmes multiagents, car
dans un MDP, les autres agents ne sont pas pris en compte. De plus, les MDP de base
ne considèrent que des environnements stationnaires, ce qui signifie que les transitions
des états ont des probabilités invariantes dans le temps [Buffet, 2000]. Par exemple,
la condition d’environnements stationnaires permet de prouver la convergence du « Q-
learning » vers une politique déterministe optimale dans le cas de MDP. Par contre,
dans les systèmes multiagents où les agents apprennent, la condition d’environnements
stationnaires ne tient plus, parce que les agents évoluent. Certains chercheurs ont essayé
2.1. Apprentissage de la coordination par renforcement 17
d’adapter les MDP aux systèmes multiagents. Les travaux de Boutilier sur les MMDP
[Boutilier, 1996], présentés à la section 2.1.1.1, en sont un bon exemple. On peut aussi
penser aux travaux de Bernstein et ses collègues sur les MDP décentralisés partiellement
observables (DEC-POMDP) [Bernstein et al., 2002].
Comme l’a montré Boutilier [Boutilier, 1996], un système multiagent peut être repré-
senté par un MDP. Par conséquent, il est possible d’utiliser, pour un système multiagent,
des algorithmes classiques d’apprentissage par renforcement où l’état du système est une
composition des états de tous les agents et qu’une action est une action conjointe com-
posée de toutes les actions individuelles de chacun des agents. Il s’ensuit que le nombre
d’états et d’actions dans une vision centralisée du problème peut devenir rapidement trop
grand pour que des techniques d’apprentissage par renforcement puissent être utilisées.
Les méthodes présentées dans cette section utilisent toutes des matrices de gains
pour représenter de manière explicite les situations de coordination ou de manque de
coordination. Il est donc facile pour les agents de déterminer les situations désirées et
celles qui ne le sont pas. Le but des agents est de réussir à coordonner leurs actions de
manière à recevoir le gain maximal dans la matrice de gain selon les actions anticipées
des autres agents. Dans ce qui suit, quatre méthodes sont présentées :
1. La méthode de Boutilier qui utilise les processus de décision de Markov mul-
tiagent [Boutilier, 1996] ;
2. La méthode de Ghavamzadeh et Mahadevan qui utilisent la fusion dynamique de
MDP pour accélérer l’apprentissage [Ghavamzadeh and Mahadevan, 2002] ;
3. La méthode de Chalkiadakis et Boutilier qui utilisent les réseaux bayésiens pour
maintenir les croyances des agents sur les modèles du monde et sur les stratégies
des autres agents [Chalkiadakis and Boutilier, 2003] ;
4. La méthode de Kapetanakis et Kudenko qui proposent une amélioration de l’al-
gorithme de Q-learning pour les situations où une mauvaise coordination entre les
agents est fortement punie [Kapetanakis and Kudenko, 2002].
Dans son approche, Boutilier [Boutilier, 1996] suppose que chaque agent a des connais-
sances a priori sur les politiques des autres agents et que ces connaissances sont mises
à jour au fur et à mesure que l’agent agit et interagit. À chaque étape, les agents vont
mettre à jour leurs connaissances à propos des politiques des autres agents et ils vont
adopter la meilleure réponse possible en considérant cet ensemble de politiques mises
2.1. Apprentissage de la coordination par renforcement 19
à jour. En d’autres mots, chaque agent enregistre à chaque étape l’action exécutée par
chacun des agents. Après plusieurs expériences, l’agent va avoir enregistré combien de
fois chaque agent a effectué une certaine action dans une situation donnée. Ces informa-
tions permettent à l’agent de construire une distribution de probabilité sur chacune des
actions des autres agents. L’agent utilise ces probabilités pour choisir l’action conjointe
la plus probable.
L’inconvénient principal de cette approche est que chaque agent doit avoir en com-
mençant une politique individuelle pour résoudre les tâches. Dans leur exemple, ce sont
les concepteurs qui ont donné à chaque agent une politique optimale pour résoudre le
problème seul. Par ailleurs, une autre limitation importante est qu’ils supposent que le
système est complètement observable par tous les agents.
tiagent demande qu’un agent raisonne à propos de l’influence de ses actions sur le com-
portement des autres agents. Cette méthode demande que chaque agent ait un modèle
des autres agents parce que les agents doivent être en mesure d’estimer la valeur d’une
action en prédisant l’influence de cette action sur le choix des actions futures des autres
agents. Les agents utilisent les réseaux bayésiens pour maintenir des croyances probabi-
listes sur les modèles du monde et sur les stratégies des autres agents. Les agents peuvent
délibérer sur les effets de leurs actions, particulièrement en ce qui concerne :
– leurs connaissances du modèle du monde ;
– leurs connaissances des stratégies des autres agents ;
– la récompense espérée ;
– le comportement futur espéré des autres agents.
Cette méthode n’a été testée que sur des environnements simplifiés de jeux avec
matrice de gain. Il n’est pas évident que cette approche puisse être efficace dans des
environnements plus complexes.
Cette section présente cinq méthodes d’apprentissage par renforcement où les agents
ne modélisent pas les autres agents. Les autres agents ne sont alors perçus que comme
des composantes de l’environnement au même titre que toutes les autres. Il n’y a aucune
2.1. Apprentissage de la coordination par renforcement 21
communication entre les agents. Dans ce type de méthode, la coordination émerge du fait
que les renforcements reçus par les agents sont généralement des renforcements globaux.
Pouvoir se coordonner sans communications est très intéressant, car les communications
peuvent être coûteuses. Toutefois, dès que les agents évoluent dans des environnements
partiellement observables, la coordination est beaucoup plus difficile à obtenir, car les
agents ne peuvent plus se percevoir tout le temps.
Dans cette approche, on définit un essai comme une séquence de n étapes commençant
dans une situation donnée. Chaque essai doit être répété un nombre suffisant de fois
pour être utile. Cette succession d’essais est appelée une expérience pour les agents.
Le concepteur doit définir une série d’expériences de difficulté progressive pour aider
l’apprentissage.
Dutech et ses collègues [Dutech et al., 2001] ont pu ainsi montrer que les performances
atteintes par les agents utilisant l’apprentissage incrémentiel sont de beaucoup meilleures
aux performances des agents apprenant à partir de rien, c’est-à-dire sans comportement
de base. La raison d’une telle performance réside dans le fait que les agents utilisant
l’apprentissage incrémentiel démarrent avec des connaissances utiles leur permettant de
trouver un meilleur optimum local.
2.1. Apprentissage de la coordination par renforcement 22
Une autre approche pour permettre aux agents d’apprendre une tâche coopérative est
de donner aux agents une description commune de l’état du monde et un renforcement
global, comme l’ont fait Crites et Barto [Crites and Barto, 1998]. Dans cette approche, les
agents n’ont pas besoin de modéliser les actions des autres agents. La coordination émerge
du fait que les agents apprennent à partir du même renforcement. Ce renforcement peut
sembler contenir du bruit pour un agent parce qu’il ne connaı̂t pas les actions des autres
agents, mais tout de même, les auteurs ont démontré que l’apprentissage de la tâche
par les agents est possible dans de telles circonstances. Le problème de cette approche
est le problème d’assignation du crédit. En effet, chaque agent reçoit une récompense
globale, par conséquent la difficulté est de savoir à quel point l’agent a contribué à cette
récompense. Diviser la récompense globale entre les différentes actions des agents est un
problème fort complexe.
Sen et ses collègues ont démontré qu’il était possible d’atteindre une bonne co-
ordination entre les agents sans utiliser les communications [Sen and Sekaran, 1995,
Sen and Sekaran, 1998, Sen et al., 1994]. Ils ont utilisé l’algorithme de Q-learning pour
2.1. Apprentissage de la coordination par renforcement 23
apprendre à deux agents à pousser un bloc à un endroit précis. Les agents ne communi-
quaient pas, mais ils devaient tout de même coordonner leurs actions pour pousser dans
le bon sens. Une des limitations à cette approche est que si l’on veut que les agents se
coordonnent sans communiquer, ils ont besoin de pouvoir s’observer. Dans la majorité
des systèmes réels, les agents n’ont pas la possibilité de voir tous les autres agents. Ils
n’ont qu’une perception partielle de l’environnement, donc ils ne peuvent voir que les
agents qui sont à proximité. Dans de tels environnements, la majorité des agents ne
sont pas visibles, donc pour se coordonner, les agents vont avoir besoin de bénéficier des
communications.
Abul et ses collègues ont présenté deux mécanismes de coordination pour des agents
apprenant par renforcement [Abul et al., 2000]. Dans le premier mécanisme, appelé mé-
canisme de coordination perceptuelle, les autres agents sont inclut dans la description de
l’état du monde et les informations de coordination sont apprises à partir des transitions
entre les états. Dans le deuxième mécanisme, appelé mécanisme de coordination par
observation, les autres agents sont aussi inclut dans la description de l’état du monde,
mais en plus avec les récompenses obtenues par les agents à proximité. Les récompenses
observées et les récompenses de l’agent sont utilisées pour construire une politique op-
timale. Le problème principal de cette approche, comme pour la méthode précédente,
est que dans des environnements partiellement observables, on ne peut pas ajouter les
autres agents dans la représentation de l’état du monde tout simplement parce qu’ils ne
peuvent pas être perçus.
Cette section décrit quatre approches proposant le partage d’informations entre les
agents pour aider à l’apprentissage de la coordination. Le partage d’informations peut
tout simplement être de partager ses perceptions de manière à faire profiter les autres
agents des situations rencontrées. De cette manière, chaque agent a plus d’exemples sur
lesquels se baser pour effectuer l’apprentissage. Une autre forme de partage d’informa-
tions utilisée est de partager directement les valeurs apprises par le processus d’appren-
tissage de manière à partager les connaissances apprises.
prédateurs. Ces résultats montrent que les agents qui partagent leurs connaissances ap-
prises et leurs épisodes étaient plus efficaces que les agents indépendants. Toutefois, il est
important de mentionner que la coopération dans ce type de domaines est relativement
facile vu la simplicité du domaine. De plus, les agents sont tous homogènes, ce qui facilite
la coopération.
Sous le même ordre d’idées, Mataric a développé une approche où le comporte-
ment global d’un agent est en fait représenté par plusieurs comportements simples de
base [Mataric, 1994]. Les comportements de plus haut niveau de l’agent sont obtenus en
juxtaposant plusieurs comportements de bas niveau. Les comportements qui nous inté-
ressent le plus pour nos recherches sont les comportements sociaux. Mataric a montré
que trois type de renforcement sont importants pour l’apprentissage de comportements
sociaux [Mataric, 1997]. Le premier type est la perception individuelle du progrès vers
le but courant, c’est-à-dire que l’agent reçoit une récompense pour chaque action le rap-
prochant de son but. Le deuxième renforcement vient de l’observation des autres agents,
c’est-à-dire que des comportements similaires de la part des autres agents sont vus comme
des renforcements positifs. De manière pratique, l’agent reçoit un renforcement s’il répète
dans la même situation le comportement d’un autre agent qu’il vient juste de percevoir.
Le troisième type de renforcement est l’observation des renforcements reçus par les autres
agents, c’est-à-dire que les agents reçoivent un renforcement partagé qui est donné à tous
les agents présents dans une interaction sociale locale. Par exemple, si un agent a réussi
à atteindre son but parce qu’un autre agent l’a laissé passer, alors les deux agents vont
recevoir le renforcement.
Bonarini et Trianni [Bonarini and Trianni, 2001] utilisent eux aussi l’apprentissage
par renforcement, mais en utilisant un système de classificateurs flous (« fuzzy classifier
system »). Chaque agent a des règles en logique floue qu’il utilise pour choisir le bon com-
portement à appliquer ou la bonne action de communication à faire. Les comportements
sont des comportements de bases semblables à ceux décrits par Mataric [Mataric, 1994].
Le but des agents est d’apprendre quand utiliser leurs comportements de base prédéfinis.
En d’autres mots, les agents ont une banque de comportements et le but est d’apprendre
la correspondance entre une situation et le bon comportement à exécuter. Dans leur
2.1. Apprentissage de la coordination par renforcement 25
Cette section présente quatre travaux en apprentissage par renforcement qui diffèrent
trop des autres méthodes pour entrer dans les catégories précédentes. Tout d’abord, dans
la première approche la coordination entre agents est atteinte en attribuant à chacun
des agents, un ou plusieurs rôle(s) à suivre, structurant ainsi les interactions entre les
agents. Pour améliorer la coordination, l’apprentissage consiste, dans ce cas, à apprendre
quel est le rôle à adopter selon la situation [Prasad et al., 1996]. On suppose que chaque
agent peut accomplir plusieurs rôles dans une même situation. Pour apprendre quel rôle
utilisé, les agents apprennent par renforcement les trois valeurs suivantes. Premièrement,
ils apprennent une valeur d’utilité représentant une estimation de la valeur de l’état final
atteint si l’agent prend un certain rôle dans la situation courante. Deuxièmement, ils
apprennent la probabilité d’atteindre un état final désiré si l’agent adopte un certain rôle
dans la situation courante. Et finalement, ils apprennent une valeur de coût représentant
le temps de calcul engendré par le choix du rôle.
Pour leur part, Stone et Veloso ont développé un algorithme qui se nomme TPOT-
RL [Stone and Veloso, 1999] et qui est une adaptation des méthodes d’apprentissage
par renforcement traditionnelles. Avec cet algorithme, les états sont généralisés en vec-
teurs de caractéristiques, ce qui a pour effet de diminuer de beaucoup la grandeur de
l’espace d’états. Ceci rend l’algorithme applicable dans des environnements complexes,
non-Markovien, multiagents, avec de grands espaces d’états et des opportunités d’appren-
tissage limitées. Cette méthode a été implémentée dans la cadre de la RoboCup Soccer.
Les résultats présentés montrent que cette technique permet à une équipe d’agents d’ap-
prendre à coopérer vers l’atteinte d’un but spécifique.
Tumer, Agogino et Wolpert ont quant à eux travaillés à l’élaboration d’agents auto-
nomes apprenant individuellement des séquences d’actions de manière à ce que les actions
conjointes résultantes accomplissent un objectif global prédéterminé [Tumer et al., 2002].
Le problème qu’ils ont étudié est de savoir comment définir les renforcements retournés
à chaque agent pour que si les agents maximisent leurs renforcements, ils vont alors
atteindre une solution globale désirée. Pour cela, les auteurs ont utilisé les concepts de
l’approche d’intelligence collective [Wolpert and Tumer, 2000] en vue de concevoir des
récompenses, pour chaque agent, alignées avec la récompense globale. Pour que les ré-
2.2. Apprentissage de la coordination à partir d’une trace 26
compenses puissent être apprises, les agents doivent avoir la possibilité de voir facilement
comment leur comportement influence les récompenses reçues. Pour y arriver, les auteurs
utilisent une fonction d’utilité qui représente la contribution d’un agent pour l’atteinte
du but global. Ainsi, pour chaque agent, la valeur de la fonction d’utilité est la somme
des récompenses obtenues par le groupe avec l’agent moins la somme des récompenses
si l’agent n’avait pas été là. Cette fonction d’utilité permet de diriger les agents vers des
comportement plus coopératifs et d’augmenter ainsi la réussite du groupe.
actions. Pour ce faire, les agents utilisent des traces contenant plusieurs informations en-
registrées par les agents lors de l’exécution de leurs tâches. Au moment de l’apprentissage,
ces traces sont nettoyées de manière à conserver uniquement les informations nécessaires
pour expliquer la situation courante. Par la suite, ces traces nettoyées servent à modifier
le comportement de l’agent de manière à ce que celui-ci agisse pour le mieux dans le
futur.
Les deux sous sections suivantes présentent deux méthodes représentant l’état de l’art
en terme d’apprentissage de la coordination en analysant des traces d’exécutions. Dans
la première méthode, celle de Sugawara et Lesser [Sugawara and Lesser, 1998] (section
2.2.1), les agents apprennent de nouvelles règles comportementales à partir de situations
d’échecs, c’est-à-dire qu’ils essaient d’apprendre comment éviter les situations d’échecs.
Dans la deuxième méthode, celle de Garland et Alterman [Garland and Alterman, 2001b]
(section 2.2.2), les agents apprennent des procédures de coordination à partir des situa-
tions de succès, c’est-à-dire qu’ils apprennent à exécuter les mêmes actions, si celles-ci
ont mené à un succès. Cette dernière approche est une approche à base de cas, où les
agents utilisent les cas passés pour améliorer la qualité des plans et par le fait même, la
coordination entre les agents.
Une des manière d’améliorer sa performance, est d’apprendre à partir de ses échecs.
En effet, lorsqu’on se rend compte qu’une de nos actions a échoué, on peut analyser
les informations que l’on a, pour ainsi déterminer les causes de cet échec et pour pou-
voir agir, par la suite, de manière à éviter de refaire les mêmes erreurs. Dans leurs
travaux, Sugawara et Lesser [Sugawara and Lesser, 1993, Sugawara and Lesser, 1995,
Sugawara and Lesser, 1998] ont opté pour cette stratégie pour l’implémentation d’un
mécanisme d’apprentissage de la coordination.
Dans cette approche, les agents enregistrent une trace contenant toutes les informa-
tions disponibles, leur permettant ainsi d’analyser n’importe quelle situation passée si
nécessaire. Lorsqu’une situation indésirable se produit, les agents analysent leur trace
pour déterminer les causes de l’échec et, par la suite, ils ajoutent de nouvelles règles de
manière à modifier leur comportement pour éviter d’atteindre une telle situation indési-
rable dans le futur.
L’apprentissage, dans ce cas, est complètement distribué et est centré sur l’agent,
c’est-à-dire qu’un agent apprend des règles uniquement par et pour lui-même. Dans cette
approche, les agents doivent être capables d’enregistrer des traces de leur raisonnement
qui pourront, par la suite, être analysées par le module d’apprentissage. Un agent doit
par ailleurs être capable de reproduire les mêmes décisions et le même raisonnement à
partir de la trace enregistrée.
2.2. Apprentissage de la coordination à partir d’une trace 28
Par conséquent, l’identification des informations appropriées doit être liée aux carac-
téristiques de la situation de coordination. Bien entendu, faire des actions redondantes ou
non-nécessaires peut ne causer aucun problème. Dans ce cas, aucune règle est apprise. Le
résultat du processus d’apprentissage est la génération de nouvelles règles de recherche
d’informations qui font en sorte que le planificateur va générer une séquence d’opérations
pour aller chercher les informations nécessaires avant de prendre une décision sur la façon
dont il va accomplir son but.
Dans cette approche, les agents apprennent uniquement lorsqu’ils rencontrent des
situations indésirables. Ils analysent par la suite leur trace et celles des autres pour
tenter d’expliquer cette situation d’échec et déterminer quelles sont les actions à effectuer
dans le futur pour qu’une telle situation d’échec ne se reproduise plus. La méthode
d’apprentissage est efficace, toutefois les agents pourraient aussi bénéficier des situations
de réussites. De cette manière, on pourrait ressortir plus d’informations de l’analyse des
traces en considérant les situations de succès en plus des situations d’échecs.
ments au cours d’une activité où un agent ne peut plus progresser sans l’assistance d’un
autre agent.
Dans leurs travaux, Garland et Alterman utilisent en fait deux techniques pour l’ap-
prentissage de la coordination : l’apprentissage de procédures de coordination et l’ap-
prentissage de probabilités d’opérateurs. Les procédures de coordination sont des plans
partiaux constitués de points de coordination et d’actions individuelles qui ont démon-
tré leur efficacité dans le passé pour résoudre certains problèmes de coordination. Les
probabilités d’opérateurs quant à elles donnent une probabilité de succès pour chacune
des actions possibles. Ces probabilités sont utilisées lors de la planification pour décider
quand coopérer et pour adapter les procédures de coordination à la situation actuelle.
Les procédures de coordination donnent aux agents des visions compatibles d’une
tâche permettant d’améliorer la performance du groupe en améliorant la qualité de la
sélection des buts par l’agent et en simplifiant leurs décisions à propos de l’utilité de
coopérer ou non. Avoir des visions compatibles signifient plus que de travailler sur les
mêmes buts au même moment, cela signifie, en plus, que les agents approchent le but de
la même manière. Lorsque les agents ont des visions compatibles, les décisions à propos
de la coordination requièrent moins de raisonnement. La majorité des décisions sont
triviales étant donné que le récepteur de la demande avait déjà prévu dans son plan
d’aider l’autre agent.
Les deux dernières méthodes que nous venons de présenter ont plusieurs points en
commun. Il serait intéressant de voir comment on pourrait combiner les deux méthodes
basées sur l’analyse de traces d’exécution. La méthode de Sugawara et Lesser apprend
à partir de situations d’échecs, alors que la méthode de Garland et Alterman apprend
à partir de situations de succès. Il serait intéressant si les agents pouvaient apprendre à
la fois à partir des situations d’échecs et à partir des situations de succès. De cette ma-
2.3. Autres méthodes d’apprentissage 31
nière, les agents auraient plus d’occasions d’apprendre. De plus, les méthodes devraient
pouvoir assez bien se combiner, car les deux utilisent la même approche de base qui est
l’apprentissage à partir de l’analyse de traces d’exécution.
Une autre approche, appliquée à la RoboCupRescue, a été celle de Ahmadi et ses col-
lègues [Ahmadi et al., 2002] qui ont utilisé une méthode d’approximation itérative d’une
fonction pour l’apprentissage de la valeur d’un message. Ensuite, les agents utilisaient
les valeurs sur les messages pour savoir s’ils devaient écouter le message ou non. Leur
approche semble avoir donné de bons résultats pour les agents PoliceForce, mais comme
elle est dépendante de leur implémentation, qu’elle utilise plusieurs constantes détermi-
nées empiriquement et surtout qu’elle ne se rapproche pas de notre approche, nous ne
nous attarderons pas à l’explication de cette technique plus en détails.
Prasad et Lesser ont écrit plusieurs articles décrivant une méthode d’apprentissage
à base d’instances (COLLAGE) pour l’apprentissage de la coordination entre agents lo-
giciels [Prasad and Lesser, 1996a, Prasad and Lesser, 1996b, Prasad and Lesser, 1997a,
Prasad and Lesser, 1997b, Prasad and Lesser, 1999, Prasad, 1997]. Avec cette approche,
les agents possèdent a priori un certain nombre de stratégies de coordination. Le but
des agents est d’apprendre à choisir la meilleure stratégie de coordination selon la situa-
tion courante. Pour se faire, ils exécutent le système multiagent sur plusieurs problèmes
de coordination et les agents enregistrent les performances des différentes stratégies de
coordination pour chacune des situations présentées. Les agents apprennent donc avec le
temps à utiliser la stratégie la plus efficace selon la situation courante. Excelente-Toledo
et Jennings [Excelente-Toledo and Jennings, 2002] ont eux aussi étudié la sélection d’un
mécanisme de coordination parmi une liste prédéfinie, mais leurs tests ont été fait dans
un environnement très simplifié. L’environnement consiste en une grille sur laquelle évo-
luent des agents. Sur la grille, il y a des cases contenant des tâches spécifiques à un agent
et d’autres cases contenant des tâches coopératives. Lorsque les agents arrivent sur une
case contenant une tâche coopérative, ils doivent choisir s’ils initient une coopération
et si oui, avec quels mécanismes de coordination. En générale, la méthode consistant à
apprendre à choisir le meilleur mécanisme de coordination parmi un ensemble prédéfini
de mécanismes semble tout de même efficace. Toutefois, elle demande au concepteur de
définir toutes les stratégies de coordination possibles, ce qui peut être compliqué dans
certains problèmes.
De leur côté, Horling et lesser [Horling and Lesser, 1999] ont travaillé sur une ma-
nière de diagnostiquer un problème de coordination pour permettre un apprentissage
plus efficace. Les agents possèdent des règles de coordination qui sont représentées à
l’aide du langage de modélisation de tâche TAEMS [Decker and Lesser, 1993]. Lors de
l’apprentissage, le retour d’information utilisé pour adapter les règles de coordination
2.3. Autres méthodes d’apprentissage 32
est retourné en utilisant un modèle causal. Le but de ce modèle causal est de faire un
lien entre un problème de coordination ou l’effet observé (par exemple, dépassement de
temps, mauvaise utilisation des ressources, etc.) et la cause (par exemple, ressource bri-
sée, mauvaise estimation de la durée d’une tâche, etc.). Ceci permet à l’agent d’avoir un
retour plus précis lui permettant de mieux cibler les règles de coordination à ajuster.
Toujours en utilisant le langage TAEMS, Jensen et ses collègues [Jensen et al., 1999]
ont développé une approche permettant aux agents d’utiliser la structure de tâche pour
apprendre les relations entre les différentes tâches. Ce qu’ils veulent apprendre, c’est
l’effet des actions d’un agent sur les autres agents. Ces connaissances peuvent s’avérer très
utiles pour coordonner les agents en prévenant les conflits et en exploitant les relations
bénéfiques entres les actions. Les relations entre les actions qu’ils apprennent sont :
– Permettre : pour indiquer que l’exécution d’une tâche permet à une autre tâche
d’être exécutée ;
– Empêcher : pour indiquer que l’exécution d’une tâche empêche une autre tâche
d’être exécutée ;
– Faciliter : pour indiquer que l’exécution d’une tâche facilite ou améliore l’efficacité
de l’exécution d’une autre tâche ;
– Entraver : pour indiquer que l’exécution d’une tâche entrave ou diminue l’efficacité
de l’exécution d’une autre tâche ;
Bui et ses collègues [Bui et al., 1998] ont développé, quant à eux, un cadre d’appli-
cation permettant de gérer l’information incomplète. Ils associent une distribution de
probabilités pour chaque source d’incertitude. Les agents peuvent apprendre ses distri-
butions de probabilité à l’aide d’interactions répétées. Ils ont appliqué leur méthode à
une application de prise de rendez-vous. Pour ce faire, chaque agent devait apprendre la
distribution de probabilité sur les préférences des utilisateurs. Par la suite, chaque agent
pouvait transmettre ses connaissances apprises sur son utilisateur aux autres agents en
vue d’aider à bien se coordonner. Cette transmission de connaissances apprises permet
d’aider les agents à avoir une vision plus juste de l’environnement.
Comme l’ont fait Haynes et Sen [Haynes and Sen, 1998], on peut aussi utiliser un
apprentissage multiagent à base de cas pour apprendre des comportements complémen-
taires pour ainsi améliorer la performance du groupe. Dans cette approche, les agents
sont initialisés avec des comportements de base qui sont modifiés selon leurs interactions
avec le monde. Lorsqu’une action déclenchée par les règles comportementales ne peut
pas être exécutée, alors ils considèrent ce cas comme un cas d’apprentissage négatif.
Ils modifient par la suite les règles comportementales de l’agent pour qu’il évite de re-
faire la même action. En d’autres mots, les agents apprennent sur la base de punitions,
c’est-à-dire qu’on leur dit ce qu’il convient de ne pas faire.
2.4. Limitations des approches actuelles 33
Dans cette section, nous présentons certaines limitations des approches actuelles de
manière à faire ressortir l’apport de nos recherches au domaine de l’apprentissage de la
coordination dans une système multiagent. Pour ce faire, les approches seront vues selon
trois caractéristiques importantes à l’apprentissage de la coordination dans un système
multiagent :
– Communications. Est-ce que les agents communiquent lors de l’apprentissage ? La
communication peut aider les agents à acquérir de l’information à propos des autres
agents. Ces informations peuvent par la suite aider l’agent à trouver une bonne
manière de se coordonner avec les autres.
– Modèles des autres agents. Il peut être utile pour un agent de conserver un modèle
du comportement des autres agents avec qui il doit interagir. Avec un tel modèle,
tout agent pourrait prédire les actions des autres agents, ce qui lui permettrait de
se coordonner en choisissant des actions compatibles avec les actions prévues par
les autres agents.
– Connaissance de l’environnement. Est-ce que les agents ont une connaissance glo-
bale de l’environnement ? Bien entendu, si les agents ont une connaissance globale,
il est plus facile pour eux de se coordonner, car ils savent où sont tous les agents
et ils peuvent même en déduire ce qu’ils font ou ce qu’ils s’apprêtent à faire.
2.4.1 Communications
Comme nous l’avons présenté à la section 1.2, les environnements considérés dans
nos recherches sont des environnements partiellement observables. Par conséquent, les
communications deviennent importantes pour permettre aux agents d’avoir une vision
plus complète de la situation. Par ailleurs, les communications peuvent être très utiles
pour accélérer l’apprentissage en permettant aux agents de s’échanger des expériences ou
2.4. Limitations des approches actuelles 34
même des valeurs apprises. Il s’ensuit que les méthodes n’utilisant pas les communications
ne sont pas très bien adaptées à notre problème.
Les modèles des autres agents permettent aux uns et aux autres de pouvoir prédire
qu’elle action sera effectuée par chacun des agents et agir ainsi en conséquence pour
conserver une bonne coordination. Toutefois, si le nombre d’agents augmente, il devient
de plus en plus coûteux de maintenir de tels modèles pour chacun des agents. La com-
plexité est aussi due au fait que les agents considérés sont des agents apprenants, c’est-
à-dire dont le comportement change constamment. Il est donc beaucoup plus difficile
d’apprendre un modèle de quelque chose d’instable. C’est pourquoi très peu d’approches
essaient de maintenir un modèle des autres agents ou si elles le font, c’est uniquement
sur des problèmes simplifiés.
Malgré le fait que les modèles sur les autres agents sont difficiles à maintenir, nous
croyons que les avantages de tels modèles font en sorte qu’ils sont tout même utiles
même s’ils ne sont pas mis à jour constamment. À la section 3.3.2, nous proposons deux
avenues pour simplifier la maintenance des modèles : la mise à jour à intervalles réguliers
des modèles des autres agents et le regroupement des agents en groupes d’agents ayant
des caractéristiques semblables. Avec ces deux méthodes, les agents pourront maintenir
des modèles approximatifs des autres agents qui leur permettront de se coordonner plus
efficacement.
2.4. Limitations des approches actuelles 35
Comme nous l’avons dit précédemment, nous considérons les environnements où les
agents ont une vue partielle de l’environnement. C’est-à-dire que les agents ne perçoivent
pas toutes les informations de l’environnement, qu’ils ont tous des perceptions différentes,
qu’ils ne connaissent pas nécessairement la position de tous les agents et surtout qu’ils
ne connaissent pas nécessairement quels sont les buts des autres agents et ce qu’ils sont
en train de faire. Ceci fait en sorte d’éliminer toutes les approches qui considèrent que
les agents ont une vision globale de l’environnement et/ou qu’ils peuvent voir tous les
autres agents.
Même si les agents n’ont pas une vision complète de l’environnement, ils peuvent tout
de même apprendre certaines caractéristiques de celui-ci. À la section 3.2, nous présentons
une approche permettant de déterminer quelles sont les routes les plus importantes. Les
agents peuvent donc utiliser cette liste pour se coordonner de manière implicite. Par
exemple, les polices vont déblayer en priorité la route la plus importante. Les agents
pompiers, pour leur part, vont utiliser en priorité cette route. Par conséquent, les agents
polices vont déblayer les routes utilisées par les autres agents. Il s’ensuit que les agents
vont avoir réussi à coordonner leurs actions, en travaillant sur la même route, sans
communication et sans avoir pu observer la route en question.
Chapitre 3
Approches proposées
Comme nous l’avons présenté à la section 1.1.2, les solutions aux problèmes de coordi-
nation entre agents peuvent être divisées en trois classes générales [Boutilier, 1996] : celles
basées sur la communication, celles basées sur des conventions et celles basées sur l’ap-
prentissage. Comme nous considérons des environnements où les communications sont
limitées et incertaines (voir à ce sujet la section 1.2), les approches basées sur la com-
munication ne sont, par conséquent, pas vraiment appropriées. Étant donné que le type
d’environnement considéré est très complexe et qu’il peut contenir plusieurs situations
différentes, le nombre de règles de coordination qu’il faudrait définir avec une approche
basée sur les conventions serait très grand. Par ailleurs, cette approche n’offre pas une
grande flexibilité. Si l’environnement change, les règles doivent être ajustées manuelle-
ment. La troisième approche, quant à elle, permet de réduire le nombre de règles que le
concepteur doit écrire en utilisant des techniques d’apprentissage. Ainsi, le concepteur
n’a pas à définir toutes les procédures de coordination pour toutes les situations pos-
sibles. Par ailleurs, une approche basée sur l’apprentissage permet d’obtenir un système
multiagent pouvant s’adapter graduellement aux changements de l’environnement.
Pour ces raisons, nous croyons que les méthodes d’apprentissage sont les plus sus-
ceptibles de permettre aux agents d’obtenir une bonne coordination. Dans cette section,
nous allons présenter nos travaux et nos propositions qui seront divisés en trois catégo-
ries principales d’approches permettant l’amélioration de la coordination d’agents dans
des environnements temps réel, partiellement observables et dynamiques. La première
catégorie concerne principalement une méthode permettant aux agents d’apprendre à
utiliser le plus efficacement possible le canal de communication qui leur est attribué. La
deuxième catégorie tente d’utiliser la connaissance de la structure de l’environnement
pour améliorer la façon dont les agents abordent leurs tâches selon leur position dans
cet environnement. Finalement, la troisième catégorie consiste à donner aux agents les
outils leur permettant d’apprendre comment évolue l’environnement et comment les ac-
tions des agents l’influencent pour ainsi leur permettre d’anticiper son évolution et les
actions des autres agents.
36
3.1. Apprendre à communiquer efficacement 37
Toutes ces approches ont un même but principal qui consiste à améliorer la coor-
dination des actions des différents agents. Dans les sous sections qui suivent, les trois
catégories seront présentées en détails tout en spécifiant dans quelle mesure elles amé-
liorent la coordination des agents.
Dans le type d’environnement qui nous intéresse (section 1.2), les communications
sont limitées et incertaines, par conséquent plusieurs messages peuvent ne jamais at-
teindre leur(s) destinataire(s). Malgré ces complications, les communications demeurent
tout de même nécessaires, car les agents n’ont qu’une perception locale de l’environ-
nement. Il s’ensuit que les agents ont besoin de communiquer ensemble pour essayer
d’obtenir une vision plus complète et plus juste de l’environnement. Dans cet apprentis-
sage distribué de l’environnement, les agents doivent coopérer et communiquer ensemble
pour pouvoir apprendre efficacement [Alonso et al., 2001]. En d’autres mots, les agents
doivent pouvoir mettre en commun leurs perceptions locales ou du moins une partie de
celles-ci pour que chacun d’eux puisse avoir une perception de la situation globale, leur
permettant ainsi de prendre des décisions plus éclairées par rapport à la situation.
Les communications permettent aussi aux agents d’obtenir des informations sur les
activités des autres agents. Sans communication, les agents n’auraient pratiquement au-
cune idée de ce que les autres agents sont en train de faire. Ils ne le sauraient que pour
les agents faisant partie de leur perception locale. Il serait donc pratiquement impossible
pour eux de pouvoir coordonner leurs actions, ne sachant pas ce que les autres font ou
vont faire. C’est pourquoi, la coordination des agents est très dépendante des communi-
cations. Par conséquent, il est bon de tenter d’améliorer l’efficacité des communications
pour permettre ainsi d’améliorer la coordination entre les agents.
C’est pourquoi les agents doivent choisir les messages les plus importants à envoyer
et à lire. Le but étant bien entendu que les messages les plus importants aient une grande
probabilité d’être reçus par le ou les destinataire(s) visé(s). Le problème revient donc
à trouver tout d’abord une manière de déterminer l’importance d’un message. Cette
importance est dépendante à la fois de l’information contenue dans le message et de la
situation dans laquelle se trouve les agents.
3.1. Apprendre à communiquer efficacement 38
Pour permettre aux agents de prendre une décision éclairée à propos des messages à
envoyer et à recevoir, ils pourraient apprendre, à l’aide de plusieurs simulations, qu’elles
sont les messages les plus utiles selon la situation rencontrée [Stone and Veloso, 1997].
Avec cette information, les agents pourraient n’envoyer et ne lire que les messages les
plus importants. En faisant cela, il y aura moins de messages utilisant la bande passante,
par conséquent, il y aura moins de messages perdus à cause de la limitation d’écoute des
agents.
À l’aide des informations recueillies auprès des autres agents lors de la rencontre,
chaque agent met à jour sa base de cas, contenant pour chaque message, une description
de la situation et une valeur d’utilité. Cette base de cas est utilisée par la suite par
l’agent pour évaluer l’utilité d’envoyer un certain message dans une situation donnée. La
technique utilisée est donc une technique d’apprentissage à base d’instances utilisant un
raisonnement à base de cas. Chacune des étapes de la méthode est présentée de manière
plus détaillée dans ce qui suit.
La première étape consiste en l’enregistrement par les agents d’une trace de leur
exécution pendant qu’ils agissent dans l’environnement. À chaque moment où l’agent
effectue une action dans l’environnement, il enregistre les informations suivantes dans sa
trace d’exécution :
– une description de la situation dans laquelle l’agent est à ce moment là,
– les messages envoyés par l’agent,
– les messages qui auraient pus être envoyés par l’agent,
– les messages reçus par l’agent,
– l’action exécutée par l’agent.
3.1. Apprendre à communiquer efficacement 39
3.1.2 Rencontre
La deuxième étape consiste en une rencontre à la fin de la simulation pour que les
agents analysent leur trace d’exécution et voient ainsi qu’elles sont les messages qui ont
été réellement utiles et ceux qui auraient pu être ignorés. On peut faire une analogie
entre cette façon de faire pour les agents logiciels et la manière qu’on certains groupes
d’humains de s’entraı̂ner. Par exemple, les pompiers, l’armée et les équipes de secours ef-
fectuent régulièrement des pratiques au cours desquelles ils simulent une situation réelle.
Par la suite, il y a généralement une réunion après la pratique pour analyser le déroule-
ment de celle-ci de manière à voir ce qui s’est passé et par conséquent, ce qui pourrait
être amélioré.
Lors de la rencontre, on considère que les agents ont accès à une plus grande liberté de
communication. Ils peuvent donc s’échanger directement plus de messages. En plus de la
relaxation des contraintes de communication, les agents n’ont plus la contrainte de temps
réel. Le but de cette rencontre est d’analyser les traces des agents. Pour effectuer cette
analyse, chaque agent va envoyer à chacun des autres agents les messages qu’il aurait
pu transmettre à un certain moment dans la simulation. Par la suite, les autres agents
vont calculer l’utilité que ce message aurait eu pour eux s’ils avaient pu le recevoir au
moment spécifié. Ensuite, ils retournent cette valeur d’utilité à l’agent qui l’a demandé.
Ce processus est illustré sur la Figure 3.1. Par exemple, l’agent A veut savoir si le
message m1 a été ou aurait été utile pour les agents B et C. Pour cela, il envoie m1 ,
avec le temps auquel il aurait pu être envoyé, à tous les autres agents. Lorsque B et
C reçoivent m1 , ils regardent leur trace d’exécution pour savoir dans quelle situation
ils étaient au moment où ils auraient pu recevoir m1 . Ensuite, ils calculent une valeur
d’utilité u1 pour m1 et la renvoie à l’agent A. La valeur d’utilité retournée par un agent
va dépendre de :
– l’information contenu dans le message,
– l’agent qui reçoit le message,
– la position de l’agent au moment où il aurait reçu le message,
– l’activité de l’agent à ce moment,
– si l’information contenue dans le message aurait pu être utilisée par l’agent.
3.1. Apprendre à communiquer efficacement 40
m2 u1
m1 u2
m1 m3 m2 u1 u3
u3
m3 u2
(a) (b)
Figure 3.1: Illustration des communications entre les agents lors de l’évaluation
de l’utilité d’un message. Les cercles A, B et C représentent des agents. (a) Tous
les agents envoient un message à tous les autres agents. (b) Les agents calculent
l’utilité des messages qu’ils reçoivent et retournent cette utilité à l’agent qui l’a
demandé.
Par exemple, une information sur une route est utile seulement si l’agent a à utiliser
cette route peu de temps après la réception du message. Un autre exemple pourrait être
que, pour un pompier, un message d’aide pour aller éteindre un feu est important si
l’agent a suffisamment de temps pour se rendre au feu et l’éteindre.
Dans notre exemple, l’agent A va donc recevoir une évaluation d’utilité de la part
de chacun des agents. Plusieurs manières de combiner les différentes valeurs d’utilité
peuvent être étudiées. Par exemple, on peut faire la moyenne ou on peut prendre le
maximum des utilités reçues. Avec la moyenne, l’agent va savoir si une majorité des
agents ont trouvé le message utile, donc il va envoyer le message qui risque d’être utile
pour le plus grand nombre d’agents. Pour le deuxième cas, l’agent considère que si le
message est très important pour un certain agent, alors il vaut mieux l’envoyer, même
s’il n’est pas vraiment utile pour la majorité des agents. Pour ce dernier cas, l’utilité du
message dépend de l’identité de l’agent pour qui le message est important. Si le message
permet à cet agent d’améliorer de beaucoup la performance du groupe, alors il vaut
mieux envoyer le message.
Lors de nos recherches, différentes méthodes de combinaison des utilités seront étu-
diées. Les méthodes seront testées sur différentes situations pour voir laquelle des mé-
thodes est la plus efficace. Le but est d’obtenir la plus grande utilité globale pour les
messages. Donc, la métrique qui sera utilisée pour effectuer les tests sera de calculer
la somme des utilités pour tous les messages reçus par les agents. Ainsi, la meilleure
méthode sera celle qui permet aux agents de recevoir le plus de messages utiles. Les
tests effectués permettront de déterminer dans quel contexte une méthode est meilleure
3.1. Apprendre à communiquer efficacement 41
qu’une autre. Avec cette information, les agents pourront utiliser la meilleure méthode
selon le contexte.
Peu importe la manière de combiner les utilités reçues, l’agent va utiliser cette in-
formation pour mettre à jour sa base de cas en ajustant la valeur d’utilité du message
m1 pour la situation donnée, ou en ajoutant un nouveau cas si le cas n’existait pas déjà.
Si le cas existait déjà dans la base de cas, l’agent affectera à ce cas, la moyenne entre
l’ancienne utilité et la nouvelle valeur. L’utilité est calculée séparément pour chaque type
d’agents, parce que l’utilité d’un message est très dépendante du type de l’agent qui re-
çoit le message. L’algorithme utilisé pour apprendre progressivement l’utilité de chaque
message, est présenté à l’Algorithme 3.1.
Pour leur part, les agents B et C vont eux aussi enregistrer dans leur base de cas
l’utilité du message et l’émetteur du message. Les agents B et C vont pouvoir utiliser
cette information pour estimer l’utilité de lire des messages provenant d’un agent similaire
à A dans des situations futures semblables.
Cette rencontre donne des informations importantes aux agents émetteurs et récep-
teurs pour les aider à améliorer leurs communications. Premièrement, si l’on regarde du
côté de l’expéditeur, les informations recueillies lors de la rencontre lui donne une idée
des messages qui sont utiles pour les autres agents. Ceci lui permettra d’évaluer si un
message est suffisamment important pour être envoyé. Pour obtenir une estimation de
l’utilité du message qu’il veut envoyer, l’agent utilise la fonction suivante :
3.1. Apprendre à communiquer efficacement 42
P
S(cq , ci )U (ci )
ci ∈BC
Û (cq ) = P (3.1)
S(cq , ci )
ci ∈BC
où Û (cq ) est l’estimation de l’utilité pour le cas courant, ci est un cas dans la base
de cas BC, U (ci ) est l’utilité du cas i dans la base de cas et S(cq , ci ) est la valeur de
similitude entre cq et ci . Cette fonction retourne comme utilité pour le cas courant une
moyenne des utilités des cas présents dans la base de cas. Ces utilités sont pondérées
selon leur valeur de similitude avec le cas courant. Cette valeur de similitude représente
une distance entre les cas selon la différence du message et de la situation dans laquelle le
message est envoyé. Plus un cas est similaire au cas courant, plus il a un poids important
dans l’évaluation de l’utilité du cas courant.
Comme la base de cas est enrichie après chaque simulation, l’agent va apprendre au
fil des simulations à estimer de plus en plus efficacement l’utilité d’un message. Il pourra
par conséquent utiliser cette estimation pour savoir si un certain message vaut la peine
d’être envoyé. Plus précisément, l’agent génère, à chaque tour, tous les messages qu’il
peut envoyer et il envoie uniquement les messages ayant obtenus les meilleures utilités
et de plus, ces utilités doivent être supérieures à une certaine borne préétablie. La borne
fait en sorte qu’un agent n’envoie pas de message s’il n’a rien d’important à dire.
Compte tenu que les messages ont une chance de ne pas se rendre à destination,
les agents doivent donc être en mesure de gérer l’incertitude reliée à la transmission
de messages. Pour se faire, ils doivent tenir compte de la probabilité qu’un message
atteigne le ou les destinataire(s). La probabilité qu’un message soit reçu va être estimé
en enregistrant à chaque simulation les messages envoyés et les messages reçus. Donc,
pour chaque type d’agents, il y aura un tableau indiquant le nombre de messages d’un
certain type envoyés et le nombre de ces messages réellement reçus par chaque type
d’agents. Le Tableau 3.1 montre un exemple pour seulement deux types d’agents et deux
types de messages. Les variables w, x, y et z représentent le nombre moyen de messages
reçus par chaque type d’agents et pour chaque type de messages. Par exemple, w est la
somme de tous les messages de type M1 reçus par tous les agents de type A1 , divisée par
le nombre d’agents de type A1 :
P
Na,M1
a∈A1
w=
|A1 |
où Na,M1 est le nombre de messages de type M1 reçu par l’agent a et |A1 | est le
nombre d’agents de type A1 .
Le Tableau 3.1 sera utilisé pour calculer la probabilité qu’un message soit reçu par
les destinataires. Par exemple, la probabilité qu’un agent de type A1 reçoive un message
de type M1 est donnée par w/n1 . Ces probabilités seront utilisées par les agents pour
3.1. Apprendre à communiquer efficacement 43
Type agent
Type message Nb mess. envoyés A1 A2
M1 n1 w x
M2 n2 y z
Tableau 3.1: Exemple de tableau utilisé pour enregistrer le nombre de messages
reçus.
calculer l’utilité globale d’envoyer un certain message. L’utilité globale sera la somme
des utilités pour chacun des types d’agents pondérées par les probabilités que ces agents
reçoivent le message.
D’un autre côté, l’agent récepteur va pouvoir avoir une meilleure idée des messages
qui valent la peine d’être écoutés et ceux qu’il vaut mieux ignorer. Étant donné qu’un
agent peut voir, lors de la rencontre d’après simulation, tous les messages que les autres
agents auraient pu lui envoyer, alors il peut savoir dans quelles situations et quels agents
avaient des informations utiles pour lui. Par conséquent, l’agent va pouvoir avoir une
idée, dans les situations futures, des agents qu’il serait important d’écouter.
Pour ce faire, l’agent récepteur va gérer une base de cas contenant des cas indiquant
l’utilité d’écouter un certain type d’agent dans une certaine situation. Lorsqu’un agent
va recevoir un message lors de la rencontre lui demandant de calculer l’utilité de ce
message, il va mettre à jour sa base de cas. Si la description de l’agent et de la situation
correspondent à un cas déjà présent dans la base de cas, alors l’agent va modifier l’utilité
en attribuant à ce cas, la moyenne entre l’ancienne utilité et la nouvelle utilité. Si c’est un
nouveau cas, alors l’agent l’ajoute tout simplement dans sa base de cas, comme le montre
l’algorithme 3.2. Les cas contenus dans sa base de cas vont contenir les informations
suivantes :
– la description de l’agent qui l’a envoyé ;
– l’information contenu dans le message ;
– la description de la situation dans laquelle il aurait pu recevoir le message ;
– l’utilité moyenne des messages correspondant à ce cas.
Lors de ses expériences futures, l’agent va utiliser sa base de cas pour savoir s’il est
préférable de lire un message ou non. Pour estimer l’utilité de lire un certain message,
l’agent utilise la même stratégie que pour le calcul de l’utilité d’envoyer un message. Il
3.2. Apprentissage de l’environnement 44
Algorithme 3.2 Algorithme utilisé pour calculer l’utilité d’un message pour le récepteur
et mettre à jour la base de connaissances de ce dernier.
Procédure GESTION-MESSAGES-RECEPTEUR(émetteur, situation, message)
Entrée : émetteur : l’agent qui a envoyé le message.
situation : la situation au moment où le message aurait été envoyé.
message : le message reçu par l’agent.
Statique : BaseConnaissances : la base de connaissance de l’agent contenant tous les
messages avec la situation dans laquelle ils ont été reçus et leur estimation d’utilité.
um ← CALCULER-UTILITE(message)
Retourner um à l’émetteur.
Si DEJA-PRESENT(BaseConnaissances, émetteur, situation, message) Alors
ancienneU tilite ← UTILITE(BaseConnaissances, émetteur, situation, message)
nouvelleU tilite = (ancienneU tilite + um )/2
METTRE-A-JOUR-UTILITE(BaseConnaissances, émetteur, situation, message,
nouvelleUtilite)
Sinon
AJOUTER-CAS(BaseConnaissances, émetteur, situation, message, u m )
Fin Si
calcule donc une moyenne pondérée de tous les cas qu’il a dans sa base de cas en utilisant
l’équation 3.1.
Ainsi, le receveur pourra choisir plus judicieusement les messages qu’il convient
d’écouter. Ceci est important, car il n’a le temps d’en écouter qu’un nombre limité,
c’est pourquoi il doit pouvoir faire le bon choix pour ne pas perdre des informations
importantes ou tout simplement perdre son temps à lire des messages inutiles.
La technique présentée dans cette sous-section est une approche préconisant l’ap-
prentissage de l’environnement pour aider la coordination entre agents. Bien entendu,
comme l’apprentissage dans ce cas est très dépendant de l’environnement étudié, les
méthodes présentées seront un peu plus dépendantes du domaine d’application que les
méthodes précédentes. Les principes à la base de ces méthodes demeurent tout de même
généralisables à d’autres domaines d’application.
la meilleure façon d’aborder un désastre selon son emplacement dans la ville. De cette
manière, les agents pourraient avoir différentes stratégies adaptées à chacune des parties
de la ville. Ceci est semblable à ce que font de vrais pompiers : ils évoluent constam-
ment dans la même ville et ils connaissent donc les secteurs de la ville qui sont les plus
vulnérables, les plus importants, etc.
Compte tenu que les agents évoluent dans une simulation, ils ont un avantage sur les
vrais sauveteurs. Ils peuvent « détruire » la ville à plusieurs reprises pour tester différentes
stratégies de sauvetage. Ils peuvent partir des feux dans une certaine partie de la ville
et voir quelles sont les approches les plus efficaces pour solutionner le problème qu’ils
ont créé. Par exemple, ils pourraient identifier les routes les plus importantes à déblayer,
comment positionner les pompiers ou comment organiser les équipes de sauvetage, tout
cela dépendamment de où le désastre est situé dans la ville.
Pour apprendre quelles routes déblayer, les agents doivent identifier les routes les
plus importantes pour permettre à tous les autres agents de pouvoir se déplacer le plus
librement possible dans la simulation. Cela ne veut pas dire que les agents PoliceForce
vont avoir à déblayer toutes les routes. Ils ont uniquement à déblayer les routes qui sont
utilisées par les autres agents pour atteindre leurs buts. La question est donc de savoir
quelles sont les routes qui seront utilisées par les autres agents ?
Les agents PoliceForce doivent donc pouvoir apprendre quelles sont les routes les plus
utilisées par les autres agents. Cette information leur permettraient, lors de la simulation,
de se coordonner avec les autres agents en priorisant le déblaiement des routes les plus
utilisées. Par exemple, pour effectuer ce type d’apprentissage, plusieurs feux pourraient
être partis dans un secteur de la ville, avec toutes les routes libres. Par la suite, chaque
agent travaillant dans cette simulation pour éteindre les feux enregistrerait toutes les
routes qu’il a empruntées. Étant donné que toutes les routes sont déblayées, l’agent
emprunterait toujours les chemins optimaux pour se rendre d’un point à un autre. De
cette manière, à la fin de la simulation, toutes les routes auraient une valeur indiquant
le nombre de fois qu’elle a été parcourue.
Cette information pourrait être ensuite utilisée par les agents PoliceForce pour classer
les routes de la plus utilisée à la moins utilisée. Par conséquent, les agents pourraient
utiliser cette liste ordonnée de routes pour choisir les routes à déblayer si une situation
semblable se reproduit. Ce processus peut être reparti pour un autre secteur de la ville,
et ainsi de suite pour tous les secteurs de la ville. Le Tableau 3.2 donne un exemple
du tableau utilisé pour enregistrer le nombre de routes visitées selon l’emplacement des
feux. Dans le tableau, il y a cinq routes et trois secteurs. Chacune des lettres (a à o)
représente le nombre de fois que la route a été visitée lorsqu’il y avait un feu dans le
secteur en question. Par exemple, a est le nombre de fois que la route 1 a été visitée
lorsqu’il y avait des feux dans le secteur 1. Ce tableau permet aux agents PoliceForce,
lorsqu’ils sont informés de l’emplacement d’un feu, de savoir quelles sont les routes à
déblayer prioritairement.
3.3. Anticipation 46
Routes Secteurs
1 2 3
1 a b c
2 d e f
3 g h i
4 j k l
5 m n o
Tableau 3.2: Exemple de tableau utilisé pour enregistrer le nombre de routes
visitées selon l’emplacement des feux.
Par ailleurs, cette liste ne sera pas uniquement utilisée par les agents PoliceForce, les
autres agents mobiles, FireBrigade et AmbulanceTeam, vont pouvoir eux aussi utiliser
cette liste. Pour leur part, ils vont l’utiliser pour influencer leur algorithme donnant le
chemin à suivre pour se déplacer, c’est-à-dire que les agents vont favoriser les routes qui
sont les plus importantes. Pour se faire, ils vont pondérer chacune des routes par son
utilisation relative. L’agent va recevoir une liste contenant pour chaque route, le nombre
de fois qu’elle a été visitée. Il additionne toutes les valeurs pour obtenir le nombre total
de routes visitées (Nv ). Par exemple, si la route r1 a été visitée 12 fois et que Nv = 123,
alors l’algorithme utilisé pour calculer le chemin multipliera par 12/123 le coût pour
emprunter la route r1 . De cette façon, l’agent va donc apprendre une distribution de
probabilités sur les routes visitées. Cette distribution lui permet d’avoir une estimation
de la probabilité qu’une route soit empruntée si un feu se déclare dans un certain secteur.
En utilisant cette distribution de probabilités, les agents vont avoir tendance à utiliser
plus souvent les routes les plus importantes, et comme ce sont elles qui seront déblayées en
premier, il y a moins de chance que les routes empruntées par les agents soient bloquées.
Cette approche fait en sorte qu’il devient possible de changer de cartes facilement
parce qu’il suffira de relancer les algorithmes d’apprentissage pour que les agents puissent
adapter leur comportement à cette nouvelle ville, tout cela sans aucune programmation
de la part des concepteurs. De cette manière, toutes les connaissances spécifiques à la
ville vont être apprises par les agents et non programmées par les concepteurs.
3.3 Anticipation
Bien entendu, pour que l’anticipation soit efficace, les agents doivent pouvoir ap-
prendre comment le désastre évolue dans le temps et comment les actions des agents
interagissent avec l’environnement. Ceci peut être fait tout simplement en observant
l’évolution d’un désastre sur plusieurs simulations pour permettre aux agents d’anticiper
une telle évolution dans les simulations futures.
Par exemple, les agents FireBrigade pourraient apprendre combien de temps ça prend
pour éteindre un feu en essayant d’éteindre des feux dans plusieurs situations différentes.
Les agents auraient donc une estimation du temps nécessaire pour éteindre des feux dans
différentes situations, définies par les caractéristiques suivantes :
– La grandeur du bâtiment ;
– La composition du bâtiment (bois, structure en acier ou béton armé) ;
– L’intensité du feu ;
– L’état du bâtiment ;
– Le nombre d’agents FireBrigade présent pour éteindre le bâtiment ;
– La quantité d’eau utilisée.
Un autre exemple pourrait être, pour les agents PoliceForce, d’anticiper le temps
nécessaire pour déblayer une route. Un agent arrivant à une route, pourrait évaluer le
temps nécessaire pour la déblayer en tenant compte de la grandeur de la route et à quel
point elle est bloquée. Par la suite, il pourrait informer les autres agents que la route
devrait être déblayée au temps t. Cette information permettrait aux agents de favoriser
l’utilisation de cette route lors de la recherche de chemin, car ils sauraient qu’elle est
libre.
Ces estimations vont permettre aux agents d’anticiper plus précisément comment la
simulation évoluera. S’ils ont de meilleures anticipations, ils pourront construire des plans
à long terme plus précis. En partageant certaines informations sur leurs plans, comme
dans l’exemple au début de cette section, les agents pourraient se coordonner avec les
plans des autres agents. Autrement dit, les agents pourraient utiliser une adaptation à
notre cas de la technique de la planification globale partielle (PGP) [Durfee, 1988] pour
se coordonner.
Une autre manière d’anticiper serait de permettre aux agents d’apprendre un modèle
des autres agents. L’apprentissage de modèles des autres agents n’est vraiment pas une
tâche facile, surtout lorsque les agents apprennent et donc changent constamment. Malgré
le fait que les modèles sur les autres agents sont difficiles à maintenir, nous croyons que les
3.3. Anticipation 48
avantages de tels modèles font en sorte qu’ils sont tout même utiles même s’ils ne sont pas
mis à jour constamment. Nous proposons deux avenues pour simplifier la maintenance
des modèles.
Une première avenue est l’utilisation du concept de rencontre après pratique, utilisé
à la section 3.1.2 pour l’apprentissage de l’importance des messages. En fait, nous al-
lons utiliser cette rencontre comme opportunité de mettre à jour les modèles des autres
agents. Ces rencontres seront donc des moments propices à l’échange d’informations
sur les différents modèles décisionnels des agents. En faisant cela, les agents pourraient
conserver des modèles relativement justes des autres agents, même s’ils évoluent dans
un environnement temps réel. Par exemple, au moment de la rencontre, un agent Fire-
Brigade pourrait donner aux autres agents des informations sur la fonction qu’il utilise
pour choisir le feu à éteindre. Avec cette information, les agents PoliceForce pourraient
anticiper, sans aucun messages, le bâtiment que l’agent FireBrigade va éteindre et l’aider
à se rendre à ce bâtiment en déblayant les routes à l’avance.
Le fait de n’apprendre qu’un seul modèle par groupe d’agents et de mettre à jour ces
modèles régulièrement est un bon compromis qui permettra de gérer la complexité de
maintenir constamment un « bon modèle » des autres agents.
Pour les agents de même type, c’est-à-dire des agents homogènes, l’anticipation est
beaucoup plus facile. Comme les agents ont le même processus de raisonnement, il s’ensuit
qu’ils peuvent facilement reproduire le raisonnement d’un autre agent pour prédire ce
qu’il va faire. Bien entendu, le problème est au niveau des états respectifs des deux
agents. En effet, les agents ont uniquement des perceptions limitées, donc un agent ne
peut pas vraiment savoir ce qu’un autre agent voit, par conséquent, il se doit de faire
des « suppositions » sur ce que l’autre perçoit. Si les deux agents on une vision similaire
de la situation, alors la coordination sera facilitée. Toutefois, s’ils n’ont pas la même
vision, ils pourraient ne pas se coordonner efficacement, même si chacun d’eux essai
de se coordonner avec l’autre. Le travail de l’agent va donc être d’essayer d’estimer la
situation perçue par l’autre agent.
Dans le cas de la RoboCupRescue, on peut supposer que les agents situés dans la
même région ont sensiblement la même vision de la situation, donc deux agents proches
pourraient arriver à se coordonner sans avoir à communiquer. Toutefois, un autre pro-
blème est de savoir s’il y a un autre agent à proximité. Les agents ont une perception
locale ne les permettant pas de voir très loin, donc il se peut que deux agents soient dans
la même région, mais que les deux ne le sachent pas parce qu’ils ne peuvent pas se voir.
À ce moment, même s’ils sont des agents homogènes pensant de la même manière, ils
3.4. Contributions anticipées 49
Malgré le fait que les modèles sur les autres agents sont difficiles à maintenir, nous
croyons que les avantages de tels modèles font en sorte qu’ils sont tout même utiles même
s’ils ne sont pas mis à jour constamment. Nous proposons deux avenues pour simplifier
la maintenance des modèles. Une des avenues est l’utilisation du concept de rencontre
après pratique, non seulement comme moment où les agents analyseront leur trace, mais
aussi comme opportunité de mettre à jour les modèles des autres agents. Nous croyons
pouvoir permettre aux agents de conserver des modèles relativement justes des autres
agents, même s’ils évoluent dans un environnement temps réel.
Par ailleurs, nous proposons aussi certaines méthodes permettant aux agents d’ap-
prendre leur environnement et d’apprendre les interactions de leurs actions avec l’en-
vironnement. La méthode présentée pour l’apprentissage de l’environnement concernait
l’apprentissage de l’importance relative des routes selon l’emplacement des feux. Une
autre méthode permettait aux agents pompiers d’apprendre le temps nécessaire pour
éteindre un feu. Toutes ces méthodes d’apprentissage permettent aux agents d’apprendre
certains comportements de base leur permettant d’agir efficacement dans la simulation.
Un des apports de nos recherches visera également à analyser les interactions entres
les différentes méthodes d’apprentissage utilisées pour voir si elles se combinent bien pour
gérer la complexité d’un environnement partiellement observable, stochastique et temps
réel pour atteindre une bonne coordination entre les agents. L’étude des interactions
entre différentes méthodes d’apprentissage a été très peu étudié et nous croyons que cela
mérite des études plus approfondies.
Chapitre 4
Dans les chapitres précédents, nous avons présenté le type d’environnement qui nous
intéresse pour nos recherches. C’est-à-dire un environnement à la fois partiellement ob-
servables, stochastique, dynamiques et temps réel. Ces caractéristiques sont celles des
environnements réels. Dans ce type d’environnement complexe, nous nous intéressons à
la coordination entre agent et plus particulièrement à des méthodes permettant d’amé-
liorer cette coordination. Nous considérons donc des environnements contenant plusieurs
agents hétérogènes, c’est-à-dire possédant des capacités différentes. Il est facilement dé-
montrable que le système multiagent gagne énormément si les agents qui le compose
réussissent à se coordonner efficacement.
Il est maintenant venu le temps de présenter la plan de travail de cette thèse. Tout
d’abord, nous présenterons les travaux déjà effectués, pour par la suite présenté les
travaux restant à accomplir et finalement, nous présenterons le plan de la thèse, plaçant
ainsi dans le temps les différentes étapes restantes d’ici la fin de cette thèse. Pour bien
se replacer dans le contexte, revoici les différentes étapes de ces recherches qui ont été
présentées à la section 1.2 :
– Étude des approches existantes en apprentissage de la coordination ;
– Proposer des méthodes originales pour l’apprentissage de la coordination appli-
cables dans le type d’environnement décrit précédemment ;
– Implémentation des méthodes d’apprentissage dans l’environnement de test, c’est-
à-dire l’environnement de simulation de la RoboCupRescue (section 1.3.2) ;
– Montrer l’efficacité des méthodes proposées en analysant les résultats obtenus lors
des tests ;
50
4.1. Travaux effectués 51
Dans les sous-sections suivantes, nous présenterons plus en détails ce qui a été fait et
ce qui reste à faire pour l’achèvement des recherches en cours. Mais en résumé, les points
un, deux et une bonne partie du point trois ont été effectués, tandis qu’il reste le point
quatre et une partie du point trois à compléter.
Cette section présente les travaux qui ont été effectués jusqu’à ce jour. Les travaux
effectués peuvent se diviser en deux catégories. La première étant l’étude théorique de
la coordination, de l’apprentissage et de l’apprentissage de la coordination dans des sys-
tèmes multiagents. L’autre catégorie des travaux effectués a été l’implémentation d’une
équipe d’agents pour l’environnement de simulation de la RoboCupRescue. Les deux
sous-sections suivantes présentent plus en détails chacune de ces deux grandes catégories
de travaux.
Le premier travail effectué a été l’étude de l’état de l’art sur les algorithmes d’ap-
prentissage, de coordination entre agents logiciels et plus principalement sur les d’ap-
prentissage de la coordination entre agents. Pour ce faire, plusieurs livres et articles du
domaine ont été lus et analysés. Nous ne nous attarderons pas plus sur les détails de
l’étude théorique à ce moment, car on retrouve au chapitre 2 un bon résumé des princi-
pales méthodes existantes en lien avec nos recherches. Ce chapitre fait donc foi de l’étude
théorique qui a été effectuée.
Une autre partie importante a été, bien entendu, la conception de certaines techniques
d’apprentissage de la coordination entre agents pouvant être appliquées dans un tel
environnement. Au chapitre 3, nous pouvons voir une description des méthodes les plus
prometteuses. Mentionnons que cette conception est en perpétuel raffinement et qu’à ce
moment, nous en sommes rendus à l’implémentation et aux tests de certaines méthodes.
4.1. Travaux effectués 52
4.1.2 Implémentation
Présentement, nous avons une équipe complète d’agents pouvant évoluer dans l’en-
vironnement de simulation de la RoboCupRescue. D’ailleurs, nous avons réussi à nous
qualifier pour la compétition de la RoboCupRescue de l’été 2003 à Padova en Italie. Lors
de cette qualification, nous nous sommes classés sixième sur les 20 équipes qualifiées pour
la compétition, voir le Tableau 4.1. Ce résultat est très intéressant, car il montre le sérieux
de notre programme. De plus, nous croyons que les performances seront améliorées de
beaucoup lors de l’implémentation des méthodes d’apprentissage de la coordination pré-
sentées dans cette proposition de recherche. Par conséquent, nous sommes très impatient
de voir quelle sera notre performance lors de la compétition.
4.1.3 Résumé
Pour la suite des travaux, nous allons compléter l’implémentation des approches
d’apprentissage dont il a été mention au chapitre 3. Par la suite, nous effectuerons des
tests pour évaluer l’efficacité des agents et par le fait même des approches d’apprentissage.
Les travaux futurs incluront bien entendu l’écriture d’articles présentant les résultats
obtenus.
À court terme, le but est d’avoir une équipe fonctionnelle (au sens des systèmes
multiagents [Tambe and Zhang, 2000]) pour la compétition de l’été 2003. Après cette
compétition, nous continuerons d’appliquer une approche de travail itérative pour tenter
d’améliorer petit à petit la performance des algorithmes d’apprentissage de la coordina-
tion et par le fait même, la performance des agents.
Le plan de travail pour la suite de la thèse, présenté à la Figure 4.1, comprend les
points suivants :
1. Étudier les approches existantes en apprentissage de la coordination ;
2. Proposer des méthodes originales pour l’apprentissage de la coordination appli-
cables dans des environnements complexes comme celui de la RoboCupRescue ;
3. Analyser le fonctionnement du simulateur de la RoboCupRescue ;
4. Concevoir et implémenter une équipe d’agents pouvant évoluer dans l’environne-
ment de la RoboCupRescue ;
5. Spécifier et implémenter les méthodes d’apprentissage, proposées au point 2, dans
l’environnement de la RoboCupRescue ;
6. Analyser les résultats obtenus lors des tests en comparant sur plusieurs simulations
l’efficacité des agents avant et après l’utilisation de la méthode d’apprentissage.
7. Rédiger la thèse.
4.2. Travaux futurs 55
2003 2004
5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12
Sur le plan de la Figure 4.1, on peut voir que la tâche 1, qui consiste à étudier les
approches existantes, est effectuée à intervalles réguliers pour toujours se tenir au courant
des derniers développements. La deuxième étape est elle aussi effectuée régulièrement
pour ajuster les méthodes existantes ou en proposer de nouvelles, qui pourraient être
inspirées des résultats des tests.
Les tâches 5 et 6 sont faites en alternances tout au long des recherches pour indiquer
que l’on code et teste les différentes méthodes de manière itérative. Juste avant les
compétitions, au mois de juillet, les intervalles entre la programmation et les tests sont
plus rapprochés pour indiquer que l’on ajuste rapidement les derniers détails avant la
compétition.
À la fin de l’été 2004, il y a une bonne période d’analyse finale des résultats. Par la
suite, nous allons regarder s’il y a des propositions à faire pour des travaux futurs (tâche
2). La dernière session, celle de l’automne 2004, consistera à la rédaction de la thèse
(tâche 7).
4.3. Plan de la thèse 56
Conclusion
Pour les systèmes multiagents, la coordination s’avère très importante à obtenir, car
c’est celle-ci qui permet aux agents de pouvoir agir ensemble et bénéficier les uns des
autres, au lieu de se nuire. De plus, dans la majorité des systèmes réels, l’établissement
de politiques de coordination à priori est particulièrement difficile, voir même impossible,
étant donné la complexité des systèmes et des interactions possibles entre les agents. Il
est très difficile de pouvoir prévoir toutes les situations auxquelles les agents auront à
faire face et qu’elle est pour chacune de ces situations la politique de coordination la
plus efficace. C’est pourquoi l’apprentissage de la coordination est très intéressant pour
permettre aux agents d’adapter leurs politiques de coordination suivant les différentes
situations.
Dans cette proposition, nous avons présenté un état de l’art au chapitre 2 reflétant les
travaux effectués jusqu’à ce jour en apprentissage de la coordination dans des systèmes
multiagents. Partant de l’idée mise de l’avant par certains chercheurs concernant l’analyse
de traces d’exécution, nous avons proposé une idée originale qui vise à combiner à la fois
les situations d’échecs et les situations de succès pour permettre aux agents d’apprendre
à l’aide d’un plus grand nombre d’exemples.
57
Bibliographie
[Abul et al., 2000] Abul, O., Polat, F., and Alhajj, R. (2000). Multiagent Reinforcement
Learning Using Function Approximation. IEEE Transactions on Systems, Man, and
Cybernetics - Part C : Application and Reviews, 30(4).
[Ahmadi et al., 2002] Ahmadi, M., Sayyadian, M., and Habibi, J. (2002). A Learning
Method for Evaluating Messages in Multi-Agent Systems. In Proceedings of the Agent
Communication Languages and Conversation Policies, AAMAS’02 Workshop, Bolo-
gna, Italy.
[Alonso et al., 2001] Alonso, E., d’Inverno, M., Kudenko, D., Luck, M., and Noble, J.
(2001). Learning in Multi-Agent Systems. Technical report, Third Workshop of the
UK’s Special Interest Group on Multi-Agent Systems.
[Berenji and Vengerov, 1999] Berenji, H. R. and Vengerov, D. A. (1999). Cooperation
and Coordination Between Fuzzy Reinforcement Learning Agents in Continuous-State
Partially Observable Markov Decision Processes. In Proceedings of the 8th IEEE
International Conference on Fuzzy Systems (FUZZ-IEEE’99).
[Berenji and Vengerov, 2000] Berenji, H. R. and Vengerov, D. A. (2000). Learning, Co-
operation, and Coordination in Multi-Agent Systems. Technical Report IIS-00-10,
Intelligent Inference Systems Corp.
[Bernstein et al., 2002] Bernstein, D. S., Givan, R., Immerman, N., and Zilberstein, S.
(2002). The Complexity of Decentralized Control of Markov Decision Processes. To
appear in Mathematics of Operations Research.
[Bonarini and Trianni, 2001] Bonarini, A. and Trianni, V. (2001). Learning Fuzzy Clas-
sifier Systems for Multi-Agent Coordination. Information Sciences, 136 :215–239.
[Boutilier, 1996] Boutilier, C. (1996). Planning, Learning and Coordination in Mul-
tiagent Decision Processes. In Proceedings of TARK-96 : Theoretical Aspects of Ra-
tionality and Knowledge, De Zeeuwse Stromen, Hollande.
[Buffet, 2000] Buffet, O. (2000). Apprentissage par renforcement dans un système multi-
agents. Master’s thesis, Université Henri Poincarré - Nancy I.
[Bui et al., 1998] Bui, H. H., Venkatesh, S., and Kieronska, D. (1998). A Framework
for Coordination and Learning among Team of Agents. Lecture Notes in Computer
Science, 1441.
58
BIBLIOGRAPHIE 59
[Cassandra, 1998] Cassandra, A. R. (1998). Exact and approximate algorithms for par-
tially observable markov decision processes. PhD thesis, Brown University.
[Chalkiadakis and Boutilier, 2003] Chalkiadakis, G. and Boutilier, C. (2003). Coordina-
tion in Multiagent Reinforcement Learning : A Bayesian Approach. In Proceedings
of the Second International Joint Conference on Autonomous Agents and Multiagent
Systems (AAMAS-03), Melbourne, Australia.
[Claus and Boutilier, 1998] Claus, C. and Boutilier, C. (1998). The Dynamics of Rein-
forcement Learning in Cooperative Multiagent Systems. In Proceedings of the 15th
National Conference on Artificial Intelligence (AAAI-98), pages 746–752, Madison.
[Crites and Barto, 1998] Crites, R. H. and Barto, A. G. (1998). Elevator Group Control
Using Multiple Reinforcement Learning Agents. Machine Learning, 33(2-3) :235–262.
[Decker and Lesser, 1993] Decker, K. S. and Lesser, V. R. (1993). Quantitative Mo-
deling of Complex Environments. International Journal of Intelligence Systems in
Accounting, Finance, and Management, 2(4) :215–234. Special issue on Mathematical
and Computational Models of Organizations : Models and Characteristics of Agent
Behavior.
[Dietterich, 1998] Dietterich, T. G. (1998). The MAXQ Method for Hierarchical Reinfor-
cement Learning. In Proceedings of the International Conference on Machine Learning,
pages 118–126, San Francisco.
[Durfee, 1988] Durfee, E. H. (1988). Coordination of Distributed Problem Solvers. Klu-
wer Academic Press, Boston.
[Durfee and Lesser, 1989] Durfee, E. H. and Lesser, V. R. (1989). Negotiating Task De-
composition and Allocation Using Partial Global Planning. In Gasser, L. and Huhns,
M. N., editors, Distributed Artificial Intelligence, volume 2 of Research Notes in Arti-
ficial Intelligence, pages 229–243. Pitman.
[Dutech, 2000] Dutech, A. (2000). Solving POMDP Using Selected Past-Events. In
Proceedings of the 14th European Conference on Artificial Intelligence, ECAI2000.
[Dutech et al., 2001] Dutech, A., Buffet, O., and Charpillet, F. (2001). Multi-Agent
Systems by Incremental Gradient Reinforcement Learning. In Proceedings of the Se-
venteenth International Joint Conference on Artificial Intelligence IJCAI-01, pages
833–838, Seattle.
[Excelente-Toledo and Jennings, 2002] Excelente-Toledo, C. B. and Jennings, N. R.
(2002). Learning to Select a Coordination Mechanism. In Proceedings of the
First International Joint Conference on Autonomous Agents and Multiagent Systems
(AAMAS-02), Bologna, Italie.
[Garland and Alterman, 2001a] Garland, A. and Alterman, R. (2001a). Learning Proce-
dural Knowledge to Better Coordinate. In Proceedings of the Seventeenth International
Joint Conference on Artificial Intelligence IJCAI-01, pages 1073–1083, Seattle.
[Garland and Alterman, 2001b] Garland, A. and Alterman, R. (2001b). Learning to
Better Coordinate with Autonomous Agents. Technical Report CS-01-219, Brandeis
University, Computer Science Department.
BIBLIOGRAPHIE 60
[Mataric, 1997] Mataric, M. J. (1997). Learning Social Behavior. Robotics and Autono-
mous Systems, 20 :191–204.
[Mitchell, 1997] Mitchell, T. M. (1997). Machine Learning. WCB/McGraw-Hill, Boston.
[Nair et al., 2003] Nair, R., Tambe, M., and Marsella, S. (2003). Team Formation for
Reformation in Multiagent Domains like RoboCupRescue. In Kaminka, G., Lima, P.,
and Roja, R., editors, Proceedings of RoboCup-2002 International Symposium, Lecture
Notes in Computer Science. Springer Verlag.
[Noda, 2001] Noda, I. (2001). Rescue Simulation and Location-based Communication
Model. In Proc. of SCI-2001.
[Noda et al., 2002] Noda, I., Takahashi, T., Morita, S., Koto, T., and Tadokoro, S.
(2002). Language Design for Rescue Agents. In Birk, A., Coradeschi, S., and Tado-
koro, S., editors, RoboCup 2001, volume 2377 of Lecture Notes in Artificial Intelligence,
pages 164–172. Springer-Verlag.
[Nwana et al., 1996] Nwana, H. S., Lee, L. C., and Jennings, N. R. (1996). Coordination
in Software Agent Systems. The British Telecom Technical Journal, 14(4) :79–88.
[Ohta et al., 2001] Ohta, M., Takahashi, T., and Kitano, H. (2001). RoboCup-Rescue
Simulation : in case of Fire Fighting Planning. In Stone, P., Balch, T., and Kraetzsch-
mar, G., editors, RoboCup 2000, volume 2019 of Lecture Notes in Artificial Intelligence,
pages 351–356. Springer-Verlag.
[Paquet, 2001] Paquet, S. (2001). Coordination de plans d’agents : Application à la
gestion des ressources d’une frégate. Master’s thesis, Université Laval.
[Prasad et al., 1996] Prasad, M. N., Lesser, V., and Lander, S. (1996). Learning Organi-
zational Roles in a Heterogeneous Multi-Agent System. In Proceedings of the Second
International Conference on Multiagent Systems, pages 291–298.
[Prasad, 1997] Prasad, M. V. N. (1997). Learning Situation-Specific Control in Multi-
Agent Systems. PhD thesis, University of Massachusetts Amherst.
[Prasad and Lesser, 1996a] Prasad, M. V. N. and Lesser, V. (1996a). Learning Situation-
specific Coordination in Generalized Partial Global Planning. In Sen, S., editor, Wor-
king Notes for the AAAI Symposium on Adaptation, Co-evolution and Learning in
Multiagent Systems, pages 68–71, Stanford University, CA.
[Prasad and Lesser, 1996b] Prasad, M. V. N. and Lesser, V. R. (1996b). Off-line Lear-
ning of Coordination in Functionally Structured Agents for Distributed Data Pro-
cessing. In Workshop on Learning, Interaction and Organizations in Multiagent
Environments(ICMAS-96).
[Prasad and Lesser, 1997a] Prasad, M. V. N. and Lesser, V. R. (1997a). Learning Pro-
blem Solving Control in Cooperative Multi-agent Systems. In Workshop on Multi-
Agent Learning (AAAI-97), Providence, Rhode Island.
[Prasad and Lesser, 1997b] Prasad, M. V. N. and Lesser, V. R. (1997b). The Use of
Meta-level Information in Learning Situation-Specific Coordination. In Proceedings
of the Fifth International Joint Conference on Artificial Intelligence IJCAI-97, pages
640–646.
BIBLIOGRAPHIE 62
[Sutton and Barto, 1999] Sutton, R. S. and Barto, A. G. (1999). Reinforcement Lear-
ning. MIT press.
[Tadkoro et al., 2000] Tadkoro, S., Kitano, H., Takahashi, T., Noda, I., Matsubara, H.,
Shinjoh, A., Koto, T., Takeuchi, I., Takahashi, H., Matsuno, F., Hatayama, M., Ohta,
M., Tayama, M., Matsui, T., Kaneda, T., Chiba, R., Takeuchi, K., Nobe, J., Noguchi,
K., and Kuwata, Y. (2000). The RoboCup-Rescue : an IT challenge to emergency
response problem in disaster. In Industrial Electronics Society, 2000. IECON 2000.
26th Annual Conference of the IEEE. IEEE.
[Takahashi et al., 2002] Takahashi, T., Tadokoro, S., Ohta, M., and Ito, N. (2002). Agent
Based Approach in Disaster Rescue Simulation - From Test-Bed of Multiagent Sys-
tem to Practical Application. In Birk, A., Coradeschi, S., and Tadokoro, S., editors,
RoboCup 2001, volume 2377 of Lecture Notes in Artificial Intelligence, pages 102–111.
Springer-Verlag.
[Tambe and Zhang, 2000] Tambe, M. and Zhang, W. (2000). Towards flexible teamwork
in persistent teams : extended report. Journal of Autonomous Agents and Multi-agent
Systems, 3 :159–183.
[Tan, 1993] Tan, M. (1993). Multi-Agent Reinforcement Learning : Independant vs.
Cooperative Agents. In Proceedings of the Tenth International Conference on Machine
Learning, pages 330–337.
[Tumer et al., 2002] Tumer, K., Agogino, A. K., and Wolpert, D. H. (2002). Learning
Sequences of Actions in Collectives of Autonomous Agents. In Proceedings of the
First International Joint Conference on Autonomous Agents and Multiagent Systems
(AAMAS-02), Bologna, Italie.
[Veloso et al., 1999] Veloso, M., Stone, P., and Bowling, M. (1999). Anticipation : A
Key for Collaboration in a Team of Agents. In Proceedings of SPIE Sensor Fusion
and Decentralized Control in Robotic Systems II (SPIE’99).
[Watkins and Dayan, 1992] Watkins, C. J. C. H. and Dayan, P. (1992). Q-learning.
Machine Learning, 8 :279–292.
[Wolpert et al., 2001] Wolpert, D., Sill, J., and Tumer, K. (2001). Reinforcement Lear-
ning in Distributed Domains : Beyond Team Games. In Proceedings of the Seventeenth
National Conference on Artificial Intelligence, pages 819–824, Seattle, WA.
[Wolpert and Tumer, 2000] Wolpert, D. and Tumer, K. (2000). An Introduction to Col-
lective Intelligence. Technical Report NASA-ARC-IC-99-63, NASA Ames Research
Center.