Sie sind auf Seite 1von 69

Apprentissage de la coordination entre

agents dans un environnement


temps-réel complexe

Proposition de thèse

Par :
Sébastien Paquet

Directeur :
Professeur Brahim Chaib-draa

Comité d’encadrement :
Professeur Bernard Moulin
Professeur Guy Mineau

Département d’informatique et de génie logiciel


Université Laval, Ste-Foy, Québec, Canada
Mai 2003
Table des matières

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

2 État de l’art sur l’apprentissage de la coordination 15


2.1 Apprentissage de la coordination par renforcement . . . . . . . . . . . . . 15
2.1.1 Environnements de tests de type jeu . . . . . . . . . . . . . . . . 18
2.1.1.1 Processus de décision de Markov multiagent . . . . . . . 18
2.1.1.2 Fusion dynamique de MDP . . . . . . . . . . . . . . . . 19
2.1.1.3 Approche bayésienne pour la coordination . . . . . . . . 19
2.1.1.4 Modification de la fonction d’estimation . . . . . . . . . 20
2.1.2 Émergence de la coordination . . . . . . . . . . . . . . . . . . . . 20
2.1.2.1 Apprentissage par renforcement de manière incrémentielle 21
2.1.2.2 Tâche commune et renforcement global . . . . . . . . . . 22
2.1.2.3 Apprentissage isolé et concurrent . . . . . . . . . . . . . 22
2.1.2.4 Apprentissage sans communication . . . . . . . . . . . . 22
2.1.2.5 Observation des récompenses des autres agents . . . . . 23
2.1.3 Partage de perceptions ou d’expériences . . . . . . . . . . . . . . 23
2.1.4 Autres approches . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Apprentissage de la coordination à partir d’une trace . . . . . . . . . . . 26
2.2.1 Apprentissage de règles à partir de situations d’échecs . . . . . . . 27
2.2.2 Apprentissage à base de cas à partir de situations de succès . . . . 29
2.3 Autres méthodes d’apprentissage . . . . . . . . . . . . . . . . . . . . . . 31
2.4 Limitations des approches actuelles . . . . . . . . . . . . . . . . . . . . . 33

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

4 Plan de travail pour la thèse 50


4.1 Travaux effectués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.1 Étude théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.2 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.1.3 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2 Travaux futurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3 Plan de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5 Conclusion 57

ii
Table des figures

1.1 Organisation des communications. . . . . . . . . . . . . . . . . . . . . . . 10

3.1 Illustration des communications entre les agents lors de l’évaluation de


l’utilité d’un message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1 Plan de travail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

iii
Liste des tableaux

1.1 Comparaison des caractéristiques des environnements de la RoboCupRes-


cue et de la RoboCup Soccer [Kitano, 2000]. . . . . . . . . . . . . . . . . 12
1.2 Nombre maximal de messages. . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 Exemple de tableau utilisé pour enregistrer le nombre de messages reçus 43


3.2 Exemple de tableau utilisé pour enregistrer le nombre de routes visitées . 46

4.1 Pointage lors des qualifications. . . . . . . . . . . . . . . . . . . . . . . . 53

iv
Liste des Algorithmes

3.1 Algorithme utilisé pour calculer l’utilité d’un message. . . . . . . . . . . . 41


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. . . . . . . . . . . 44

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.

1.1 Coordination dans les systèmes multiagents

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.

Toutefois, dans la majorité des systèmes multiagents, il existe plusieurs interdépen-


dances entre les buts des agents, leurs capacités et les ressources qu’ils utilisent, donc
la coordination devient très importante. Pour résoudre des problèmes de coordination
efficacement, un agent doit pouvoir répondre à cette question : « Quelle est la meilleure
manière de coordonner mes efforts avec ceux des autres pour réaliser mes buts et ceux
de la collectivité ? ».

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].

1.1.1 Avantages de la coordination

Il convient de noter qu’il existe plusieurs avantages à favoriser la coopération dans


un système multiagent. Selon Durfee et Lesser [Durfee and Lesser, 1989], il existe quatre
buts génériques pour établir la coopération dans un groupe d’agents :
1. augmenter le taux de réussite des tâches grâce au parallélisme ;
2. augmenter le nombre de tâches réalisables grâce au partage de ressources (infor-
mation, expertise, dispositifs physiques, etc.) ;
3. augmenter les chances de finaliser des tâches en les dupliquant et en utilisant éven-
tuellement des modes de réalisation différents ;
4. diminuer les interférences entre les tâches en évitant les interactions négatives.

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

ressources (par exemple, puissance de traitement, mémoire, etc.), différentes res-


ponsabilités, différentes limitations, différents coûts de service, etc. Dans ces cas, les
agents doivent donc coordonner leurs activités pour pouvoir bénéficier efficacement
des capacités des autres agents.

1.1.2 Apprentissage de la coordination

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.

La deuxième approche consiste à définir toutes les conventions de coordination a


priori. C’est une bonne méthode pour attaquer rapidement un problème. Elle est simple
et rapide à appliquer, car le concepteur n’a qu’à définir toutes les règles de coordination
lui-même. Le problème ne vient pas de la complexité de définir des règles, mais de la
quantité de règles nécessaires pour obtenir une bonne coordination dans toutes les situa-
tions possibles. Dans des environnements complexes, le nombre de situations possibles
est immense et, par le fait même, le nombre de règles de coordination devient lui aussi
très grand. Par ailleurs, cette approche n’offre pas une grande flexibilité, car si l’envi-
ronnement change, les règles doivent être ajustées manuellement. La tâche peut devenir
rapidement fastidieuse si on a beaucoup de règles à maintenir et à ajuster manuellement.
Chaque changement mineur dans l’environnement peut donc demander un énorme travail
d’ajustement des règles.

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 possibles. 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.

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.

1.1.3 Comment atteindre une bonne coordination

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

Dans des environnements multiagents constitués d’agents hétérogènes, la coopération


entre les agents est particulièrement importante, car il n’y a aucun agent qui a toutes
1.2. La problématique 5

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.

Le type d’environnement considéré dans nos recherches consiste en des environne-


ments partiellement observables, stochastique, dynamiques et temps réel. Les agents ont
une vue partielle et très limitée de l’environnement. De plus, l’environnement comporte
des éléments stochastiques rendant la prédiction de son évolution et des effets des ac-
tions très compliquée. Ceci ajoute donc de l’incertitude au niveau des agents parce qu’ils
ne peuvent pas connaı̂tre totalement l’influence qu’ils ont sur l’environnement. De sur-
croı̂t, l’environnement est en constante transformation. Les agents doivent donc agir
rapidement, ne pouvant pas se permettre de « réfléchir » trop longtemps. Dans ce type
d’environnement temps réel, il est préférable que les agents effectuent une action de qua-
lité moindre tout de suite, plutôt que de ne rien faire et d’attendre d’avoir trouvé la
meilleure solution. On peut résumer cela en disant qu’une mauvaise réponse maintenant
est meilleure qu’une réponse optimale plus tard puisque la situation aura changé et que
la solution ne sera plus optimale pour la situation présente.

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.

La transmission de données à travers une constellation de satellites est un exemple


d’environnement possédant de telles caractéristiques de communications. Ce problème
très important pour la NASA consiste à trouver un moyen optimal de transmettre des
informations vers la Terre à partir de planètes éloignées en empruntant des satellites
de communications [Wolpert et al., 2001]. Chaque satellite a des limitations matérielles
l’empêchant de gérer tous les messages (capacité d’emmagasinage, largeur de la bande
passante, puissance, etc.). Le but est évidemment de diminuer le nombre de messages
perdus.

