30
Apprentissage par renforcement d’actes de communication dans un système multi-agent Shirley Hoet Nicolas Sabouret Laboratoire Informatique de Paris 6 (LIP6) 104 avenue du Président Kennedy [email protected] [email protected] RÉSUMÉ. Dans ce papier, nous proposons un algorithme pour la communication entre agents dans le but d’apprendre quoi, à qui et quand communiquer. Nous nous appuyons pour cela sur l’utilisation d’agents introspectifs capables de raisonner sur leurs actions et sur leurs états afin de construire les actes de communication. Nous proposons une extension d’algorithmes d’ap- prentissage par renforcement définis sur les PDM pour la prise en compte de la communication multi-agents. Nous montrons comment il est possible de résoudre les problèmes liés à l’asyn- chronisme et à la non-markovité des SMA par l’utilisation d’une mémoire des actions et des interactions de l’agent. ABSTRACT. In this paper, we present a reinforcement learning approach for multi-agent com- munication in order to learn what to communicate,when and to whom. This method is based on introspective agents, that can reason about their own actions and data so as to construct appropriate communicative acts. We propose an extention of classical reinforcement learning algorithms with multi-agent communication. We show how communicative acts and memory can solve non-markovity and asynchronism issues MAS. MOTS-CLÉS : apprentissage par renforcement, acte de language, système multi-agent KEYWORDS: Reinforcement Learning, Communication, Multi-Agent System RSTI - RIA. Volume 24 – n˚ 2/2010, pages 159 à 188

Apprentissage par renforcement d’actes de communication

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Apprentissage par renforcement d’actes de communication

Apprentissage par renforcement d’actes decommunication dans un système multi-agent

Shirley Hoet — Nicolas Sabouret

Laboratoire Informatique de Paris 6 (LIP6)104 avenue du Président Kennedy

[email protected]

[email protected]

RÉSUMÉ.Dans ce papier, nous proposons un algorithme pour la communication entre agentsdans le but d’apprendre quoi, à qui et quand communiquer. Nous nous appuyons pour cela surl’utilisation d’agents introspectifs capables de raisonner sur leurs actions et sur leurs états afinde construire les actes de communication. Nous proposons une extension d’algorithmes d’ap-prentissage par renforcement définis sur les PDM pour la prise en compte de la communicationmulti-agents. Nous montrons comment il est possible de résoudre les problèmes liés à l’asyn-chronisme et à la non-markovité des SMA par l’utilisation d’une mémoire des actions et desinteractions de l’agent.

ABSTRACT.In this paper, we present a reinforcement learning approachfor multi-agent com-munication in order to learn what to communicate,when and towhom. This method is basedon introspective agents, that can reason about their own actions and data so as to constructappropriate communicative acts. We propose an extention ofclassical reinforcement learningalgorithms with multi-agent communication. We show how communicative acts and memorycan solve non-markovity and asynchronism issues MAS.

MOTS-CLÉS :apprentissage par renforcement, acte de language, systèmemulti-agent

KEYWORDS:Reinforcement Learning, Communication, Multi-Agent System

RSTI - RIA. Volume 24 – n˚ 2/2010, pages 159 à 188

Page 2: Apprentissage par renforcement d’actes de communication

160 RSTI - RIA. Volume 24 – n˚ 2/2010

1. Introduction

Dans le domaine des systèmes multi-agents (SMA), un agent est une entité vir-tuelle ou réelle, évoluant dans un environnement qu’elle peut percevoir et sur lequelelle peut agir, qui peut communiquer avec d’autres agents etdont le comportementtend à satisfaire des objectifs, définis explicitement (telque les agents BDI) ou impli-citement (les agents réactifs), en tenant compte de ses observations, de sa connaissanceet des interactions avec les autres agents (Ferber, 1995). La spécificité des systèmesmulti-agents est que l’agent n’évolue pas seul dans l’environnement et qu’il doit te-nir compte des autres agents qui eux aussi perçoivent et agissent sur l’environnement.L’intérêt des SMA vient alors du fait que les agents doivent se coordonner afin derésoudre des problèmes qu’ils ne peuvent solutionner seuls.

Cette coordination entre les agents se fait à travers la communication. On distinguedeux types de communication : la communication indirecte etdirecte. La premièreconsiste à laisser des signaux dans l’environnement qui peuvent être perçus par lesautres agents. Ce mécanisme n’implique pas nécessairementque l’agent émetteur soitconscient de communiquer, comme par exemple dans les SMA réactifs. Au contrairela communication directe consiste en l’envoi de messages à un ou plusieurs agents etrepose sur l’intention de communiquer des agents.

La communication directe est un aspect important des systèmes multi-agents carelle permet entre autres d’échanger des informations, de déléguer des tâches. En pra-tique dans les systèmes multi-agents, l’agent connaît le destinataire et le contenu dumessage ainsi que le moment où il doit l’envoyer. Mais si l’onse place dans les sys-tèmes multi-agents ouverts (par exemple, dans le cadre de l’informatique ubiquitaire(Weiser, 1995)) qui sont des systèmes où les agents peuvent entrer et sortir et oùpar conséquent les agents sont hétérogènes, cette hypothèse n’est plus valide. En ef-fet dans un système multi-agent ouvert, les agents ne connaissent pas forcément lesagents évoluant dans l’environnement et ils ne peuvent doncpas définir à l’avance lesmessages qu’ils doivent envoyer.

Il existe de nombreux travaux sur l’apprentissage d’actions pour un agent, notam-ment des méthodes d’apprentissage par renforcement. L’apprentissage par renforce-ment est une technique permettant à un agent d’apprendre paressai-erreur à choisirla meilleure action selon la situation dans laquelle il se trouve (Suttonet al., 1998).Or si l’on se réfère à la théorie des actes de langage (Austin,1962; Searle, 1985) surlaquelle reposent les langages de communication des systèmes multi-agents, un actede communication est assimilable à une action dans le sens oùcelui-ci produit deseffets sur son destinataire. Par conséquent il est envisageable d’utiliser l’apprentissagepar renforcement pour apprendre à communiquer. C’est pourquoi dans cet article nousproposons un algorithme d’apprentissage par renforcementpour les actes de commu-nication.

L’apprentissage par renforcement a été un domaine très étudié à la fois dans lecadre mono-agent et multi-agent. Dans le cas où un seul agentévolue dans l’envi-ronnement, il existe de nombreux algorithmes qui résolventle problème tel que le

Page 3: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 161

Q-Learning qui est fondé sur le modèle formel des processus décisionnels de Markovet que nous présentons dans la section 2.

Dans le cadre multi-agent, l’apprentissage par renforcement se sépare en deuxtypes de problèmes : il peut à la fois signifier apprentissagede plusieurs agents ouapprentissage par renforcement d’un seul agent dans un environnement où évoluentplusieurs agents (Weiß, 1996). Le cas où il existe plusieursagents apprenants est unproblème complexe, principalement parce que le comportement des agents apprenantsn’est plus prévisible pour un observateur et plus particulièrement du point de vue d’unautre agent. Ceci est dû au fait qu’ils testent leurs actionspar essai-erreur. Ils existentplusieurs modèles d’apprentissage par renforcement dont les dec-MDP (Bernsteinetal., 2000). Dans ces modèles du point de vue d’un seul agent apprenant, l’environ-nement n’est plus stationnaire : les transitions d’un état vers un autre dépendent dutemps. Dans un premier temps, afin de réduire la complexité denotre problème nousfaisons l’hypothèse d’un seul agent apprenant. Le problèmepeut alors s’apparenterà de l’apprentissage par renforcement mono-agent où certaines propriétés ne seraientplus vraies comme nous le montrons dans la section 2.

Dans cet article, nous nous intéressons plus particulièrement à l’apprentissaged’actes de communication, qui est un problème peu étudié, principalement parce qu’ilcomplexifie le domaine déjà difficile qu’est l’apprentissage par renforcement. Il existecependant plusieurs travaux utilisant la communication afin d’améliorer l’apprentis-sage ainsi que des travaux montrant comment construire des actes de communicationque nous exposons à la section 2.

Dans la section 3 nous présentons notre algorithme pour résoudre le problèmede l’apprentissage d’actes de communication et nos premiers résultats obtenus sur desproblèmes simples seront exposés dans la section 4. Enfin nous concluons sur le travailaccompli et les perspectives futures.

2. État de l’art

2.1. La communication directe

Dans un système multi-agent, la communication directe consiste en l’envoi d’actesde communication ou messages entre agents. La structure d’un message est défini parun langage de communication pour les agents (ACL) et repose sur la théorie des actesde langage.

La théorie des actes de langage a été initiée par Austin dans (Austin, 1962) oùil considère que la communication ne sert pas juste à décrirele monde mais aussià agir dessus. Il définit ainsi l’acte illocutoire que l’on accomplit en disant quelquechose et qui manifeste l’intention de celui qui produit le message. Searle poursuitces travaux dans (Searle, 1985) où il décrit un acte illocutoire comme la composéed’une force illocutoire et d’un contenu. La force illocutoire étant ce qui permet de

Page 4: Apprentissage par renforcement d’actes de communication

162 RSTI - RIA. Volume 24 – n˚ 2/2010

faire la différence entre deux phrases de même contenu et de sens différent commepar exemple dans les deux phrases « Il pleut. » et « Est ce qu’ilpleut ? ».

Dans les ACL, un acte de communication est modélisé par un acte illocutoire etil est donc formé d’une force illocutoire et d’un contenu. Ilexiste cependant plu-sieurs ACL qui diffèrent essentiellement par les types de forces illocutoires qu’ilsproposent. Dans les sections suivantes nous en présentons deux : celui proposé parFIPA (FIPA.org, 1997) qui est le plus usité dans les SMA et celui de la plateformeSMA VDL.

2.1.1. FIPA