L’environnement décrit jusqu’à présent est un environnement très complexe, mais


aussi l’un des environnements les plus importants à étudier. Les caractéristiques men-
tionnées sont en fait des caractéristiques présentes dans plusieurs environnements réels
comme la conduite automatique d’une voiture, les robots évoluant dans des environne-
ments réels, etc.
1.3. RoboCup 6

Le problème est de gérer efficacement un systèmes multiagents hétérogènes dans ce


type d’environnement. Comme il a été mentionné, les agents évoluant dans un tel envi-
ronnement doivent coopérer et se coordonner avec les autres agents pour non seulement
pouvoir accomplir leurs buts, mais aussi pour pouvoir le faire efficacement, c’est-à-dire en
obtenant les meilleurs résultats possibles et dans les meilleurs délais possibles. Toutefois,
vu la complexité de l’environnement, la coordination entre les agents devient très ardue
à obtenir et à maintenir.

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.

La problématique de nos recherches consiste à développer et à étudier l’efficacité


de méthodes d’apprentissage appliquées à l’amélioration et à la maintenance de la co-
ordination entre agents évoluant dans le type d’environnement décrit plus haut. Plus
spécifiquement, les objectifs de nos recherches visent à :
– Étudier 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émenter des méthodes d’apprentissage dans l’environnement de test ;
– Montrer l’efficacité des méthodes proposées en analysant les résultats obtenus lors
des tests.

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

Le projet de simulation de la RoboCupRescue est un des pôles d’activité de la fédé-


ration RoboCup. Les sous-sections qui suivent présenteront la fédération RoboCup et la
branche de la RoboCupRescue.
1.3. RoboCup 7

1.3.1 La fédération 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.

Depuis, les activités de la RoboCup se sont diversifiées en ajoutant un nouveau pôle


d’activités portant le nom de la RoboCupRescue [RoboCupRescue, 2003]. Les activités
de celle-ci sont orientées autour des catastrophes naturelles et des désastres en général.
Elle se décompose en deux axes de recherche différents :
– Le premier axe étudie le développement de robots sauveteurs et se nomme « Re-
scue Robot League ». Son principal objectif est l’étude des capacités individuelles
requises par de tels robots pour effectuer des opérations de sauvetage ainsi que
de leurs possibilités de collaboration pour accomplir des tâches spécifiques. Par
exemple, de tels robots peuvent descendre dans des amoncellements de débris afin
d’y localiser des corps et d’orienter les efforts de sauvetage des équipes de secours
qui creusent à la surface.
– Pour sa part, le deuxième axe étudie le travail d’agents logiciels, représentant des
équipes de sauvetage, évoluant dans une simulation de catastrophe naturelle à l’in-
térieure d’une ville. Ce deuxième axe se nomme « Rescue Simulation League ». Il
se concentre principalement sur l’étude de stratégies de planification et de coor-
dination d’équipes de sauvetage. L’objectif des équipes qui prennent part à cette
compétition consiste à minimiser les dégâts causés par un tremblement de terre
simulé sur ordinateur, c’est-à-dire minimiser le nombre de morts et de bâtisses dé-
truites par le feu. Pour cela, ces équipes disposent d’agents logiciels représentant
des équipes de pompiers, des équipes de policiers et des équipes paramédicales.

1.3.2 Environnement de simulation de la RoboCupRescue

Le but de la partie simulation de la RoboCupRescue est d’étudier des stratégies de


sauvetage, ainsi que des stratégies de collaboration et de coordination entre les diffé-
rentes équipes de secours [Takahashi et al., 2002]. Les participants au championnat de la
RoboCupRescue doivent développer des agents logiciels représentant des équipes de pom-
piers, des équipes de polices et des équipes paramédicales, pour gérer le mieux possible
la catastrophe. Ces agents doivent :
– arriver à déterminer où sont les urgences prioritaires,
1.3. RoboCup 8

– 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.

La RoboCupRescue est un environnement offrant un banc d’essaie complexe ayant


plusieurs opportunités de recherche en systèmes multiagents ou, plus généralement, en
intelligence artificielle [Kitano et al., 1999]. Ces opportunités apparaissent dans des do-
maines comme :
– La Planification multiagent où plusieurs agents hétérogènes doivent planifier et agir
dans un environnement hostile et en constant changement.
– La Planification en tout temps ou en temps réel où les agents doivent planifier sous
des contraintes de temps réels très strictes.
– La Planification robuste où la planification doit pouvoir se faire avec des informa-
tions incomplètes et où le système de planification doit pouvoir replanifier effica-
cement si certaines informations changent.
– La Gestion des ressources où les ressources dans la simulation sont très limi-
tées, donc il devient important de bien les gérer pour en retirer le maximum. Par
exemple, on doit pouvoir positionner efficacement les pompiers disponibles et gérer
efficacement le niveau d’eau des camions de pompiers.
– La Recherche d’information où l’agent doit pouvoir planifier explicitement des ac-
tions de recherche d’informations pour permettre aux agents d’avoir une meilleure
vision de la situation.

1.3.2.1 Agents

Actuellement, dans la simulation, il y a une centaine d’agents représentant des groupes


de personnes devant interagir les uns avec les autres. Les différents types d’agents sont
les suivants :
Familles de civils : Ces agents sont les seuls agents gérés par le simulateur. Il peut
y avoir entre 70 et 90 civils dans la simulation. Ils peuvent communiquer à voix
haute avec les autres agents s’ils sont à une distance de moins de 30 mètres de ces
agents [Noda et al., 2002].
Brigades de pompiers : Il peut y avoir de 10 à 15 agents de ce type dont le but est
d’éteindre les incendies. Ils sont en contact radio entre eux et avec leur caserne.
1.3. RoboCup 9

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.

Cette organisation des communications a pour effet de limiter la liberté de commu-


nication des agents. Par exemple, un agent FireBrigade ne peut pas envoyer un message
directement à un agent PoliceForce. Le message va devoir passer de l’agent FireBrigade,
à l’agent FireStation, à l’agent PoliceOffice et finalement à l’agent PoliceForce. Comme
on peut le voir, il faut au moins trois étapes pour qu’un message puisse aller d’un agent
FireBrigade à un agent PoliceForce.

1.3.2.2 Complexité de l’environnement

L’environnement de simulation de la RoboCupRescue est un environnement complexe


imposant plusieurs contraintes comme :
– une contrainte de temps réel sur le temps de réponse des agents, car ils doivent
1.3. RoboCup 11

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.

Dans la simulation, les agents n’ont qu’une perception locale de l’environnement,


puisqu’ils ne perçoivent que ce qui les entourent à une distance maximale de 30 mètres.
Par conséquent, aucun agent n’a une connaissance complète de l’état global de l’environ-
nement. La RoboCupRescue est donc un domaine partiellement observable collective-
ment [Nair et al., 2003], ce qui veut dire que même en regroupant toutes les perceptions
de tous les agents, ceux-ci n’auraient toujours pas une vision parfaite de l’environne-
ment. Cette incertitude complique le problème grandement. Les agents vont donc devoir
explorer l’environnement et ils ne pourront pas simplement travailler sur les problèmes
visibles. Même s’ils ne pourront pas avoir une vue parfaite de la situation, ils devront
tout de même communiquer pour obtenir une meilleure vision de la situation.

L’environnement de simulation de la RoboCupRescue est un environnement conte-


nant plusieurs caractéristiques le rendant très intéressant pour l’étude des systèmes mul-
tiagents. Plusieurs de ces caractéristiques constituent de grands défis pour les systèmes
multiagents et c’est pourquoi nous le considérons comme un très bon environnement de
test pour l’étude des algorithmes multiagents. Le Tableau 1.1 montre une comparaison
entre l’environnement de la RoboCup Soccer et celui de la RoboCupRescue. Les ca-
ractéristiques représentant les problèmes les plus complexes de la RoboCupRescue sont
affichées en caractères gras.

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

Tableau 1.1: Comparaison des caractéristiques des environnements de la Robo-


CupRescue et de la RoboCup Soccer [Kitano, 2000].
Caractéristiques RoboCupRescue RoboCup Soccer
Nombre d’agents 100 ou plus 11 par équipe
Agents dans l’équipe Hétérogènes Homogènes
Logistique Problème complexe Pas un problème
Planification à long terme Problème complexe Moins important
Collaboration émergente Problème complexe Pas un problème
Hostilité Environnement Joueurs adverses
Temps réel Sec- Min mSec
Accès à l’information Très mauvais Raisonnablement bon
Représentation Hybride Non-Symbolique
Contrôle Distribué/Semi-Central Distribué

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.

Une autre problème complexe de la simulation de la RoboCupRescue, identifié par


Hiroaki Kitano, est la collaboration émergente. Comme il a été vu précédemment, les
agents doivent collaborer, mais cette collaboration doit être émergente ou évolutive pour
donner de la flexibilité aux agents. Les agents ont à faire face à plusieurs situations
différentes dans la simulation, donc il serait intéressant si les agents pouvaient apprendre
à adapter leurs stratégies de collaboration selon la situation actuelle.

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

Tableau 1.2: Le nombre maximal de messages qu’un agent peut recevoir ou


envoyer durant un tour de la simulation. n est le nombre d’agents mobiles du
même type que l’agent centre.
Types d’agent Recevoir Envoyer
Agents mobiles 4 4
Agents centres 2n 2n

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.

Par ailleurs, les communications dans la RoboCupRescue sont des communications


situées [Noda, 2001], c’est-à-dire que l’information contenu dans le message dépend beau-
coup de la localisation de cette information sur la carte. Une information indiquant un
feu est inutile si l’agent ne transmet pas la position du feu. Pour les communications
entre agents, la complexité survient au moment de décider si un message est important à
écouter ou non. Par exemple, un message provenant d’un agent proche a plus de chance
d’être utile et pertinent qu’un message provenant d’un agent éloigné. Par conséquent,
pour choisir efficacement les messages à écouter, chaque agent devra avoir une idée de
la position des autres agents sur la carte. Ceci peut être très compliqué, car les agents
bougent tout le temps.

1.3.3 Banc d’essai pour l’apprentissage de la coordination

Comme on peut le voir, l’environnement multiagent de simulation de la RoboCupRes-


cue est composé d’agents hétérogènes qui, pris individuellement, ont une capacité d’action
1.3. RoboCup 14

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.

Compte tenu des caractéristiques de l’environnement de simulation de la RoboCu-


pRescue qui ont été présentées à la section 1.3.2, nous croyons qu’il représente un ex-
cellent banc d’essai pour l’étude des algorithmes d’apprentissage de la coordination dans
un environnement temps réel complexe de situations d’urgence. Voici certains avantages
de l’utilisation de l’environnement de simulation de la RoboCupRescue comme banc
d’essai :
– L’environnement est suffisamment complexe pour être réaliste.
– Il est facilement accessible.
– Il couvre la majorité des problématiques multiagents.
– Il permet de faire des comparaisons directes entre les approches des différentes
équipes.
– Mais surtout, il offre plusieurs opportunités pour l’apprentissage multiagent et
certaines seront montrées dans cette proposition.
Chapitre 2

État de l’art sur l’apprentissage de


la coordination

L’apprentissage de la coordination entre agents logiciels est un domaine relativement


récent. Dans ce chapitre, quelques méthodes déjà utilisées pour l’apprentissage de la
coordination seront présentées. Cet état de l’art ne se veut pas exhaustif, mais tout de
même très représentatif des travaux effectués dans le domaine.

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.

2.1 Apprentissage de la coordination par renforce-


ment

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.

On pourrait penser à une approche décentralisée, mais il n’est malheureusement pas


évident de résoudre le problème en utilisant une telle approche. Il y a deux difficultés
principales à cela :
1. Les transitions sont incertaines. Les autres agents sont des éléments imprévisibles
de l’environnement, de sorte que les transitions d’un état du système à un autre
vues par un agent sont incertaines.
2. L’environnement est partiellement observable. Comme la perception des agents est
locale, ils ne peuvent pas connaı̂tre l’état global du système. Par conséquent, un
tel type de problème est classé comme un modèle de décisions de Markov partielle-
ment observable (POMDP). Toutefois, comme l’a montré Dutech [Dutech, 2000],
les techniques classiques des POMDP sont pratiquement impossibles à utiliser lors-
qu’il y a plus de 100 états.

Comme on peut le voir, les méthodes d’apprentissage par renforcement classiques


demandent une certaine adaptation pour pouvoir être utilisées dans des environnements
multiagents. Les sous-sections suivantes présentent quelques méthodes d’apprentissage
par renforcement utilisées pour l’apprentissage de la coordination entre agents logiciels.
Les méthodes ont été classées en quatre groupes principaux :
1. Les méthodes utilisant des environnements de tests de type jeu au sens de la théorie
des jeux ;
2. Les méthodes où la coordination émerge sans que les agents ne tiennent réellement
compte les uns des autres ;
3. Les méthodes où les agents partagent leurs perceptions et/ou leurs expériences
pour améliorer leur coordination ;
4. Et finalement, les autres approches regroupant les méthodes ne rentrant pas dans
les trois première catégories.
2.1. Apprentissage de la coordination par renforcement 18

2.1.1 Environnements de tests de type jeu

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].

2.1.1.1 Processus de décision de Markov multiagent

Dans un processus de décision de Markov multiagent (MMDP : multiagent Markov


decision process), le système multiagent est modélisé comme s’il n’y avait qu’un seul agent
dont le but est de produire une politique optimale pour le MDP conjoint [Boutilier, 1996].
Un MDP conjoint est un MDP standard, mais contenant tous les états possibles de tous
les agents et toutes les actions possibles de tous les agents. Une des difficultés de traiter un
MMDP comme un MDP standard, dans lequel les actions sont implémentées de manière
distribuée, est la coordination entre les agents. En général, il y a plus qu’une politique
optimale pour un MDP. Comme chaque agent peut choisir sa politique individuelle en se
basant sur une politique optimale conjointe, il n’y a aucune garantie que tous les agents
vont choisir la même politique conjointe. Les agents doivent donc se coordonner pour
choisir la même politique optimale conjointe. Le but ici est que les actions accomplies
par chacun des individus puissent être coordonnées avec les activités des autres agents
de manière à obtenir un comportement global optimal. Tous les agents sont intéressés
à la coordination car une action conjointe optimale est individuellement optimale pour
chaque agent.

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.

2.1.1.2 Fusion dynamique de MDP

Une stratégie générale pour accélérer l’apprentissage de la coordination pour l’accom-