Un message selon les standards FIPA est constitué des champssuivants :

– L’adresse de l’émetteur

– L’adresse du destinataire

– Le performatif appelé aussi acte du message. C’est lui qui représente la forceillocutoire du message

– Le contenu du message

– Le langage et l’ontologie utilisés pour décrire le contenu

– L’identifiant du message

– L’identifiant de la conversation

FIPA a défini 22 types de performatifs en caractérisant chacun par les précon-ditions nécessaires pour l’utiliser et les effets attenduslors de l’envoi du message(FIPA.org, 1997).

2.1.2. La plateforme VDL

Pour nos travaux nous utilisons la plateforme SMA VDL définieau LIP6 (Sabouretet al., 1999). Cette plateforme propose elle aussi un modèle d’interaction directe fondésur la théorie des actes de langage. Ce langage de communication modélise en plusdes performatifs proposés par le modèle FIPA, des performatifs permettant d’utiliserles capacités de raisonnement des agents.

La construction d’un message VDL est semblable à celle de FIPA. L’apprentis-sage du langage et de l’ontologie étant un problème à part entière nous ne le traiteronspas ici et nous considérerons que les agents utilisent le même langage de contenuet la même ontologie. Le langage de contenu utilisé est une logique proposition-nelle d’ordre 0 utilisant les opérateurs¬,∪,∩, = sur deux ensembles d’atomes (lesvariablesVAgt et les actions des agentsAAgt) et un ensemble de fonctions arithmé-tiques. Un contenu de message est donc un ensemble (éventuellement vide) de propo-sitions. Dans la plupart des cas, les propositions seront réduites à un atome (c’est-à-dire un symbole appartenant à l’ensembleAAgt ∪ VAgt). Enfin, pour alléger les nota-tions nous ne représenterons pas les paramètres de contrôledes messages (reply-with,conversation-id).

Page 5: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 163

Un message est donc caractérisé par un tuple〈snd, p(rcv, c)〉, avecsnd l’émetteurdu message ,rcv son destinataire,p le performatif utilisé etc le contenu du messagedont la nature (c’est-à-dire les éléments propositionnels) dépend dep.

Dans notre solution, nous utilisons en particulier quatre performatifsquery, re-quest, what-orderet what-query. Nous décrivons brièvement ci-dessous leur utilisa-tion ainsi que leurs types de réponses possibles.

Le performatifquery est associé à un contenu constitué d’un ensemble de va-riables. Le messagem = 〈a1, query(a2, v)〉 permet donc à l’agenta1 de demander àl’agent destinatairea2 la valeur de la variablev. L’agenta2 peut alors répondre avecsoit :

– 〈a2, inform(a1, v = v0)〉 pour affirmer que la valeur de la variablev estv0.

– 〈a2, unknown(a1, v)〉 pour affirmer que la variablev est inconnu de l’agenta2.

Le performatifrequestest utilisé avec un contenu formé par un ensemble d’actionsreprésentées par leur nom. Le messagem = 〈a1, request(a2, a)〉 permet à l’agenta1

de demander à l’agenta2 d’exécuter l’actiona. L’agenta2 peut alors répondre à l’aided’un des trois messages suivants :

– 〈a2, agree(a1, a)〉 pour répondre que l’agenta2 accepte d’exécuter l’actiona.

– 〈a2, impossible(a1, pe)〉 pour répondre que l’agenta2 ne peut pas exécuter l’ac-tion car au moins une des préconditions de cette action est fausse.pe est l’ensemblede ces préconditions échouées.

– 〈a2, not−understood(a1, a)〉 pour répondre que l’agenta2 ne peut pas exécuterl’action a puisqu’il ne connaît pas cette action.

Le performatifwhat-orderest utilisé avec un contenu vide. Le message〈a1, what-order(a2, ∅)〉 permet à l’agenta1 de demander à l’agenta2 l’ensemble de ses actionspossibles au moment où il reçoit le message. La réponse attendue est un message de laforme :m′ = 〈d, assert− order(Agt, 〈a1, .., an〉)〉 où∀i ai est le nom d’une actionde l’agenta2.

Le performatifwhat-queryest lui aussi utilisé avec un contenu vide. Le message〈a1, what-query(a2, ∅)〉 permet à l’agenta1 de demander à l’agenta2 l’ensemble desvariables constituant son état à la réception du message. Laréponse attendue est unmessage de la forme :m′ = 〈d, assert− query(Agt, 〈v1, .., vn〉)〉 où∀i vi est le nomd’une variable de l’agenta2.

2.1.3. Conclusion

Dans les ACL un message est principalement constitué d’un performatif et d’uncontenu. Pour construire les actes de communication, il faut donc déterminer lecontenu à associer à un performatif afin que le message soit compréhensible parl’agent destinataire. Ainsi pour former un acte de communication request, il faut luiassocier un contenu composé d’un ensemble de noms d’action qui correspondent àdes actions que l’agent destinataire du message sait effectuer. Les performatifs pro-

Page 6: Apprentissage par renforcement d’actes de communication

164 RSTI - RIA. Volume 24 – n˚ 2/2010

posés par la plateforme VDL commewhat-orderet what-querypermettent de façonsimple de récupérer des informations sur les actions possibles des autres agents ainsique sur les variables sur lesquelles l’agent peut les interroger. Il est donc possiblevia des protocoles simples de construire les messages en utilisant l’introspection desagents. Cependant il reste encore à déterminer quand envoyer les actes de communi-cation ainsi construits. Pour cela nous nous sommes intéressés à l’apprentissage parrenforcement qui repose sur le modèle des processus décisionnels de Markov.

2.2. Les processus décisionnels de Markov

2.2.1. Principe

Un processus décisionnel de Markov (PDM) est un processus stochastique contrôlésatisfaisant la propriété de Markov (Puterman, 1994). Il permet de représenter l’évolu-tion de l’environnement dans lequel évolue un agent en fonction des actions effectuéespar ce dernier. On le définit par un tuple〈S, A, P, R〉 où :

– S est l’ensemble d’états

– A est l’ensemble d’actions

– P : S ×A× S −→ [0, 1] est la fonction de transition. Elle définit la probabilitépour un agent de se trouver dans l’états′ ∈ S alors qu’il a effectué l’actiona dansl’état s

– R : S ×A −→ R est la fonction de récompense.

Ainsi à chaque pas de temps, l’agent observe l’état courants ∈ S, exécute une actiona ∈ A, reçoit une récompenseR(s, a) et observe un nouvel états′ ∈ S dépendant dela fonctionP .

Un PDM vérifie la propriété de Markov, dans le sens où la fonction de transitionde l’environnement ne dépend que de l’état précédent de l’agent ainsi que de l’actionque celui-ci vient d’effectuer et non de l’ensemble des actions et des états passés del’agent :

∀s′ ∈ S P (st+1 = s′|st, at) = P (st+1 = s′|st, at, st−1, at−1, ..., s1, a1)

Un agent cognitif évoluant dans un environnement markovienn’a pas besoin de mé-moriser ses états et actions passés : son processus de décision peut se faire uniquementsur la base de l’état courant. Il n’a donc pas besoin de mémoire.

2.2.2. Résolution

La résolution d’un PDM consiste à trouver la politique optimale de l’agentπ :S −→ A qui détermine la meilleure actiona ∈ A à effectuer pour chaque états ∈ Safin d’optimiser l’espérance de récompense. Si l’agent connaît le modèle du PDMc’est-à-dire les fonctionsP et R alors il existe des algorithmes de programmationdynamique qui permettent de le résoudre (Bellman, 1957; Bertsekas, 1987).

Page 7: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 165

Dans notre problème l’agent n’a pas accès aux fonctionsP et R du PDM danslequel il évolue, c’est pourquoi nous nous sommes intéressés aux techniques d’ap-prentissage par renforcement qui permettent de trouver la solution d’un processusdécisionnel de Markov par essai-erreur.

2.2.3. Q-Learning

Le Q-Learning est un algorithme itératif d’apprentissage par renforcement proposépar Watkins (Watkins, 1989). Il repose sur l’apprentissaged’une fonction de valeurQ : S × A −→ R qui permet de calculer la récompense espérée par l’agent lorsquecelui ci se trouve dans l’états ∈ S et qu’il effectue l’actiona ∈ A. Une fois la fonctionQ apprise, l’agent peut en déduire la politique optimaleπ en maximisant Q :

π(s) = argmaxa

(Q(s, a))

Algorithme 1 Q-LearningInitialiser Q(s,a)s← s0

pour cpt = 0à CPT_MAX fairea← choixAction(s)(s’,r)← exécute(s,a)Q(s,a)← Q(s,a) +α (r+γmaxa′ [Q(s’,a)]-Q(s,a))s← s’

fin pour

L’étape 1 de l’algorithme 1 consiste pour l’agent à déterminer l’actiona qu’il doiteffectuer en fonction de l’états où il se trouve. Nous utilisons pour cela une politiqued’exploration basée sur la distribution de Boltzmann. L’action est choisie en fonctionde la valeur de la fonction Q mais aussi du paramètre de températureT qui diminueprogressivement au cours de l’algorithme. Ainsi la probabilité de choisir l’actionadans l’état courants est calculée ainsi :

P (a|s) =eQ(s,a)/Tt

b∈A

eQ(s,b)/Tt

Au début de l’algorithme, le paramètreT possède une valeur élevée, l’action serachoisie selon une loi de probabilité uniforme. Puis progressivementT diminue ce quipousse l’agent à choisir de préférence l’action ayant la meilleure valeur Q(s,a). LeparamètreT permet donc d’explorer au début les différentes actions de l’agent afind’estimer leur valeur Q puis lorsque le paramètre diminue d’exploiter les valeurs Qapprises pour en déduire la meilleure action à utiliser.