plissement de tâches multiagents est de réutiliser les solutions trouvées pour les tâches
lorsque chaque agent agit individuellement [Ghavamzadeh and Mahadevan, 2002]. Pour
réaliser cela, Ghavamzadeh et Mahadevan utilisent la fusion dynamique de solutions
qui sont représentées par des processus de décisions de Markov(MDP). Chaque MDP
représente la solution individuelle de l’agent lorsqu’il agit seul. La fusion de tous ces
MDPs donne la solution pour le MDP multiagent global lorsque tous les agents agissent
ensemble. Ils utilisent un nouvel algorithme d’apprentissage utilisant des méthodes de
différences temporelles qu’ils ont appelé MAPLE (MultiAgent Policy LEarning). Cet
algorithme utilise le Q-learning et la fusion dynamique pour construire des solutions
globales efficaces pour le problème multiagent complet à partir des solutions aux MDPs
individuels.

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.

2.1.1.3 Approche bayésienne pour la coordination

Un des problèmes en apprentissage par renforcement multiagent est d’assurer la


convergence des algorithmes vers un équilibre désirable. Comme pour les algorithmes
standards d’apprentissage par renforcement, la convergence demande une exploration
suffisante de l’espace des stratégies. Toutefois, l’exploration vient avec un coût en terme
de pénalités ou d’opportunités manquées. Dans un cadre multiagent, le problème se
complexifie parce que les agents doivent coordonner leurs politiques. Une des approches
pour gérer le problème d’exploration est celle proposée par Chalkiadakis et Boutilier
[Chalkiadakis and Boutilier, 2003] qui utilisent un modèle bayésien permettant de pon-
dérer les explorations par rapport aux bénéfices espérés en utilisant la notion de valeur
d’information.

Contrairement aux modèles standard d’apprentissage par renforcement, le côté mul-


2.1. Apprentissage de la coordination par renforcement 20

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.

2.1.1.4 Modification de la fonction d’estimation

Kapetanakis et Kudenko ont travaillé à modifier la stratégie de sélection des ac-


tions dans l’algorithme du Q-learning en proposant une nouvelle fonction d’estimation
de l’utilité d’une action [Kapetanakis and Kudenko, 2002]. Un des problèmes avec la ma-
jorité des méthodes d’apprentissage par renforcement est qu’elles ne garantissent pas la
convergence vers l’action conjointe optimale dans les scénarios où des pénalités fortes
sont associées à des situations de mauvaise coordination. Même des approches où les
agents construisent des modèles prédictifs des autres agents (appelés « joint action lear-
ners ») n’ont pas réussi à montrer la convergence vers l’action conjointe optimale dans
ce type de cas difficiles [Claus and Boutilier, 1998]. En modifiant la fonction de sélec-
tion des actions, Kapetanakis et Kudenko ont montré qu’il était possible d’augmenter
la probabilité d’obtenir la convergence vers l’action conjointe optimale. En fait, ils ont
pratiquement atteint une probabilité de 100%. Ceci signifie que, dans presque tous les
cas, les agents réussissaient à converger vers l’action conjointe optimale. La plus grosse
limitation de cette approche vient de la simplicité du problème étudié puisqu’ils ont
étudié leur algorithme dans un jeu à seulement deux agents ayant chacun trois actions
possibles.

2.1.2 Émergence de la coordination

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.

2.1.2.1 Apprentissage par renforcement de manière incrémentielle

L’idée principale derrière l’apprentissage incrémentiel (présenté Dutech, Buffet et


Charpillet [Dutech et al., 2001]) consiste à augmenter progressivement la complexité du
problème. Chaque agent exécute sa version locale de l’algorithme d’apprentissage par
renforcement et, pour accélérer l’apprentissage et réduire les problèmes de complexité
et d’assignation du renforcement, on utilise une méthode d’apprentissage incrémentielle.
La partie incrémentielle de l’apprentissage est effectuée selon deux axes :
1. Un nombre croissant d’agents. L’apprentissage commence avec un petit nombre
d’agents, chacun d’eux apprenant leur propre stratégie. Évidemment, il doit y avoir
suffisamment d’agents pour résoudre le problème. On ajoute alors progressivement
des agents en leur donnant la politique des agents originaux et cette politique peut
être ensuite raffinée par apprentissage.
2. Tâches progressives. Au début, les tâches à exécuter sont proches (en terme du
nombre d’actions) d’une position ayant un renforcement positif. Par exemple, les
premières tâches sont celles où les agents sont placés dans des situations où ils
n’ont qu’une action à effectuer pour atteindre leur but. L’apprentissage commence
donc avec une version très simple de la tâche à exécuter ou une tâche dans laquelle
les agents sont fortement guidés pour la résoudre. Par la suite, plus l’apprentissage
progresse, plus la tâche devient difficile, généralement en donnant plus de liberté
d’action aux agents. De cette manière, les agents ont déjà un comportement de
base sur lequel ils peuvent se baser pour travailler dans la situation plus complexe.

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

L’idée d’effectuer l’apprentissage de manière incrémentielle est intéressante, mais ils


ne l’ont expérimentée que sur un problème très simple, soit une grille de 10x10 où les
agents devaient pousser des blocs les uns sur les autres. Par ailleurs, leur approche est très
dépendante de l’application visée, car il faut définir les différents essais de complexités
progressives. Si les agents évoluent dans un environnement plus complexe, alors il n’est
pas évident que les comportements de base appris par les agents lors des tâches les plus
faciles seront aussi facilement utilisables dans les tâches plus complexes.

2.1.2.2 Tâche commune et renforcement global

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.

2.1.2.3 Apprentissage isolé et concurrent

Une autre approche, semblable à la précédente, est l’apprentissage isolé et concur-


rent de Sen et Weiss [Sen and Weiss, 2000]. Dans cette approche, chaque agent essai de
maximiser le renforcement qu’il reçoit de l’environnement, mais sans tenir compte des
autres agents dans l’environnement. En d’autres mots, les autres agents sont vus comme
faisant parti de l’environnement. Cette méthode possède plusieurs limitations, car elle
ne génère pas une bonne coordination entre les agents lorsque les actions des agents sont
fortement couplées (les actions d’un agent affectant souvent et fortement les plans des
autres agents), lorsque le retour de l’environnement est retardé et lorsqu’il n’y a pas
beaucoup de combinaisons de comportement optimal.

2.1.2.4 Apprentissage sans communication

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.

2.1.2.5 Observation des récompenses des autres agents

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.

2.1.3 Partage de perceptions ou d’expériences

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.

Tan [Tan, 1993] a étudié l’utilisation de l’apprentissage par renforcement dans un


environnement proie-prédateur sous forme d’une grille de 10x10. Le but des prédateurs
est d’encercler la proie. Les prédateurs sont des agents apprenant avec une perception
limitée, tandis que la proie n’apprend pas. Tan a étudié des cas où les agents partagent
leurs perceptions pour pallier à la limitation de la portée des capteurs. En plus, il a aussi
étudié le partage de politique apprise par renforcement et l’échange d’épisodes entre les
2.1. Apprentissage de la coordination par renforcement 24

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.

Un des problèmes en apprentissage par renforcement survient lorsque le nombre