Pour estimer les valeurs de la fonction Q, l’algorithme met àjour, à chaque pas detemps, la valeur Q(s,a) : sa valeur actuelle est alors corrigée en fonction de la récom-

Page 8: Apprentissage par renforcement d’actes de communication

166 RSTI - RIA. Volume 24 – n˚ 2/2010

pense immédiater obtenue par l’agent et la récompense espérée en choisissantau pro-chain coup l’action optimale. Le paramètreγ est le facteur d’actualisation : il permetde modéliser les préférences de l’agent en matière de récompense. Si l’agent préfèreune récompense immédiateγ sera proche de 0, si au contraire toutes les récompensessont importantes pour luiγ tendra vers 1. Le paramètreα est appelé taux d’apprentis-sage, il détermine l’importance de la correction à apporterà la valeur Q(s,a). Si chaquecouple (état, action) est visité un nombre infini de fois et que le paramètreα tend vers0 alors les valeurs Q(s,a) convergent vers leur valeur optimale (Jaakkolaet al., 1994).

2.2.4. Conclusion

Les processus décisionnels de Markov permettent de modéliser l’évolution del’environnement dans lequel un agent agit lorsque la propriété de Markov est véri-fiée. Nous avons vu qu’il existe des algorithmes pour trouverla politique optimale del’agent même lorsque celui ci ne connaît pas les données du PDM.

Cependant, dans notre problème la propriété de Markov n’estpas toujours vérifiée.Premièrement, dans un système multi-agent, l’état de l’environnement est composé del’ensemble des états des agents qui y évoluent. Or l’état d’un agent n’est pas visiblepour les autres agents. Par conséquent, l’agent apprenant ne peut observer l’environ-nement dans sa totalité. Deuxièmement, nous nous plaçons dans un cadre multi-agentsdonc l’état de l’environnement dépendra à la fois de l’action effectuée par l’agent ap-prenant mais aussi des actions effectuées par les autres agents. Troisièmement, lessystèmes multi-agents sont souvent asynchrones. Or, si nous nous intéressons à la dé-légation de tâches (c’est-à-dire lorsqu’un agent demande àun autre d’effectuer telleou telle actionvia un messagerequest) dans un contexte asynchrone, l’état de l’envi-ronnement peut dépendre d’actions déléguées dans le passé.

Les actions et les états des autres agents n’étant pas des données accessibles à notreagent, celui ci évolue donc dans un environnement partiellement observable.

2.3. Processus décisionnel de Markov partiellement observable

Dans un contexte multi-agent, l’état de l’environnement dépend des actionspropres et des actions déléguées des agents de l’environnement. Pour l’agent appre-nant les informations portant sur les autres agents de l’environnement ne lui sont pasdisponibles. Par conséquent, l’agent apprenant évolue dans un environnement partiel-lement observable.

2.3.1. Principe

Un processus décisionnel markovien partiellement observable PDMPO est unPDM dans lequel l’agent ne connaît pas l’état réel du processus : il n’a accès qu’à uneobservation partielle de cet environnement. Par conséquent, une même observation del’agent correspond à plusieurs états de l’environnement (Cassandraet al., 1994). UnPDMPO est un tuple〈S, A, P, R, Ω, O〉 où :

Page 9: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 167

– 〈S, A, P, R〉 est un PDM

– Ω est l’ensemble des observations de l’agent

– O :S×Ω −→ [0, 1] est la fonction d’observation. Elle correspond à la probabilitéd’observerω ∈ Ω sachant l’états ∈ S

Un POMDP ne vérifie pas la propriété de Markov, en effet la probabilité d’observerω′

dépend à la fois de l’observation précédenteω de l’agent et de l’action qu’il a effectuéemais aussi de l’états dans lequel il se trouvait à l’étape précédente.

2.3.2. Résolution

Résoudre un POMDP consiste à trouver la politique optimale du PDM. Une solu-tion est d’utiliser les algorithmes de résolution des PDM ense basant sur les observa-tions de l’agent et non sur les états de l’environnement qui ne lui sont pas accessibles.Comme l’ont montré (Singhet al., 1994), la convergence vers une politique optimalen’est plus du tout assurée en utilisant les algorithmes d’apprentissage par renforce-ment.

Si l’on connaît le processus décisionnel markovien sous-jacent, une méthode pro-posée par (Astrom, 1965) consiste à estimer les états dans lesquels se situe l’agent et àtrouver une politique optimale en se basant sur ces états estimés (belief states). L’algo-rithme WITNESS (Littman, 1994) est fondé sur ce procédé. Cependant cette méthodeest peu adaptée à notre problème car elle présuppose la connaissance du processusdécisionnel de Markov sous-jacent et donc des fonctionsP etR.

Une autre méthode proposée par (McCallum, 1996; Dutechet al., 2003) est d’uti-liser la mémoire de l’agent pour différencier les états se cachant sous une même obser-vation et d’appliquer un algorithme d’apprentissage par renforcement sur cet ensembled’états étendus afin de déterminer la meilleure action à effectuer lorsque l’agent setrouve dans l’un d’entre eux.

2.3.3. Utilisation de la mémoire

L’utilisation de la mémoire consiste à se souvenir des étatset des actions pas-sés de l’agent afin de déterminer la meilleure action à effectuer dans un état donné.Comme il est impossible d’utiliser une mémoire de taille infinie, les auteurs de(McCallum, 1996; Dutechet al., 2003) proposent des algorithmes qui déterminentla taille de mémoire nécessaire et suffisante pour déterminer les états cachés derrièreles observations de l’agent.

Les algorithmes proposés par McCallum dans (McCallum, 1996) utilisent un arbrede décision où chaque feuille représente un état possible del’agent apprenant et où sesnœuds parents retracent les observations, les décisions etles connaissances passées del’agent. À chaque feuille est associée une table des valeursQ(s, a) où s est l’étatreprésenté par la feuille eta est une action. Au démarrage l’arbre est composé defeuilles qui correspondent aux différentes observations de l’agent. Puis à intervallesréguliers, l’algorithme détecte à l’aide du test de Kolmogorov-Smirnov les feuilles qui

Page 10: Apprentissage par renforcement d’actes de communication

168 RSTI - RIA. Volume 24 – n˚ 2/2010

correspondent à des états cachés, celles-ci sont alors partitionnées en utilisant un crande mémoire supplémentaire.

Dans (Dutechet al., 2003), les auteurs utilisent une heuristique afin de déterminerles N états ambigus qui nécessitent d’être partitionnés en utilisant un cran de mémoire.Cette heuristique est composée de trois critères :

Une convergence plus lente :L’expérience montre que si un états est un étatambigu, alors les valeursQ(s, a) convergent plus lentement pour toute actiona.

Nombres de mises à jour :Selon les auteurs, un élément a plus de chance d’être ambigu si son nombrede mises à jour est grand. En effet un élément visité plusieurs fois peut corres-pondre à plusieurs états du MDP sous-jacent au POMDP.

Ambiguïté dans les actions :Si l’action optimale d’un état n’est pas clairement définie car les valeurs deQdes deux meilleures actions sont très proches, l’élément sera considéré commeambigu.

Au bout de N itérations de l’algorithme d’apprentissage, chaque état est évaluéselon ces trois critères, puis les états sont classés par somme des rangs croissants. LesM états les plus ambigus sont alors partitionnés en utilisant un cran de mémoire.1

2.3.4. Conclusion

Les POMDP sont des processus permettant de décrire l’évolution d’un environne-ment dans lequel l’agent n’a qu’une observation partielle de celui ci. Comme nousl’avons remarqué, dans un cadre multi-agent et d’apprentissage par renforcementd’actes de communication, l’état de l’environnement va dépendre à la fois des étatsdes autres agents, de l’état de l’agent apprenant et des actions effectuées par l’en-semble des autres agents. Par conséquent, le cadre des POMDPconvient parfaitementpour modéliser notre problème.

Dans notre problème, l’agent ne connaît pas le modèle de transition de l’agent, nile modèle de récompense, donc la résolution utilisant la mémoire nous semble la plusindiquée. Et tout particulièrement l’algorithme proposé par (Dutechet al., 2003) quinécessite moins de calcul et d’emplacement mémoire que dansla méthode proposéepar (McCallum, 1996).

Cependant la mémoire n’est composée que des informations propres à l’agent : cequ’il a effectué dans le passé et les états qu’il a traversés.Elle peut donc permettreà l’agent de se souvenir de ce qu’il a délégué aux autre agents. Mais elle ne contientaucune information sur les états des autres agents.

Dans notre problème nous nous intéressons à la communication directe. Or celle-ci permet d’interagir avec les autres agents et peut être utilisée afin de transmettre

1. M et N sont fixés expérimentalement.

Page 11: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 169

des informations, en utilisant des actes de communication de performatifqueryparexemple.

2.4. La communication dans les systèmes multi-agents

2.4.1. État de l’art

Dans le domaine de l’apprentissage multi-agent, la communication joue un rôlemajeur car elle permet d’échanger des informations qui ne sont pas visibles pourl’agent et qui pourtant sont essentielles pour l’apprentissage. L’auteur de (Tan, 1993)montre que l’échange d’informations (via des messages) permet d’améliorer les résul-tats de l’apprentissage par renforcement.

De même, les auteurs de (Matari’c, 1998; Szeret al., 2004) utilisent la communi-cation pour se transmettre des informations auxquelles ilsn’ont pas accès. Dans leurmodèle d’interaction, la communication se fait uniquementparbroadcast(les agentsenvoient leurs informations à tous les autres agents du système), de manière synchroneet automatique : à chaque pas d’exécution, les agents envoient automatiquement lesnouvelles qu’ils veulent transmettre et le message émis estreçu et traité immédiate-ment par tous les pairs ; ceux-ci obtiennent les connaissances qui leur manquent aumoment même où elles sont modifiées.

Les auteurs de (Xuanet al., 2001), ont montré que lorsque la communication estcoûteuse, il est important pour les agents de déterminer s’ils doivent ou non envoyer unmessage à chaque prise de décision. La communication est donc vue comme une ac-tion et l’agent doit déterminer dans chaque état s’il doit ounon l’effectuer en utilisantdes outils de planification.

Dans l’article (Meloet al., 2009), les auteurs cherchent aussi à déterminer quandcommuniquer. Pour cela ils utilisent un algorithme de Q-Learning et le fait d’envoyerun message est assimilé à une action de coordination. À chaque prise de décisionl’agent doit déterminer s’il utilise ses actions propres ous’il doit se coordonner. Encas de coordination, il envoie un message et utilise les informations récupéréesvia cetoutil pour déterminer la nouvelle action à effectuer. Ces travaux montrent que l’agentpeut apprendre à déterminer quand envoyer ses actes de communication. Cependantles messages y sont déterminés à l’avance : l’agent connaît le contenu et le destinatairedu message.

Les auteurs de (Kasaiet al., 2008) se sont intéressés à l’apprentissage de signauxde communication dans un système multi-agent. En effet, lesagents doivent apprendreune politique de communication (πc :S−→M), où M est un signal n’ayant pas au dé-marrage de signification, ainsi qu’une politique d’action (πa : S×M −→ A) qui réuti-lise l’information contenue dans le message M. Leurs résultats montrent que l’utilisa-tion des messages permet d’améliorer le processus d’apprentissage. Dans cet article,les auteurs proposent un mécanisme de construction de message qui consiste à asso-cier un sens à un signal, de plus ils apprennent à utiliser l’information de ces messages

Page 12: Apprentissage par renforcement d’actes de communication

170 RSTI - RIA. Volume 24 – n˚ 2/2010

pour définir une politique d’action optimale. Néanmoins, ils font l’hypothèse que leursagents sont synchrones.

2.5. Conclusion

Comme le montre l’étude de la littérature, le problème de l’apprentissage par ren-forcement d’actes de communication est complexe.

Premièrement, il faut construire les actes de communication. Comme nous l’avonsvu un acte de communication est principalement composé d’unperformatif, d’uncontenu et d’un destinataire. Pour l’instant nous nous limitons à l’envoi d’acte decommunication de performatifrequestqui permettent de déléguer des actions. Pourconstruire ce type de message il nous faut donc connaître lescapacités des agents en-vironnants, c’est-à-dire le type d’actions qu’ils sont capables d’effectuer. Le caractèreintrospectif des agents VDL est indiqué pour obtenir ce typed’information. En effetla capacité de raisonner sur leurs propres actions permet aux agents VDL de répondreà des question simples comme « Qu’est-ce que tu peux faire ? » en utilisant pour celades performatifs spécifiques.

Deuxièmement, nous nous plaçons dans un cadre multi-agent,où la propriété deMarkov n’est pas vérifiée : l’état de l’environnement dépendant à la fois de l’état pré-cédent de l’agent apprenant et des autres agents ainsi que des actions effectuées parl’ensemble des agents. Dans ce contexte les algorithmes d’apprentissage par renfor-cement comme le Q-Learning ne sont plus assurés de convergervers une solutionoptimale. Une solution à ce problème est de rendre l’environnement markovien en ré-cupérant des informations sur les états des autres agentvia un acte de communicationen utilisant des messages de performatifquery.

Troisièmement, les agents étant asynchrones, les actions déléguéesvia les actesde communicationrequestpeuvent rendre l’environnement non markovien : l’état del’environnement dépendant de l’action effectuée par l’agent et des actions potentiel-lement déléguées dans le passé. L’utilisation de la mémoirenous semble une bonnesolution pour se souvenir de ce que l’agent a demandé dans le passé.

3. Modèle proposé

Dans cette section nous présentons notre algorithme d’apprentissage d’actes decommunication. D’abord, nous montrons comment nous construisons les actes decommunication à l’aide de protocoles simples. Ensuite, nous présentons notre algo-rithme d’apprentissage qui gère les hypothèses d’asynchronisme et d’observabilitépartielle des systèmes multi-agents. Enfin nous exposons dans une dernière partie lespremiers résultats obtenus expérimentalement.

Page 13: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 171

3.1. Construction des actes de langage

Dans cet article, nous nous sommes intéressés à la construction de messages deperformatifrequestet query. En effet, les actes de communicationrequestsont trèsutiles dans les SMA car ils permettent aux agents de demanderà d’autres d’effectuerune tâche qu’ils ne savent pas effectuer et de déléguer des actions de manière à at-teindre un but donné plus rapidement. Le performatifqueryest lui aussi très usité caril permet d’échanger un certain nombre d’informations et donc d’améliorer l’appren-tissage par renforcement.

La difficulté majeure de la construction d’actes de communication est d’associerun contenu cohérent à un performatif donné et compréhensible pour le destinataire dumessage. Par exemple, si un agent veut envoyer un message de typerequestà un autreagent, il doit associer à celui-ci un contenu contenant au moins un nom d’action afinque le message soit correctement construit. En outre, si ce même agent souhaite quele destinataire comprenne le message et accède à sa requête il faut nécessairement quele contenu du message lui soit intelligible : les noms d’actions devront correspondreà des actions que le destinataire est capable d’effectuer. De la même manière pour lesactes de communication de performatifquery, l’agent devra leur associer un contenuformé d’un ensemble de noms de variables connues du destinataire afin que celui-cipuisse répondre à ce message en donnant leurs valeurs.

Comme nous l’avons déjà remarqué, l’agent apprenant ne peutconnaître à l’avanceles capacités et les connaissances des autres agents. Notresolution permet de récupé-rer ce type d’informations via des protocoles simples. Pourcela nous faisons deuxhypothèses sur nos agents. Premièrement ceux-ci sont introspectifs dans le sens oùils sont capables de raisonner sur leurs actions et de répondre par conséquent à desquestions simples telles que « Qu’est-ce que tu es capable defaire ? » Deuxièmementils sont non byzantins, c’est-à-dire qu’ils ne mentent pas.

3.1.1. Construction des messages request

Figure 1. Le protocole what-order

Page 14: Apprentissage par renforcement d’actes de communication

172 RSTI - RIA. Volume 24 – n˚ 2/2010

Les messages de performatifrequestpermettent de déléguer des actions en deman-dant à l’agent destinataire d’effectuer les actions citéesdans le contenu du message.Pour construire ce type de message il est donc nécessaire de connaître les actions quele destinataire est capable d’exécuter.

Nos agents étant introspectifs ils sont capables de répondre à la question « Qu’estce que je peux te demander? » Celle-ci se traduit en langage VDL par l’utilisationdu performatifwhat-orderdont l’utilisation est explicitée dans les travaux suivants(Charif et al., 2007; Sabouret, 2002) ainsi que dans la section 2.1. La réponse atten-due est alors un message de performatifassert-orderdont le contenu est composéde l’ensemble des noms d’actions que l’agent peut effectivement effectuer si cela luiest demandé au moment où il reçoit le message. Le contenu du messageassert-orderest alors extrait et associé à un message de performatifrequest. Chaque nouvel actede communication ainsi construit est alors une nouvelle action potentielle de l’agentlorsque celui-ci se trouve dans l’état où il a initié le protocole.

Pour construire les messages de performatifrequest, nous proposons un protocolewhat-orderqui utilise les actes de communicationwhat-orderetassert-order. Ce pro-tocole est illustré sur la figure 1.

3.1.2. Construction des messages query

Figure 2. Le protocole what-query

Les messagesquerysont utilisés afin d’obtenir des informations sur les états desautres agents. L’état d’un agent est constitué d’un ensemble de variables auxquellessont associées une valeur. C’est pourquoi le contenu d’un acte de communication deperformatifqueryest constitué d’un ensemble de noms de variables. Afin de détermi-ner ces variables, nous utilisons le performatifwhat-queryqui permet de récupérer lesétats accessibles de l’agent destinataire du message à l’instant où celui-ci reçoit le mes-sage. La réponse reçue est alors un message de performatifassert-queryqui contientl’ensemble des variables que l’agent connaît. Chaque variable est alors extraite et de-vient un contenu d’un acte de communicationquery. Ces nouveaux messages sont

Page 15: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 173

alors associés à l’état dans lequel se trouvait l’agent au moment de l’initiation du pro-tocole. Ils sont des actions envisageables pour l’agent dans cet état.

3.1.3. Algorithme d’exploration

Algorithme 2 ExplorationEntrées: s est l’état actuel de l’agent

si random()< δs alorssi random()< 0.5 alors

si whatorder()alorsδs ← δs × 2si δs > 1 alors δs ← 1 fin si

sinonδs ← δs × 0.9

fin sisinon

si whatquery()alorsδs ← δs × 2si δs > 1 alors δs ← 1 fin si

sinonδs ← δs × 0.9

fin sifin si

sinons← action()

fin siSorties: s

Les protocoles précédents permettent de construire les actes de communicationque l’agent peut effectuer dans un état. Il faut donc que l’agent construise pour chaqueétat qu’il rencontre les actes de communication qu’il pourrait effectuer dans celui-ci.Il est donc important que dans chaque nouvel état rencontré,il lance un protocolewhat-orderou what-queryafin de déterminer les actes de communication qu’il peuteffectuer dedans.

Cependant l’état d’un agent n’est qu’une vision partielle de l’état du monde parconséquent un même état de l’agent peut correspondre à plusieurs états différents dumonde. C’est pourquoi, il est possible que deux protocoleswhat-order(respective-mentwhat-query) effectués dans un état identique de l’agent apprenant ne renvoientpas les mêmes noms d’action (respectivement les mêmes états). Il est donc importantque l’agent continue l’envoi de protocoles même dans les états déjà rencontrés.