d’états possibles devient trop grand. Dans ce cas, les algorithmes sont très lents à conver-
ger vers une solution satisfaisante. Berenji et Vengerov [Berenji and Vengerov, 1999,
Berenji and Vengerov, 2000] proposent de décrire les états à la l’aide de la logique floue
pour permettre de diminuer le nombre d’états. Par ailleurs, ils permettent aussi aux
agents de partager leur expériences en partageant les valeurs apprises par l’algorithme
de Q-learning. Ils ont montré que K agents coopératifs apprenant dans des mondes
séparés pendant N pas de temps étaient plus performant que K agents indépendants
apprenant pendant K ∗ N pas de temps. Ils n’ont pas vraiment présenté un algorithme
d’apprentissage de la coordination, mais leur approche pour la représentation des états
pourrait s’avérer utile.

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

approche, les agents ne modélisent pas la tâche du groupe. Le comportement de groupe


émerge de l’apprentissage. Pour ce faire, lorsqu’un agent reçoit un renforcement, il le
transmet aux agents les plus susceptibles d’avoir contribuer activement (en aidant) ou
passivement (en ne nuisant pas) à ce renforcement. Ils ont testé leur approche dans
l’environnement de simulation de la RoboCup Soccer. Puisque dans cet environnement
les communications ne sont reçues qu’à une certaine distance de l’agent a, alors se sont
uniquement les agents les plus proches de a qui vont recevoir ce renforcement. De cette
manière, seuls les agents les plus susceptibles d’avoir aidé reçoivent le renforcement.

2.1.4 Autres approches

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.

Makar, Mahadevan et Ghavamzadeh [Makar et al., 2001, Ghavamzadeh et al., 2001]


utilisent une structure hiérarchique pour l’apprentissage par renforcement de manière à
accélérer l’apprentissage de tâches coopératives par les agents. Chaque agent utilise la
même hiérarchie de tâches, sous forme d’une décomposition MAXQ [Dietterich, 1998],
pour décomposer la tâche principale en sous tâches. L’apprentissage de la coordination
entre les agents est effectué en utilisant des actions conjointes au plus haut niveau de la
hiérarchie. Par conséquent, les noeuds au plus haut niveau de la hiérarchie représentent
l’espace tâche-action pour plusieurs agents. Dans cette approche, chaque agent connaı̂t
seulement ce que les autres agents font au niveau des sous-tâches et ils ne connaissent
pas ce que les autres agents font au niveau des actions primitives. L’approche hiérar-
chique permet aux agents d’apprendre à se coordonner plus rapidement en partageant
des informations au niveau des sous-tâches, plutôt que d’essayer de coordonner leurs
actions au niveau des actions primitives. Un point intéressant de cette approche est l’uti-
lisation d’une structure hiérarchique pour accélérer l’apprentissage de la coordination.
Cette structure hiérarchique permet à l’apprentissage par renforcement d’être appliqué
à des domaines plus complexes en utilisant la décomposition de la tâche pour restreindre
l’espace des politiques à considérer. Par ailleurs, comme les agents ne communiquent
qu’à un niveau élevé et que les sous-tâches de plus haut niveau prennent généralement
plus de temps, alors les agents n’auront à communiquer que très peu fréquemment. Le
canal de communication entre les agents est donc peu chargé.

2.2 Apprentissage de la coordination à partir d’une


trace

Avec les approches d’apprentissage par renforcement, présentées à la section précé-


dente, les agents apprennent en modifiant la probabilité de choisir une certaine action
dans une situation donnée. Ils apprennent à la fois des situations qui réussissent (récom-
penses positives) que des situations qui échouent (récompenses négatives). L’apprentis-
sage ne s’effectue toutefois que de manière purement statistique, à l’aide des récompenses
reçues.

D’autres méthodes ont plutôt tendance à effectuer l’apprentissage en tentant d’ex-


pliquer les résultats obtenus. Avec de telles méthodes, les agents analysent la situation
passée de manière à en faire ressortir les causes de la réussite où de l’échec de leurs
2.2. Apprentissage de la coordination à partir d’une trace 27

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.

2.2.1 Apprentissage de règles à partir de situations d’échecs

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

Les connaissances retournées à la sortie du processus d’apprentissage sont sous forme


de règles de contrôle permettant à l’agent d’acquérir les informations non-locales néces-
saires et suffisantes pour prendre de bonnes décisions localement. Par exemple, les agents
doivent choisir la tâche appropriée pour satisfaire leur but et ils doivent déterminer la
priorité qui doit être attribuée à cette tâche pour que l’exécution de la tâche soit co-
ordonnée avec les tâches des autres agents. Pour que leurs actions soient coordonnées,
les agents ont potentiellement besoin d’avoir des informations détaillées à propos des
activités présentes et planifiées des autres agents et les informations que ces agents ont
acquises à propos des caractéristiques de l’environnement et les résultats partiels qu’ils
ont obtenus. Il est toutefois coûteux de recevoir et d’analyser toutes ces données non-
locales d’autant plus que seulement une petite partie de ces informations est nécessaire
pour coordonner efficacement les actions des agents.

Par conséquent, d’un côté, un manque d’informations non-locales peut amener un


agent à exécuter des tâches redondantes ou non-nécessaires. D’un autre côté, la trans-
mission d’informations inutiles :
– peut contribuer à surcharger le canal de communication ;
– peut demander beaucoup de temps de calcul pour les agents pour rassembler l’infor-
mation à transmettre et assimiler les informations dans leur base de connaissances
locales ;
– peut distraire un agent, l’amenant à retarder l’exécution d’une action importante.

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.

Les connaissances utilisées par le processus d’apprentissage comprennent une collec-


tion de règles et de procédures pour : reconnaı̂tre les situations où il y a un comportement
incohérent, identifier les contrôles de décision qui ont mené à ce comportement et modi-
fier ces contrôles ou les remplacer par de nouveaux processus de décision qui corrigent les
contrôles inappropriés. Quand une situation indésirable, appelée un problème d’analyse
d’apprentissage par les auteurs de la méthode (learning analysis problem (LAP)), est dé-
tectée par un agent, le module d’apprentissage de cet agent effectue les étapes suivantes
en se basant sur les traces des activités enregistrées par cet agent et celles des autres
agents :
1. Déterminer les tâches et les messages du courant dominant. Dans cette première
étape, l’agent identifie les tâches et les messages qui ont contribué à la réalisation
du résultat final.
2. Détecter les LAP. L’agent identifie dans la trace, les tâches qui ont mené à l’ob-
2.2. Apprentissage de la coordination à partir d’une trace 29

servation de situations indésirables en se basant sur l’analyse des tâches et des


messages du courant dominant.
3. Analyser la structure des tâches. L’agent construit la vue locale de la structure de
tâches et les modèles de son environnement qu’il avait lorsque les tâches qui ont
contribué au LAP ont été sélectionnées. Ces vues sont échangées entre les agents
qui ont participé au LAP pour permettre de construire une meilleure vue de la
situation. Les agents reproduisent ensuite leur processus d’inférence en se basant
sur toute l’information disponible à propos de la situation. Ces deux traces, c’est-à-
dire celle enregistrée à l’exécution et celle enregistrée lors de la reprise avec toutes
les informations, sont alors analysées pour trouver la cause exacte du LAP.
4. Modifier les règles de contrôle de la coordination. Le module d’apprentissage ajoute
au planificateur des règles, spécifiques à la situation courante, en se basant sur
l’analyse faite à l’étape précédente. Ces règles peuvent exiger d’aller chercher l’in-
formation non-locale appropriée avant l’exécution pour ainsi permettre de choisir
les tâches et leur priorité de manière à éviter la situation problématique dans le
futur.
5. Identifier la situation. L’agent détermine la manière la plus efficace de décrire la
situation dans laquelle les règles développées à l’étape précédente devraient être
appliquées.

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.