Néanmoins les protocoles sont coûteux en temps car l’agent doit attendre la ré-ponse, la traiter et pendant ce temps il n’est pas en train d’apprendre à utiliser ses ac-tions. De plus, on peut supposer qu’au bout d’un certain temps l’agent aura construitl’ensemble des actes de communication de chaque état. Il estdonc nécessaire que

Page 16: Apprentissage par renforcement d’actes de communication

174 RSTI - RIA. Volume 24 – n˚ 2/2010

pour l’ensemble des états rencontrés, l’agent explore l’espace d’actions en lançantdes protocoleswhat-orderet what-querytant qu’il découvre de nouveaux actes decommunication et qu’il exploite les messages ainsi construits en apprenant quand lesenvoyer lorsqu’il ne met plus à jour de nouvelles actions à l’aide des protocoles.

Pour cela nous utilisons un paramètre d’exploitationδs (associé à chaque étatsrencontré par l’agent) comme le montre l’algorithme 2. Il représente la probabilitéd’effectuer un protocolewhat-orderouwhat-query, 1−δs représentant alors la proba-bilité d’effectuer l’algorithme d’apprentissage qui apparaît dans l’algorithme par l’ap-pel à la fonction action() décrite dans la section 3.3. Le paramètre évolue en fonctiondu résultat des protocoles. Si le protocole permet de découvrir de nouvelles actions,alors sa valeur est augmentée sinon elle est diminuée. La valeur deδs est initialiséeà 1, pour chaque états de l’agent. Dans l’algorithme 2, les fonctions what-order() etwhat-query() renvoient respectivement la valeurvrai si elles permettent de découvrirau moins une nouvelle action.

3.2. Apprentissage par renforcement

Afin d’apprendre à utiliser les actes de communication construits à l’aide des pro-tocoles présentés ci-dessus, nous utilisons l’algorithmedu Q-Learning. En effet c’estun algorithme simple à mettre en place, qui fonctionne très bien lorsque la propriété deMarkov est vérifiée. Il est par ailleurs utilisé dans les travaux de (Dutechet al., 2003)complété par de la mémoire pour apprendre dans un environnement partiellement ob-servable.

Cette approche pose cependant plusieurs problèmes. Premièrement les agents sontautonomes et ils peuvent décider de ne pas répondre aux messages. Or nos protocolesse terminent lorsque l’agent obtient une réponse. Par conséquent, si le destinataire dumessage ne répond pas, l’agent restera bloqué au niveau du protocole dans l’attented’une réponse. De plus, les réponses aux actes de communication queryet requestpermettent de déterminer si l’acte de communication a échoué ou non. Ainsi si l’agentreçoit un messageimpossibleil sait que l’agent ne peut effectuer l’action demandée,en l’absence de réponse il ne peut en déduire si l’agent va effectuer l’action ou non.Notre algorithme doit donc pouvoir gérer ce type de problème.

Deuxièmement dans l’algorithme du Q-Learning les actions sont séquentielles. Eneffet une nouvelle action est choisie et exécutée dès que la précédente se termine. Ilnous faut donc déterminer la fin d’un acte de communication, pour pouvoir l’assimilerà une action et y appliquer l’algorithme d’apprentissage par renforcement. Les actionsde l’agent se terminent lorsque leurs effets attendus sont réalisés. Ils nous faut doncdéfinir les effets des actes de communicationqueryet requestet déterminer commentl’agent peut les identifier.

Troisièmement, la propriété de Markov n’est plus vérifiée dans un système multi-agents. D’une part les états des autres agents ne sont pas forcément observables parl’agent. Or ces états influant sur les actions déléguées par l’agent apprenant, la réussite

Page 17: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 175

d’un acte de communication peut donc dépendre de variables non visibles par l’agentapprenant. D’autre part les agents pouvant être asynchrones une action déléguée à uninstantt pour l’agent apprenant peut être exécutée à un tempst + n (où n ∈ N etn ≥ 1). Par conséquent l’état de l’agent au tempst +n dépendra de l’action effectuéepar l’agent apprenant à la périodet + n− 1 et de l’action déléguée au tempst. Enfinles autres agents peuvent aussi agir sur l’environnement deleur propre initiative.

Dans cette sous-section nous exposons nos différentes solutions pour chacun desproblèmes évoqués ci-dessus.

3.2.1. Gestion de l’autonomie des agents

Les agents dans un système multi-agent sont autonomes. De cefait ils peuventne pas répondre à un message. Or la fin d’un acte de communication est déterminépar la réception d’un message réponse, donc l’agent apprenant pourrait rester bloquédans l’attente d’un message qui n’arriverait pas. C’est pourquoi nous utilisons untimeout. Si l’agent ne reçoit pas de réponse au-delà de cette limite,il stoppe l’action et ilne modifie pas la Q-Value de ce message, parce qu’il suppose que son message a étéperdu.

À chaque prise de décision, l’agent choisit une actiona à effectuer et le compteurk qui stocke le nombre de pas de temps depuis lequel l’agent a exécuté son action estinitialisé à 0. A chaque pas de temps, k est incrémenté de 1 jusqu’à ce que :

– k>TLIM. Dans ce cas l’agent arrête son action.

– L’action a est terminée (une réponse a été obtenue). L’agent modifie alors lavaleurQ(s, a) (oùs est l’état de l’agent lorsqu’il a lancé l’actiona).

3.2.2. Modélisation d’un acte de communication en action

Un acte de communication produit des effets sur son destinataire selon la théo-rie des actes de langage. C’est pourquoi nous avons envisagéde les assimiler à desactions afin d’y appliquer un algorithme d’apprentissage par renforcement tel que leQ-Learning. Dans ce type d’algorithme, les actions sont exécutées en série. En ef-fet à chaque prise de décision, l’agent choisit une action etl’exécute complètement.Par conséquent, nous devons pour pouvoir appliquer le Q-Learning déterminer la find’un acte de communication. Une action se termine lorsque tous ses effets sont réa-lisés, c’est pourquoi nous avons choisi comme condition de terminaison d’un acte decommunication la réalisation de tous ses effets.

Pour les actes de communicationquery, les effets attendus sont la réception d’unmessage réponse. Ainsi, un acte de communication sera terminé à la réception d’unmessage réponse de performatifunknownou inform.

Pour les actes de communicationrequest, le problème est plus complexe. En ef-fet si le destinataire du messagerequestaccepte d’effectuer l’action décrite dans lecontenu du message, les effets attendus sont les effets de cette action. Or ces effetspeuvent ne pas être visibles du point de vue de l’agent apprenant s’ils interviennent

Page 18: Apprentissage par renforcement d’actes de communication

176 RSTI - RIA. Volume 24 – n˚ 2/2010

sur des états de l’environnement qui ne sont pas observablespar l’agent (comme lesétats des autres agents). Une solution proposée par FIPA estd’utiliser un deuxièmemessage de performatifconfirmqui permet à l’agent exécuteur de la tâche de signi-fier au demandeur que l’action est terminée. Cette solution est envisageable mais peusatisfaisante. En effet les agents étant asynchrones, la tâche demandée peut mettre uncertain temps avant d’être exécutée ce qui va bloquer l’agent apprenant jusqu’à ce qu’ilreçoive un messageconfirm. Or un des avantages de la délégation de tâches est de pou-voir effectuer des actions en parallèle afin de gagner du temps. C’est pourquoi nousavons choisi de considérer un messagerequestcomme étant exécuté lorsque l’agentapprenant reçoit un message réponse. Cependant, comme il peut être utile pour notreagent d’attendre la fin de certaines actions déléguées car leurs effets sont nécessairesà la réussite d’une autre tâche, nous définissons une nouvelle action : l’actionwait quiconsiste pour l’agent apprenant à attendre un tour d’exécution en n’effectuant aucuneautre action.

L’action wait est ajoutée à l’ensemble des actions possibles de l’agent afin de luipermettre d’attendre les effets des actionsrequestquand cela lui est nécessaire. Notreagent devra non seulement apprendre à agir et à communiquer mais aussi à attendre,en utilisant le Q-Learning. Dans notre algorithme, nous donnons un coût nul à l’actionwait et un coût négatif à l’envoi d’un message2 afin de privilégier l’attente à l’envoid’un message.

3.2.3. Résolution de la non-markovité

La propriété de Markov n’est plus vérifiée dans un système multi-agent, car l’agentapprenant ne peut observer totalement l’état de l’environnement. De plus dans notreproblème, nous utilisons des actes de communicationrequestqui permettent à l’agentde déléguer un certain nombre de tâches. Or, les agents étantasynchrones, ces tâchespeuvent être exécutées de manière décalée par rapport à l’instant où elles ont été or-données. Par conséquent, l’état de l’environnement dépendra aussi de ces actions.

Afin de récupérer des informations sur les états des autres agents, nous utilisonsl’acte de communicationqueryqui permet de demander à un agent la valeur d’unepartie de son état. Cette information est alors stockée sousforme de croyance quel’agent utilise comme élément de son état. A l’aide de l’apprentissage par renforce-ment, l’agent pourra alors déterminer les états dans lesquels il doit envoyer un mes-sagequery. Cependant chaque croyance ainsi stockée peut devenir fausse durant leprocessus d’apprentissage. Il est donc nécessaire de déterminer la durée de vie d’unecroyance.

2. Ce coût sera fonction de la réponse obtenue, un message obtenant une réponse « positive »(c’est-à-dire la réception d’un messageagreepour l’envoi d’un messagerequestou la récep-tion d’un messageinformpour l’envoi d’un messagequery) sera moins pénalisé qu’un messageobtenant une réponse « négative ». Cette règle sera d’ailleurs appliquée lors de nos expérimen-tations.

Page 19: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 177