2.2.2 Apprentissage à base de cas à partir de situations de suc-


cès

Cette section présente une approche pour l’apprentissage de la coordination, déve-


loppée par Garland et Alterman, qui consiste en l’apprentissage de procédures de coor-
dination [Garland and Alterman, 2001a, Garland and Alterman, 2001b, Garland, 2000].
Dans cette approche, comme pour l’approche de Sugawara et Lesser (voir section 2.2.1),
un agent apprend à partir de ses expériences pour améliorer ses actions futures. La prin-
cipale différence entre les deux techniques est que l’approche de Garland et Alterman
utilise des situations de succès, et ce, en renforçant les solutions ayant mené à de bons
résultats. Plus spécifiquement, chaque agent enregistre ses succès passés dans une base
de cas. Celle-ci est en fait composée de procédures de coordination qui sont organisées
autour de points de coordination. Ces derniers peuvent être définis comme étant des mo-
2.2. Apprentissage de la coordination à partir d’une trace 30

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 agents utilisent les procédures de coordination et les probabilités de succès de


leurs actions pour choisir et adapter leurs plans. Ils exécutent par la suite une action
et ils mettent à jour les probabilités d’actions selon les résultats obtenus. Ils continuent
de cette manière jusqu’à ce que tous les buts de tous les agents aient été réalisés. C’est
uniquement à la fin du problème que les agents apprennent de nouvelles procédures de
coordination, c’est-à-dire lorsque l’agent a du temps et une meilleure perspective pour
réfléchir sur les actions qui ont contribué à son succès. Lorsqu’elles sont ajoutées à sa
mémoire, les procédures de coordination sont disponibles lors de la création d’un plan
dans le futur. Pour leur part, les arbres de probabilités d’opérateurs sont mis à jour
durant l’activité après chaque action tentée par l’agent.

Garland et Alterman ont montré que l’apprentissage de procédures de coordination et


d’opérateurs de probabilités permettaient d’améliorer les performances des agents dans
leur exemple des déménageurs. Ils ont montré que c’est en utilisant les deux approches
ensemble que l’on arrive aux meilleurs résultats. Ils ont aussi montré que l’apprentissage
permettait de réduire la communication entre les agents.

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.

2.3 Autres méthodes d’apprentissage

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

2.4 Limitations des approches actuelles

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

Les communications sont une caractéristique importante des systèmes multiagents et


par le fait même de l’apprentissage à l’intérieur de tels systèmes. Certaines méthodes
présentées dans ce chapitre ne permettent pas la communication entre agents. Une des
limitations à cette façon de faire est que si l’on veut que les agents se coordonnent
sans communiquer, ils ont besoin de pouvoir s’observer. 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 les uns les autres tout le temps. Dans la majorité des systèmes réels, les agents
n’ont qu’une perception partielle de l’environnement et ils ne peuvent donc 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 devoir utiliser les 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.

Toutefois, il est tout de même important de mentionner que les communications,


quoique très utiles, sont aussi coûteuses et peuvent aussi être incertaines et limitées. Il
devient donc important de contrôler les communications de manière à obtenir le niveau
« optimal » de communications. Le niveau optimal est celui où les agents ne se trans-
mettent que les informations utiles à la coordination, ni plus ni moins. Une augmentation
ou une diminution des communications entraı̂neraient une diminution des performances
du système multiagent. Pour atteindre le niveau optimal de coordination, il serait bien
que les agents apprennent quels messages envoyés selon la situation courante. Les deux
méthodes vues aux sections 2.2.1 et 2.2.2 permettent de gérer les messages envoyés entre
agents.

Comme nous l’avons présenté à la section 1.3.2, les communications à l’intérieur de


l’environnement de simulation de la RoboCupRescue sont très limitées et incertaines.
Toutefois, comme les agents n’ont qu’une vision partielle de l’environnement, alors les
communications sont très importantes pour maintenir une coordination entre les agents.
Pour ces raisons, nous proposons à la section 3.1 une méthode utilisant l’analyse de traces
d’exécution pour améliorer l’utilisation de la bande passante. Le but est que les agents
puissent transmettre le plus de messages possibles tout en s’assurant qu’ils pourront être
bien reçus.

2.4.2 Modèles des autres agents

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

2.4.3 Connaissance de l’environnement

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.

3.1 Apprendre à communiquer efficacement

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.

Dans plusieurs types d’environnement, les communications ne sont pas totalement


libres. Comme c’est le cas pour le type d’environnement considéré par cette proposi-
tion de recherche, les communications sont généralement limitées par la largeur de la
bande passante, la capacité des différents agents de gérer les messages et la qualité des
transmissions, c’est-à-dire les pertes possibles de messages. Dans le type d’environne-
ment présenté à la section 1.2, les agents n’ont pas la liberté d’envoyer et de lire tous les
messages qu’ils voudraient, car ils ont des capacités limitées de gestion des messages.

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.

Il est important de mentionner que moins de messages ne veut pas nécessairement


dire que les agents recevront beaucoup moins d’informations, parce que les messages
contenant les informations les plus importantes seront tout de même envoyés. Il n’y a que
les messages de moindre importances qui ne seront pas envoyés. Grâce à cette méthode,
les messages les plus importants, c’est-à-dire ceux contenant le plus d’informations utiles,
auront plus de chances d’atteindre leur(s) destinataire(s).

La technique d’apprentissage présentée dans cette section utilise l’analyse de traces


d’exécution pour déterminer l’utilité d’un message, voir section 2.2. En résumé, la tech-
nique consiste pour les agents à enregistrer une trace de leur exécution et par la suite, à
un moment déterminé, à se rencontrer pour pouvoir demander aux autres si les messages
envoyés valaient la peine d’être envoyés et s’il y avait des informations qu’ils auraient
aimé recevoir. Généralement, la rencontre s’effectue lors de la fin d’une ronde de simula-
tion qui représente en fait une pratique ou un entraı̂nement pour les 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.

3.1.1 Enregistrement de la trace

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

La description représente le contexte de l’agent à ce moment là. Ce contexte doit


permettre à l’agent de se remettre dans une situation particulière pour ainsi lui permettre
d’évaluer l’utilité de recevoir un certain message à ce moment. Comme nous le verrons
plus tard, cette description est aussi utilisée par l’agent pour indexer les messages et leur
utilité dans sa base de cas. Par ailleurs, les messages qui auraient pu être envoyés par
l’agent sont les messages que l’agent a générés, mais qu’il a décidé de ne pas envoyer,
car les estimations des utilités de ces messages étaient trop faibles. Il les conserve, parce
qu’il va demander aux autres agents s’il aurait dû les envoyer.

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

Algorithme 3.1 Algorithme utilisé pour calculer l’utilité d’un message.


Procédure CALCULE-UTILITE-MESSAGES(messages)
Entrée : messages : tous les messages que cet agent a ou aurait pu envoyer.
Statique : BaseConnaissances : la base de connaissance de l’agent contenant tous les
messages avec la situation dans laquelle ils ont été envoyés et leur estimation d’utilité.

Pour tout m dans messages Faire


Envoyer m avec le temps auquel il aurait pu être envoyé aux autres agents
Attendre que les agents aient retourné toutes les valeurs d’utilité.
utilitém = COMBINER(toutes les utilités reçues)
METTRE-A-JOUR-UTILITE(BaseConnaissances, m, utilitém )
Fin Pour

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.

3.1.3 Utilisation des informations apprises

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.