Pour résoudre ce problème nous utilisons la mémoire de l’agent. Chaque croyancereçue après l’envoi d’un messagequeryest ajoutée à l’état de l’agent pour la prochaineprise de décision puis elle est effacée immédiatement après. Cependant, puisque l’étatde l’agent inclut ses observations et ses croyances elle n’est pas perdue car elle peutêtre stockée dans la mémoire. Par conséquent, en utilisant l’algorithme présenté à lasection 2.3.3, l’agent apprend le nombre de pas de temps depuis lequel il a reçu unecroyance au lieu de combien de temps il doit s’en souvenir.

Une autre motivation pour choisir d’utiliser la mémoire de l’agent est qu’elle per-met à l’agent de se souvenir de ses actions passées. Ainsi il peut se souvenir desactions qu’il a déléguées antérieurement. Comme dans les travaux de (Dutechetal., 2003; McCallum, 1996), la mémoire est considérée comme unevariable de l’étatde l’agent au même titre que ses croyances. L’état d’un agentst se décompose doncen un ensemble de variablesst = o1

t , ...ont , bt, m

1t , ..., m

kt où :

– ∀i ∈ [1, n], oit est une observation de l’agent de son environnement à l’instantt.

– bt est la croyance obtenue par l’envoi d’un acte de communication query autempst− 1. (b peut être vide si la dernière action de l’agent n’était pas unquery).

– m1t , ..., m

kt constituent la mémoire de l’agent (ici de taille k) au temps ttel

que∀i = 2p+1 avecp ∈ N mit est l’action effectuée par l’agent au tempst− (p+1)

et tel que∀i = 2p avecp ∈ N mit est la croyanceb′t et l’ensemble des observations

o1t′ , ..., o

nt′ effectuée au tempst′ = t− p

La taille d’un état de l’agent évolue donc en fonction de la taille de mémoire utili-sée comme l’illustre la figure 3 (a).

Pour déterminer la taille de la mémoire de l’agent, nous utilisons l’heuristique de(Dutechet al., 2003) à laquelle nous avons ajouté un critère lié à l’utilisation de l’ac-tion wait. En effet, nous avons remarqué que l’actionwait peut entraîner des situationsde blocage sans l’utilisation de la mémoire : si dans un états il est pertinent d’attendrecar l’agent vient de lancer une actiona, cela l’est beaucoup moins si l’agent vientd’attendre au coup précédent. Sans mémoire l’agent apprendra à attendre dans l’états et pourra donc rester bloqué dans cet état si celui-ci n’est pas modifié par une aideextérieure (action lancée auparavant ou un autre agent modifiant l’environnement).Au contraire en utilisant la mémoire l’agent pourra apprendre par exemple à attendreaprès un acterequestet pas après une actionwait. Un état où la meilleure action estwait est très ambigu, c’est pourquoi nous prenons en compte cetteinformation dans lechoix des états les plus ambigus. Ainsi nous calculons l’ambiguïté de chaque états àl’aide de la fonction suivante :

amb(s) = waits + 13 (rgs[up(s)] + rgs[

1N

a∈As

∆qa] + rgDs[qa1 − qa2]) où :

– a1 eta2 représentent les deux meilleures actions dans l’états (elles maximisentla valeur Q(s,a)).

– waits =∞ si a1=wait,0 sinon.

– qa = Q(s,a) et∆qa est la dernière modification apportée àqa

Page 20: Apprentissage par renforcement d’actes de communication

178 RSTI - RIA. Volume 24 – n˚ 2/2010

– N est le nombre de valeur Q(s,a) de l’états

– rgs(x) (respectivementrgD(x)) renvoie la position de l’états si on ordonnetous les états dans l’ordre croissant(respectivement décroissant) en fonction dex.

LesN états les plus ambigus sont ceux qui possèdent le plus grand taux d’ambi-guïté. La taille de la mémoire desk états les plus ambigus est alors incrémentée de 1et le processus d’apprentissage recommence. Ce processus est illustré par la figure 3(b).

Figure 3. (a) Illustration de la structure de l’état d’un agent en fonction de la taille desa mémoire (b) Construction du nouvel ensemble d’états par ajout de mémoire aprèsdétection des états ambigus

3.3. Algorithme

Dans cette section nous présentons, l’algorithme d’apprentissage ainsi que notrealgorithme général.

Algorithme 3 ActionEntrées: s est l’état actuel de l’agent et T la température