U T (m) = P (A1 , m) · U (m, A1 ) + P (A2 , m) · U (m, A2 ) + . . . + P (An , m) · U (m, An ) (3.2)

où P (A1 , m) est la probabilité qu’un agent de type A1 reçoive le message m et


U (m, A1 ) est l’utilité du message m pour l’agent de type A1 . La probabilité est don-
née à l’aide du Tableau 3.1 et l’utilité est donnée par l’équation 3.1.

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.

3.2 Apprentissage de l’environnement

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.

Dans la simulation de la RoboCupRescue, les agents évoluent dans la même ville à


plusieurs reprises, par conséquent ils pourraient apprendre leur environnement, c’est-à-
dire la structure de la ville. Cette apprentissage serait effectué dans le but de trouver
3.2. Apprentissage de l’environnement 45

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

L’anticipation est une composante importante pour maximiser la probabilité d’obtenir


une coordination efficace dans des équipes d’agents[Veloso et al., 1999]. Par exemple, si
un agent FireBrigade arrose un feu présentement et qu’il estime qu’il ne lui reste que 5
minutes avant de l’éteindre, alors il pourrait trouver tout de suite sa prochaine destination
et demander aux agents PoliceForce de déblayer les routes entre sa position actuelle et
sa prochaine destination.
3.3. Anticipation 47

3.3.1 Interactions des agents avec l’environnement

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.

3.3.2 Apprentissage de modèles des autres agents

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.

Deuxièmement, si on peut regrouper les agents selon certaines caractéristiques dis-


tinctives et en ne considérant par la suite que les groupes créés, alors on ferait diminuer
de beaucoup le nombre de modèles à maintenir. Dans le cadre de la RoboCupRescue, il
est assez simple de faire cela, étant donné qu’il n’y a que trois types d’agents mobiles,
donc chaque agent n’aurait qu’à apprendre deux modèles.

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

ne pourront pas se coordonner, parce qu’ils ne pourront pas estimer le comportement de


l’autre agent, car ils ne sauront pas dans quelle situation il se trouve.

3.4 Contributions anticipées

Premièrement, la partie à laquelle nous nous attaquons est l’amélioration de l’uti-


lisation des communications. Nous avons vu que les approches de Sugawara et Lesser
(section 2.2.1) et celle de Garland et Alterman (section 2.2.2) ont été utilisées pour ap-
prendre à diminuer les communications entre les agents ou à atteindre un bon niveau de
communication. Nous proposons de jumeler les deux approches en considérant lors de
l’apprentissage à la fois les situations d’échecs (Sugawara et Lesser) et les situations de
réussites (Garland et Alterman). Nous croyons que l’apprentissage sera plus rapide si les
agents profitent de toutes les situations d’apprentissage possibles.

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

Plan de travail pour la thèse

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.

Toutefois, cette coordination n’est vraiment pas évidente à obtenir et à maintenir.


Au chapitre 2, nous avons vu quelques approches utilisées pour améliorer la coordination
entre agents. En nous inspirant de ces approches, nous avons montré au chapitre 3 les
approches que l’on propose pour l’amélioration de la coordination dans un environnement
exigeant, celui de la RoboCupRescue.

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.

4.1 Travaux effectués

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.

4.1.1 Étude théorique

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 du travail théorique a été l’étude de l’environnement de la Ro-


boCupRescue. Tout d’abord, nous avons étudié le simulateur de la RoboCupRescue
pour bien comprendre son fonctionnement et voir s’il était possible d’appliquer des al-
gorithmes d’apprentissage dans cet environnement. Comme nous l’avons mentionné à la
section 1.3.2, il en est ressorti que cet environnement possède plusieurs caractéristiques
le rendant très intéressant pour l’étude des systèmes multiagents. Cette étude du simu-
lateur a demandé un temps relativement considérable vu la complexité du système, mais
surtout vu le manque de documentation.

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

Après avoir acquis une bonne connaissance du simulateur de la RoboCupRescue,


nous avons commencé la programmation d’une équipe d’agents pouvant évoluer dans
cet environnement. Pour l’implémentation, nous avons utilisé le langage de programma-
tion agent JACK Intelligent AgentsTM [Howden et al., 2001]. C’est un environnement de
programmation pour construire et exécuter des systèmes multiagents en utilisant une
approche basée sur les composantes. Le langage de programmation agent de JACK est
un langage qui étend le langage Java avec des concepts orientés agents comme :
– Agents,
– Capacités,
– Événements,
– Plans,
– Ensembles de croyances,
– Gestion des ressources et de la concurrence.

Comme il a été présenté à la section 1.3.2, il y a six types différents d’agents à


implémenter. Chacun de ces types d’agents est représenté par un agent dans JACK.
Chaque agent a plusieurs plans qu’il peut exécuter selon les événements qu’il reçoit. Le
projet est d’une taille relativement importante, il contient environ 250 classes différentes.

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.

Finalement, le dernier travail effectué au niveau de l’implémentation a été le début


de l’implémentation de la technique d’amélioration de l’utilisation des communications,
mais elle n’est pas encore terminée, donc il n’y a pas encore de résultats disponibles. Il est
toutefois important de constater que toutes la structure des agents a été implémentée
et qu’il ne reste qu’à implémenter les méthodes d’apprentissage et à les tester. Nous
pourrons donc tester dans un avenir rapproché les différentes méthodes.
4.1. Travaux effectués 53

Tableau 4.1: Pointage lors des qualifications pour la compétition de la Robo-


CupRescue de l’été 2003 à Padova en Italie. Nous étions l’équipe 10, donc la ligne
en gras représente notre pointage lors des qualifications.
Position Équipes Pointage
1 2 90.6
2 20 88.3
3 17 76.4
4 16 64.5
5 5 54.5
6 10 49.7
7 1 37.8
8 11 28.0
9 8 26.3
10 7 23.1
11 13 20.9
12 15 20.2
13 6 18.4
14 9 16.7
15 3 16.4
16 14 14.8
17 18 12.7
18 4a 11.6
19 4b 11.4
20 19 11.2
4.2. Travaux futurs 54

4.1.3 Résumé

En résumé, les travaux effectués à date sont :


– L’étude des approches existantes en apprentissage de la coordination ;
– L’étude du simulateur de la RoboCupRescue ;
– La programmation des agents évoluant dans la simulation ;
– La conception de différentes approches d’apprentissage ;
– Le début de la programmation de l’approche sur l’amélioration de l’utilisation des
communications.

4.2 Travaux futurs

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

Été Automne Hiver Été Automne


Tâches

5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12

Figure 4.1: Plan de travail d’ici la fin de la thèse.

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

4.3 Plan de la thèse

Le plan de la thèse pourrait comporter les aspects suivants :


1. Introduction
2. Description de la RoboCupRescue
3. Problématique
4. Revue de littérature
5. Présentation des méthodes d’apprentissage développées pour l’amélioration de la
coordination entre agents
6. Présentation de notre équipe d’agents
7. Présentation des tests et des résultats obtenus
8. Conclusion et travaux futurs
Chapitre 5

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.

Nous proposons également des méthodes originales pour l’apprentissage de l’environ-


nement et l’anticipation qui permettraient aux agents de se coordonner efficacement. En
fait, nous utilisons différentes méthodes d’apprentissage, car le système étudié est trop
complexe pour permettre un apprentissage directe entre les perceptions et les actions. Il y
a tout simplement trop de situations et d’actions possibles. Une partie de nos recherches
sera donc d’analyser les interactions entre les différentes méthodes d’apprentissage.