a← choiceAction(s,T)s’← exécute(a)Q(s, a)← αs ×Q(s, a) + (1− αs)(γ maxa′(Q(s, a)) + recompense(s)

Sorties: s’

L’algorithme 3 est appelé par la fonctionexplorationprésentée dans la section3.1.3. Elle correspond à une itération de l’algorithme du Q-Learning. La fonction

Page 21: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 179

choiceAction(s,T) sélectionne une action parmi l’ensemble des actions possibles dansl’état s. Cette sélection s’effectue selon la température de Boltzmann : la probabilitépour une actiona d’être exécutée dans l’états dépend de la valeur de Q(s,a) ainsi quedu paramètre de température T.

P (at = a|st = s) =eQ(s,a)/Tt

∑b∈A eQ(s,b)/Tt

Algorithme 4 ApprentissageEntrées: S l’ensemble des états connus de l’agentet S’ l’ensemble des états ambigus

de l’agents← etatInitial()S← update(s,S,S’)R0 ← 0tant que cpt < CPT_MAXfaire

tant que ! FIN faires← exploration(s)S← update(s,S,S’)si s= ETAT_FINAL alors

R0 ← recompense(s) +R0

FIN← TRUEfin si

fin tantquecpt← cpt + 1

fin tantqueS’← detection(S)

Sorties: R0/CPT_MAX ,S,S’

Algorithme 5 Algorithme général(R0,S,S’)← apprentissage(S,S’)S’← s|rgs(amb(s)) < Ntant que 6= ARRET faire

(R1,S,S’)← apprentissage(S,S’)si |R0 −R1| < ǫ alors

ARRET← TRUEsinon

R0 ← R1

R1 ← 0 S’← s|rgs(amb(s)) < Nfin si

fin tantqueSorties: S

La première phase de l’algorithme 5 consiste à initialiser l’ensembleS des étatsde l’agent sans utiliser de mémoire et à apprendre une politique dessus en utilisant

Page 22: Apprentissage par renforcement d’actes de communication

180 RSTI - RIA. Volume 24 – n˚ 2/2010

l’algorithme 4. En effet l’algorithme 4 correspond à la phase d’apprentissage par ren-forcement sur l’ensemble des étatsS en faisant appel à la fonctionexplorationdé-taillée dans la section 3.1.3.S évolue cependant durant l’apprentissage en fonctiondes nouveaux états rencontrés par l’agent. Un nouvel état est soit une nouvelle obser-vation de l’agent de son environnement soit un état, déjà connu et identifié commeambigu, auquel est ajouté un cran de mémoire. La fonctionupdate(s,S,S’)permet lamise à jour de l’ensemble d’étatsS. L’apprentissage s’effectue sur un certain nombred’expériences CPT_MAX. Chaque expérience se termine lorsque l’agent rencontre unétat terminal. Les récompenses obtenues (négatives ou positives) à chaque expériencesont sommées et renvoyées.

Une fois l’algorithme d’apprentissage terminé, l’ensemble des états ambigus estconstitué en appliquant à l’ensembleS l’heuristique présentée à la section 3.2.3, cettephase correspond dans l’algorithme à l’appel à la fonctiondetection(S). Puis l’algo-rithme d’apprentissage est relancé sur l’ensembleS en utilisant un cran de mémoiresupplémentaire dans les états de l’ensembleS′. La récompense moyenne obtenue lorsde cet apprentissage sera alors comparée à la dernière récompense moyenne obtenuepar l’agent. Si la différence entre les deux est peu significative alors l’algorithme 5se termine sinon l’algorithme détecte l’ensemble des étatsambigus et réitère la phased’apprentissage.

4. Résultats expérimentaux

Afin de tester notre algorithme, nous avons réalisé deux expériences simples dansun système multi-agent composé de deux agents. La première expérience permet detester la construction des actes de communicationrequestainsi que l’utilisation del’action wait et de la mémoire dans un système multi-agent asynchrone. La deuxièmeexpérience permet, quant à elle, de tester la construction des actes de communicationqueryet leurs utilisations dans un contexte d’observation partielle. Nous avons choisices exemples car ils permettent de tester différentes modalités de notre algorithme enmodélisant à chaque fois un problème lié à un contexte multi-agent : asynchronismedes agents, observation partielle de l’environnement et environnement stochastique.Ils sont pour nous une première étape avant de tester notre algorithme sur des pro-blèmes plus complexe mettant en jeu un plus grand nombre d’agents.

4.1. Le labyrinthe

4.1.1. Description

Dans le problème du labyrinthe, un robot se promène dans un labyrinthe modélisépar une grille de taille 5*5 afin d’atteindre un trésor, tout en évitant des cases pièges(25 % des cases du labyrinthe) comme le montre la figure 4. Pourcela il disposede quatre actions : haut, bas, gauche et droite. Chacune de ces actions lui permet

Page 23: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 181

Figure 4. Le problème du labyrinthe : le robot doit atteindre le trésorsans tomberdans les cases pièges (en noir sur la figure)

d’avancer d’une case dans la direction indiquée par le nom del’action sauf si celle-cile ferait sortir du labyrinthe. Dans ce dernier cas l’agent ne bouge pas.

Dès que le robot atteint le trésor ou une case piège, l’expérience se termine et lerobot est remis sur sa case de départ. La configuration du labyrinthe n’est pas modifiéeentre chaque expérience.

Le robot ne peut effectuer aucune action sauf si on lui en donne l’ordre. L’agentapprenant situé à l’extérieur du labyrinthe doit donc apprendre à le guider. Chaqueordre reçu est traité séquentiellement selon l’ordre d’envoi des requêtes.

L’agent apprenant ne connaît pas la disposition du labyrinthe, il observe seule-ment la position du robot. L’ensemble des positions possibles du labyrinthe constituel’ensemble d’observations de l’agent. En conséquence, l’état de l’agent apprenant estconstitué de la position actuelle du robot complétée par sa mémoire (éventuellementvide).

Les deux agents sont asynchrones dans le sens où leurs vitesses d’exécution sontdifférentes ce qui ne permet pas de garantir que les commandes de l’agent apprenantsoient prises en compte immédiatement. Cependant cette vitesse est constante et nevarie pas entre deux expériences.

L’asynchronisme des agents va impliquer que les effets des actes de communica-tion requestne seront pas observables par l’agent au moment de prendre saprochainedécision et donc d’envoyer une nouvelle requête. Or les actions sont exécutées séquen-tiellement, ainsi une action que l’agent croit effectuer dans un état ne sera exécutéeque dans l’état suivant une fois la première action terminée. Cela peut par conséquententraîner un mauvais apprentissage avec un algorithme classique.

Par exemple le robot est sur la case (1,1) et l’agent lui demande d’aller en bas parun messagerequest(bas)que nous noteronsa1. Le robot accepte, envoie un messageagreeet commence l’exécution de l’actiona1. L’agent apprenant reçoit le message

Page 24: Apprentissage par renforcement d’actes de communication

182 RSTI - RIA. Volume 24 – n˚ 2/2010

Figure 5. Exemple d’un mauvais apprentissage de l’agent sans l’utilisation de l’ac-tion wait : l’agent apprend que l’action droite effectuée dans la case (2,1) est unemauvaise action car elle conduit à l’état game-over

agree, ce qui de son point de vue, signifie que l’actiona1 est terminée. Il doit alorsobserver l’état de l’environnement et choisir une nouvelleaction. Or le robot effec-tue toujours l’actiona1 et ne s’est donc pas encore déplacé, en conséquence l’agentobserve le robot sur la case (1,1) et choisit à nouveau l’action request(bas)que nousnoteronsa2. Ce décalage entre l’agent apprenant et le robot va conduirecomme lemontre la figure 5, à un mauvais apprentissage.

L’utilisation de l’actionwait et de la mémoire devrait résoudre ce problème en per-mettant d’attendre les effets des actions avant d’en effectuer une nouvelle. En effet,un comportement optimum sur la case (1,1) est d’attendre vial’action wait. Cepen-dant si l’agent apprend que la meilleure action a effectué sur la case (1,1) estwait, iln’atteindra jamais le trésor. L’utilisation de la mémoire devrait l’aider à différencierl’état (1,1) où la dernière action n’est pas un request(bas)et où il serait intéressantd’effectuer unrequest(bas)et l’état (1,1) où la dernière action est unrequest(bas)etoù il est donc important d’attendre que le robot finisse d’exécuter la dernière actionqu’on lui a demandé.

4.1.2. Résultats

Nous avons testé notre algorithme sur l’exemple du labyrinthe dans le cas où lerobot s’exécute deux fois moins vite que l’agent apprenant.Chaque période d’appren-tissage comprend 2 500 expériences où le trésor rapporte unerécompense de 100 et

Page 25: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 183

les cases pièges une récompense de -20. Chaque acte de communication qui réussit(où le robot répond par un acte de communicationagree) coûte -1 à l’agent et -5 s’iléchoue. L’actionwait ne coûte rien à l’agent. Le paramètre de la température est fixéinitialement à 5 et il décroît selon le paramètreTd = 0, 999. Nous utilisons un tauxd’apprentissageαs pour chaque états de l’agent. Il est initialisé à 0,99 et il décroîten fonction du nombre de fois où l’état a été rencontré par l’agent :alphas = 1

ns

. Leparamètreγ vaut 0,9.

La figure 6 montre la récompense finale obtenue par l’agent en n’utilisant soit au-cune mémoire, soit une mémoire de taille 1. Pour rendre plus lisibles les courbes nousavons fait la moyenne des récompenses sur 10 pas de temps, ainsi le point d’abscisse10 correspond à la moyenne des récompenses obtenues par l’agent de l’itération 11 à20.

Les résultats montrent clairement que l’utilisation d’un cran de mémoire permetà l’algorithme de converger vers une solution où la récompense moyenne finale estde 100, alors que sans mémoire l’agent stagne vers une récompense moyenne finalede 40. Notre algorithme permet donc de gérer l’asynchronisme des agents grâce à lamémoire.

−20

0

20

40

60

80

100

120

0 500 1000 1500 2000 2500

Réc

ompe

nse

obte

nue

Nombre d’itérations

Le labyrinthe

Sans mémoireAvec un cran de mémoire

Figure 6. Récompense moyenne sur 10 expériences en fonction du nombred’itéra-tions de l’algorithme pour un agent sans mémoire (plus) et avec un cran de mémoire(croix)

Page 26: Apprentissage par renforcement d’actes de communication

184 RSTI - RIA. Volume 24 – n˚ 2/2010

4.2. Le cuisinier

4.2.1. Le problème du cuisinier

Le problème du cuisinier consiste pour un agent cuisinier à obtenir du chocolatfondu. Pour cela il doit commander l’agent casserole qui contient le chocolat via lesactionsallumer, éteindreouvider.

Les actionsallumeretéteindrepermettent de modifier la fonte du chocolat à l’aidede deux processus stochastiques. Si la plaque est allumée, la casserole peut effectuerl’action fontequi transforme le chocolat froid en chocolat chaud, le chocolat chauden chocolat fondu et enfin le chocolat fondu en chocolat brûlé. De même le processusinversesolidepermet si la casserole est éteinte de rendre chaud le chocolat fondu et derendre froid le chocolat chaud. L’actionviderpermet à l’agent apprenant de récupérerle chocolat. Les deux actions permettant le changement du chocolat sont stochas-tiques : le passage d’une valeur à une autre a une certaine probabilité de s’effectuer.Les actionsallumer, éteindreet vider sont elles déterministes : elles produisent lesmêmes effets à chaque fois.

L’état de la casserole est décrit par deux variables :alluméequi peut être vraieou faux etchocolatqui peut prendre la valeur froid, chaud, fondu ou brûlé. Les dif-férents états de la casserole représentent l’espace d’états de l’environnement (8 étatsdifférents). A l’état initial la casserole est éteinte (alluméevaut faux) et contient duchocolat froid. Si le chocolat devient brûlé ou si l’agent apprenant vide la casserole,l’expérience se termine. Le cuisinier a réussi si le chocolat obtenu est fondu sinon il aéchoué.

La difficulté de ce problème vient du fait que le cuisinier n’observe que la variablealluméede la casserole. Il n’a pas accès à la variablechocolat: il évolue dans unenvironnement partiellement observable et stochastique.L’agent apprenant doit doncapprendre à envoyer des actes de communicationqueryafin de déterminer la valeurdu chocolat pour ne pas le laisser brûler ou pour ne pas vider la casserole trop tôt. Etil doit aussi apprendre à attendre que le chocolat fonde pourne pas envoyer des actesde communication à chaque instant.

4.2.2. Résultats

Nous avons testé notre algorithme sur le problème du cuisinier et nous avons com-paré nos résultats à ceux obtenus par notre algorithme si l’agent ne peut pas envoyerd’actes de communicationquery. Chaque algorithme effectue 2 500 expériences àchaque période d’apprentissage. Le paramètre de température T et le taux d’appren-tissageα évoluent de manière identique à l’expérience du labyrinthe. Le paramètreγvaut 0,9.

La figure 7 montre les résultats que nous avons obtenus dans lecas où la modifica-tion du chocolat s’effectue avec une probabilité de 0,3. Si le cuisinier vide la casseroleet que le chocolat est fondu, il obtient une récompense de 100et de -50 si celui-ci estchaud. Si le chocolat atteint l’état brûlé ou si le cuisinierobtient du chocolat froid,

Page 27: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 185

le cuisinier obtient une récompense de -100. L’envoi d’un acte de communicationcomme dans le problème du cuisinier coûte -1 s’il réussit et -5 s’il échoue. L’actionwait ne coûte rien.

−100

−50

0

50

100

150

0 500 1000 1500 2000 2500

Réc

ompe

nse

obte

nue

Nombre d’itérations

Le cuisinier

Sans mémoireAvec un cran de mémoire

Sans query et avec mémoire

Figure 7. Récompense moyenne sur 10 expériences en fonction du nombred’itéra-tions de l’algorithme pour un agent sans mémoire (croix), avec un cran de mémoire(plus) et sans utiliser d’actes de communication query (astérisque)

Les résultats obtenus montrent que l’algorithme ne converge pas sans l’utilisationdes actes de communicationquery, l’agent obtenant une récompense moyenne de -100 (il obtient du chocolat brûlé ou froid en permanence). Cependant l’utilisationdesqueryne suffit pas, il est nécessaire de la coupler à la mémoire. En effet sansmémoire l’agent obtient après convergence de l’algorithmeune récompense moyennede -25 alors qu’avec un cran de mémoire l’agent obtient une récompense moyennede 70. L’ajout de cran de mémoire supplémentaire ne permet pas l’amélioration dela récompense moyenne obtenue. Cependant l’agent apprend àatteindre son but eneffectuant moins d’actes de communication même s’ils restent nombreux.

Les résultats sont encourageants mais il reste des améliorations à effectuer, notrealgorithme n’arrivant pas à atteindre la récompense maximale à chaque expérience. Deplus l’agent effectue encore trop d’actes de communicationet n’arrive pas à apprendreun comportement optimal.

Page 28: Apprentissage par renforcement d’actes de communication

186 RSTI - RIA. Volume 24 – n˚ 2/2010

5. Conclusion

Nous nous sommes intéressés dans cette étude à l’apprentissage par renforcementd’actes de communication dans un contexte multi-agent. Dans cette optique nousavons défini trois types de problèmes liés à cette approche : la construction des actesde communication, l’assimilation des actes de communication à des actions afin depouvoir leur appliquer des techniques d’apprentissage parrenforcement et enfin la ré-solution des problèmes posés par la non markovité des systèmes multi-agents. Afinde construire les actes de communication nous avons utiliséune solution basée sur lepouvoir d’introspection des agents et leur capacité à raisonner sur leur actions afin quel’agent apprenant puisse construire les actes de communication dont il a besoin. Cesactes de communication ainsi créés sont alors considérés comme des actions afin deleur appliquer un algorithme d’apprentissage par renforcement. Notre algorithme gèrele problème de non-markovité en utilisant les actes de communicationquerycomplé-tés par la mémoire de l’agent.

Nous avons testé notre algorithme sur deux types de problèmes. Le premier amontré que notre algorithme permet d’apprendre à déléguer des actions dans un sys-tème multi-agent asynchrone en utilisant l’actionwait et la mémoire de l’agent. Ledeuxième problème nous a permis de tester le comportement denotre algorithmelorsque l’environnement est partiellement observable. Nous montrons que demanderl’état de l’autre agent à l’aide d’acte de communicationquery permet d’apprendreune bonne politique alors que notre algorithme sansqueryne converge pas. Cepen-dant cette politique n’est pas optimale : l’agent n’obtientpas toujours la récompensemaximale et elle nécessite l’utilisation d’un trop grand nombre d’actes de communi-cation. De plus l’ajout de plus d’un cran de mémoire n’améliore pas sensiblement lesrésultats. Nous pensons que ces problèmes peuvent être dûs àla manière dont nousdétectons les nœuds ambigus. En effet l’heuristique de (Dutechet al., 2003) n’a pasété conçue pour des problèmes utilisant la communication etpeut-être que nous déve-loppons des nœuds inutiles à notre problème.

Par conséquent une direction de recherche serait de définir une heuristique pourl’utilisation de la mémoire. L’heuristique que nous utilisons est largement inspirée destravaux de (Dutechet al., 2003) lesquels ont eu de bons résultats dans un SMA sanscommunication. En utilisant l’information fournie par la communication (c’est-à-direle nombre d’actes de communication ayant échoué pour chaqueétat de l’agent), nouspensons que l’heuristique pourrait être améliorée.

En outre, nous aimerions simplifier l’utilisation de la mémoire de l’agent. L’al-gorithme de (Dutechet al., 2003) n’ajoute de la mémoire que sur un certain nombred’états et limite ainsi l’augmentation du nombre d’états à chaque ajout de mémoire.Cependant si l’agent a besoin de se souvenir dans un états qu’il croyait que le choco-lat était chaud il y a dix pas de temps alors l’agent devra utiliser une mémoire de taille10 pours. Par conséquent l’algorithme devra exécuter au moins 10 apprentissagespar renforcement ets va être décomposé en un ensemble d’étatsS′ probablement trèsgrand alors que seul deux états suffiraient : l’états augmenté de l’information le cho-

Page 29: Apprentissage par renforcement d’actes de communication

Apprendre à communiquer dans un SMA 187

colat était chaud il y a 10 pas de temps ets augmenté de l’information le chocolatn’était pas chaud il y a 10 pas de temps. Nous aimerions que l’agent puisse se souve-nir seulement des informations pertinentes pour améliorerson apprentissage afin deréduire le nombre d’états et diminuer le nombre de fois où nous itérons l’algorithmed’apprentissage par renforcement.

De plus, pour que notre algorithme converge, nous avons dû considérer que l’en-semble des actions apprises par notre agent lui étaient utiles comme cela se fait dansla plupart des travaux en apprentissage par renforcement. Dans un cadre plus réaliste,cette hypothèse ne tient plus et par conséquent il serait intéressant de poursuivre lestravaux et de définir un mécanisme permettant à l’agent de ne garder en mémoire queles actions utiles à son problème.

Enfin nous aimerions pouvoir étendre nos travaux au cas où il existerait plusieursagents apprenants dans le système multi-agent, avec les problèmes d’environnementstochastique, de coopération entre les agents que cela impliquerait. Notre objectif estde pouvoir appliquer ces résultats au domaine de l’intelligence ambiante, dans lequelles appareils de domotique doivent pouvoir apprendre à communiquer les uns avec lesautres sans aucune connaissance préalable sur leur types dedonnées et leurs actionspossibles.

6. Bibliographie

Astrom J. K., « Optimal control of Markov decision processeswith incomplete state estima-tion »,Journal of Mathematical Analysis and Applications, vol. 10, p. 174-205, 1965.

Austin J.,How to do things with words, Oxford University Press, Oxford England, 1962.

Bellman R.,Dynamic Programming, Princeton University Press, 1957.

Bernstein D. S., Zilberstein S., Immerman N., « The Complexity of Decentralized Controlof Markov Decision Processes »,UAI ’00 : Proceedings of the 16th Conference on Un-certainty in Artificial Intelligence, Morgan Kaufmann Publishers Inc., San Francisco, CA,USA, p. 32-37, 2000.

Bertsekas D. P.,Dynamic programming : deterministic and stochastic models, Prentice-Hall,Inc., Upper Saddle River, NJ, USA, 1987.

Cassandra A. R., Kaelbling L. P., Littman M. L., « Acting Optimally in Partially ObservableStochastic Domains »,Proceedings of the Twelfth National Conference on Artificial Intelli-gence (AAAI-94), vol. 2, AAAI Press/MIT Press, Seattle, Washington, USA, p.1023-1028,1994.

Charif Y., Sabouret N., « An agent interaction protocol for ambient intelligence »,2nd Interna-tional Conference on Intelligent Environnement (IE06), 2007.

Dutech A., Samuelides M., « Apprentissage par renforcementpour les processus décisionnelsde Markov partiellement observés Apprendre une extension sélective du passé »,Revued’Intelligence Artificielle, vol. 17, n˚ 4, p. 559-589, 2003.

Ferber J.,Les systèmes multi-agents. Vers une Intelligence Collective, InterEditions, 1995.

FIPA.org, « FIPA Communicative Act Library Specification »,1997.

Page 30: Apprentissage par renforcement d’actes de communication

188 RSTI - RIA. Volume 24 – n˚ 2/2010

Jaakkola T., Jordan M. I., Singh S. P., « Convergence of Stochastic Iterative Dynamic Program-ming Algorithms »,in J. D. Cowan, G. Tesauro, J. Alspector (eds),Advances in NeuralInformation Processing Systems, vol. 6, Morgan Kaufmann Publishers, Inc., p. 703-710,1994.

Kasai T., Tenmoto H., Kamiya A., « Learning of CommunicationCodes in Multi-Agent Rein-forcement Learning Problem »,Proceedings of the 2008 IEEE Conference on Soft Compu-ting in Industrial Applications (SMCia/08), p. 1-6, 2008.

Littman M. L., The Witness Algorithm : Solving Partially Observable Markov Decision Pro-cesses, Technical report, Providence, RI, USA, 1994.

Matari’c M. J., « Using communication to reduce locality in distributed multi-agent learning »,Journal of Experimental and Theoretical Artificial Intelligence, vol. 10, p. 357-369, 1998.

McCallum A. K., Reinforcement learning with selective perception and hidden state, PhD the-sis, 1996. Supervisor-Dana Ballard.

Melo F. S., Veloso M., « Learning of coordination : exploiting sparse interactions in multiagentsystems »,AAMAS ’09 : Proceedings of The 8th International Conferenceon AutonomousAgents and Multiagent Systems, International Foundation for Autonomous Agents and Mul-tiagent Systems, p. 773-780, 2009.

Puterman M.,Markov Decision Processes : Discrete Stochastic Dynamic Programming, JohnWiley & Sons, Inc, New York, Etats-Unis, 1994.

Sabouret N., « A model of requests about actions for active components in the semantic web »,STarting AI Researchers Symposium(STAIRS 2002), p. 11-20, 2002.

Sabouret N., Sansonet J. P., « Un langage de description de composants actifs pour le websémantique »,Info-Interaction-Intelligence (RI3), vol. 1, p. 9-36, 1999.

Searle J. R., « Speech Acts : An Essay in the Philosophy of Language », 1985.

Singh S. P., Jaakkola T., Jordan M. I., « Learning Without State-Estimation in Partially Ob-servable Markovian Decision Processes »,International Conference on Machine Learning,p. 284-292, 1994.

Sutton R. S., Barto A. G.,Reinforcement Learning : An Introdution, The MIT Press, 1998.

Szer D., Charpillet F., « Improving Coordination with Communication in Multi-Agent Reinfor-cement Learning »,ICTAI ’04 : Proceedings of the 16th IEEE International Conference onTools with Artificial Intelligence, IEEE Computer Society, Washington, DC, USA, p. 436-440, 2004.

Tan M., « Multi-agent reinforcement learning : Independentvs. cooperative agents »,In Pro-ceedings of the Tenth International Conference on Machine Learning, Morgan Kaufmann,p. 330-337, 1993.

Watkins C. J. C. H., Learning from delayed rewards, PhD thesis, Cambridge University, Cam-bridge, United Kingdom, 1989.

Weiser M., « The computer for the 21st century », p. 933-940, 1995.

Weiß G., « Adaptation and Learning in Multi-Agent Systems : Some Remarks and a Bibliogra-phy », in G. Weiß, S. Sen (eds),Adaptation and Lerning in Multi-Agent systems, SpringerVerlag, p. 1-21, 1996.

Xuan P., Lesser V., Zilberstein S., « Communication decisions in multi-agent cooperation : Mo-del and experiments »,In Proceedings of the Fifth International Conference on AutonomousAgents, ACM Press, p. 616-623, 2001.