L’apprentissage de la coordination est un domaine relativement nouveau qui devrait


connaı̂tre un grand succès dans un avenir rapproché, vu l’essor que prend la technologie
agent et les systèmes multiagents. Plus les systèmes multiagents seront complexes en
terme de nombre d’agents et de la complexité des interactions entre eux, plus l’appren-
tissage de la coordination deviendra intéressant, voir nécessaire.

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

[Garland, 2000] Garland, A. E. (2000). Learning to Better Coordinate in Joint Activities.


PhD thesis, Brandeis University.
[Ghavamzadeh and Mahadevan, 2002] Ghavamzadeh, M. and Mahadevan, S. (2002). A
Multiagent Reinforcement Learning Algorithm by Dynamically Merging Markov De-
cision Processes. In Proceedings of the First International Joint Conference on Auto-
nomous Agents and Multiagent Systems (AAMAS-02), Bologna, Italie.
[Ghavamzadeh et al., 2001] Ghavamzadeh, M., Mahadevan, S., and Makar, R. (2001).
Extending Hierarchical Reinforcement Learning to Continuous-Time, Average-
Reward, and Multi-Agent Models. Submitted to the Journal of Machine Learning
Research (JMLR).
[Haynes and Sen, 1998] Haynes, T. and Sen, S. (1998). Learning cases to resolve conflicts
and improve group behavior. International Journal of Human-Computer Studies,
48 :31–49.
[Horling and Lesser, 1999] Horling, B. and Lesser, V. (1999). Using Diagnosis to Learn
Contextual Coordination Rules. In Proceedings of the AAAI-99 Workshop on Reaso-
ning in context for AI Applications, pages 70–74.
[Howden et al., 2001] Howden, N., Rönnquist, R., Hodgson, A., and Lucas, A. (2001).
JACK Intelligent Agents Ů Summary of an Agent Infrastructure. In Proceedings of
the 5th International Conference on Autonomous Agents, Montréal, Canada.
[Jensen et al., 1999] Jensen, D., Atighetchi, M., Vincent, R., and Lesser, V. (1999). Lear-
ning Quantitative Knowledge for Multiagent Coordination. In 16th National Confe-
rence on Artificial Intelligence (AAAI-99), pages 24–31, Orlando.
[Kapetanakis and Kudenko, 2002] Kapetanakis, S. and Kudenko, D. (2002). Reinforce-
ment Learning of Coordination in Cooperative Multi-Agent Systems. In Proceedings
of the 19th National Conference on Artificial Intelligence (AAAI-02).
[Kitano, 2000] Kitano, H. (2000). RoboCup Rescue : A Grand Challenge for Multi-Agent
Systems. In Proceedings of ICMAS 2000, Boston, MA.
[Kitano et al., 1999] Kitano, H., Tadokor, S., Noda, H., Matsubara, I., Takhasi, T., Shin-
jou, A., and Shimada, S. (1999). Robocup-rescue : Search and rescue for large scale
disasters as a domain for multi-agent research. In Proceedings of the IEEE Conference
on Systems, Man, and Cybernetics (SMC-99), volume 6, pages 739–743. IEEE.
[Koch, 2002] Koch, E. (2002). Simulation multiagent de situations d’urgence dans le
cadre de la RobocupRescue. Master’s thesis, Facultés Universitaires Notre Dame de
la Paix.
[Makar et al., 2001] Makar, R., Mahadevan, S., and Ghavamzadeh, M. (2001). Hierar-
chical Multi-Agent Reinforcement Learning. In Proceedings of the Fifth International
Conference on Autonomous Agents, pages 246–253, Montréal, Canada.
[Malone and Crowston, 1994] Malone, T. W. and Crowston, K. (1994). The Interdisci-
plinary Study of Coordination. ACM Computing Surveys, 26(1).
[Mataric, 1994] Mataric, M. J. (1994). Interaction and Intelligent Behavior. PhD thesis,
Massachusetts Institute of Technology.
BIBLIOGRAPHIE 61

[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

[Prasad and Lesser, 1999] Prasad, M. V. N. and Lesser, V. R. (1999). Learning


Situation-Specific Coordination in Cooperative Multi-agent Systems. Autonomous
Agents and Multi-Agent Systems, 2(2) :173–207.
[Puterman, 1994] Puterman, M. L. (1994). Markov Decision Processes : Discrete Sto-
chastic Dynamic Programming. Wiley-Interscience.
[RoboCup, 2003] RoboCup (2003). RoboCup Official Site. [Online]. http://www.
robocup.org (Page visited on february 23, 2003).
[RoboCupRescue, 2003] RoboCupRescue (2003). RoboCupRescue Official Web Page.
[Online]. http://www.r.cs.kobe-u.ac.jp/robocup-rescue (Page visited on february 23,
2003).
[Russel and Norvig, 2003] Russel, S. and Norvig, P. (2003). Artificial Intelligence A Mo-
dern Approach. Pearson Education, Upper Saddle River, New Jersey, second edition.
[Sen and Sekaran, 1995] Sen, S. and Sekaran, M. (1995). Multiagent coordination with
learning classifier systems. In Working Notes of the IJCAI-95 Workshop on Adaptation
and Learning in Multiagent Systems, pages 84–89.
[Sen and Sekaran, 1998] Sen, S. and Sekaran, M. (1998). Individual Learning of Coor-
dination Knowledge. Journal of Experimental and Theoretical Artificial Intelligence,
10 :333–356. (special issue on Learning in Distributed Artificial Intelligence Systems).
[Sen et al., 1994] Sen, S., Sekaran, M., and Hale, J. (1994). Learning to coordinate
without sharing information. In Proceedings of the National Conference on Artificial
Intelligence, pages 426–431.
[Sen and Weiss, 2000] Sen, S. and Weiss, G. (2000). Learning in Multiagent Systems.
In Weiss, G., editor, Multiagent Systems. A Modern Approach to Distributed Artificial
Intelligence, chapter 6, pages 259–298. MIT press.
[Stone and Veloso, 1997] Stone, P. and Veloso, M. (1997). Multiagent Systems : A Survey
from a Machine Learning Perspective. Technical Report CMU-CS-97-193, Carnegie
Mellon University CS.
[Stone and Veloso, 1999] Stone, P. and Veloso, M. (1999). Team-Partitioned, Opaque-
Transition Reinforcement Learning. In Asada, M. and Kitano, H., editors, RoboCup-
98 : Robot Soccer World Cup II, volume 1604 of Lecture Notes in Artificial Intelligence.
Springer-Verlag.
[Sugawara and Lesser, 1993] Sugawara, T. and Lesser, V. (1993). On-Line Learning of
Coordination Plans. Twelfth Annual Workshop on Distributed Artificial Intelligence.
[Sugawara and Lesser, 1995] Sugawara, T. and Lesser, V. (1995). Learning Coordina-
tion Plans in Distributed Problem-Solving Environments. In Proceedings of the First
International Conference on Multiagent Systems (ICMAS-95).
[Sugawara and Lesser, 1998] Sugawara, T. and Lesser, V. R. (1998). Learning to Improve
Coordinated Actions in Cooperative Distributed Problem-Solving Environments. Ma-
chine Learning, 33(2-3) :129–153.
[Sutton, 1988] Sutton, R. S. (1988). Learning to Predict by the Methods of Temporal
Differences. Machine Learning, 3 :9–44.
BIBLIOGRAPHIE 63

[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.

Das könnte Ihnen auch gefallen