• Aucun résultat trouvé

III. Système Multi-Agents

4. Communication

Les communications dans les systèmes multi-agents, comme chez les humains, sont à la base des interactions et de l’organisation des agents. La communication est donc un outil permettant l’interaction (coopérative ou antagoniste) [Fer95]. En communiquant, les agents peuvent échanger des informations et coordonner leurs activités.

4.1 Modes de communication

On peut distinguer deux modes de communication ; la communication directe et la

communication indirecte.

  

Communication indirecte : dans ce mode de communication les agents se

communiquent par signaux via l’environnement. Ces signaux, une fois interprétés, vont produire des effets sur les agents9. Ce type de communication est spécifique aux agents réactifs.

9

: Prenons l’exemple des fourmis, où chacune se déplace dans un espace à la recherche de nourriture. Chaque fourmi dépose sur son parcours des phéromones qui servent de marqueurs à son itinéraire. Alors il est possible aux fourmis d’optimiser la collecte de nourriture en analysant la concentration en phéromone et en choisissant le chemin le plus parcouru.

  



Communication directe

: l'échange direct est réalisé volontairement en direction d'un individu ou groupe d'individus soit :

Par partage d’informations : les agents se communiquent en utilisant la

technique du tableau noir10 ou « Blackboard » [Pen86] [Rus95] [Cor03]. Dans cette technique, on suppose l’existence d’un espace où les agents peuvent partager et échanger les informations relatives à la résolution de problème.

Par envoi de messages : la communication se fait par échange de messages entre

les agents, ce mode de communication provient initialement du domaine des acteurs [Hew77]. Cette approche s’est inspirée de l’interaction sociale telle que nous la trouvons dans d’autres contextes comme la communication entre les humains.

4.2 Actes de langage

La théorie des actes de langages est à l’origine des langages de communication en SMA. Cette théorie à été introduite dans les années 60 par les travaux d’Austin [Aus62] dans son ouvrage "How to do things with words"(quand dire c’est faire). Austin montre que toute énonciation, permettant la réalisation d’un acte qui, en tant que tel, vise à accomplir quelque chose (provoquer un comportement ou changer l’état mental chez le destinataire…) est appelée acte de langage11. Austin propose de considérer qu'à chaque fois qu'un locuteur produit un énoncé, il fait du même coup trois sortes d'actes de langage :

•••• Acte locutoire : l’acte de dire quelque chose (le fait d’énoncer le message)

•••• Acte illocutoire : l’action effectuée en disant quelque chose, c’est la transmission du

sens ou du contenu du locuteur vers son interlocuteur.

•••• Acte perlocutoire qui correspond à l’effet obtenu en disant quelque chose,

autrement dit, l’effet du à l’interprétation sémantique du message par l’interlocuteur (changement de son état mental, ses attributs, son comportement…)

10

: Ce type de communication n‘existe pas dans les SMA où l’on dispose que d’une vision partielle de systèmes alors que la communication par partage d’information suppose l’existence d’une base partagée sur laquelle les agents viennent lire et écrire [Lab93].

11

: Un acte de langage est un moyen mis en œuvre par un locuteur pour agir sur son environnement par ses mots : il cherche à informer, inciter, demander, convaincre, etc. (http://fr.wikipedia.org/wiki/Acte_de_langage).

Ces travaux ont connu une importance exploitation dans le domaine de communications entres agents intentionnels, ils sont à la base des ACL (Agent communication Laguage) que nous en parlerons dans la section suivante.

4.3 Langages de communication

L’intérêt des langages de communication est de faciliter l’échange et l’interprétation des messages et l’interopérabilité entre les agents. Ces langages se focalisent essentiellement sur la manière de décrire exhaustivement des actes de communication d’un point de vue syntaxique et sémantique. Deux langages de communication entre agent, FIPA-ACL et KQML [Fin94] [Lab97], ont émergé des efforts de standardisation de la communauté des SMA, portés par des besoins d’interopérabilité logicielle.

Le premier langage qui a été introduit est KQML (Knowledge Query and Manipulation). A l’origine, KQML a été développé pour échanger des informations et des connaissances entre des systèmes à base de connaissances. Il a été ensuite repris dans [Fin94] pour décrire les messages échangés entre les agents.

FIPA-ACL (FIPA Agent Communication Language), est proposé dans le cadre d’un travail de standardisation mené au sein l’organisation FIPA12 (Foundation of Intelligent Physical Agents). Ce langage est fondé sur vingt et un actes communicatifs, exprimés par des performatifs, qui peuvent être groupés selon leurs fonctionnalités de la façon suivante13 :

•••• Passage d’information : Inform, Inform-if, Inform-ref, Confirm, Disconfirm,

•••• Réquisition d’information : Query-if, Query-ref, Subscribe,

•••• Négociation : Accept-proposal, Cfp, Propose, Reject-proposal,

•••• Distribution de tâches (ou exécution d’une action) : Request, Request-when,

Requestwhenever, Agree, Cancel, Refuse,

•••• Manipulation des erreurs : Failure, Not-understood.

12

: http://www.fipa.org

13

4.4 Gestion de conversation

Un dialogue ou une conversation est une séquence d’actes de communication échangés entre deux ou plusieurs agents. La communauté SMA distingue essentiellement deux approches différentes pour gérer les conversations [Jar06]:

  

Dans la première approche, l’agent construit son propre plan de communication au moment où il en a besoin pour réaliser sa tâche. Ainsi, l’interaction n’est pas définie a priori, elle est émergente. Les connaissances et les buts des agents régissent l’interaction en spécifiant le message à envoyer (acte de communication, agents destinataires, le contenu du message,...etc.). Cette approche donne à l’agent plus de flexibilité dans son interaction. Cependant, dans cette approche l’agent doit avoir suffisamment de connaissances sur la sémantique des messages et qu’il doit être doté d’un mode de raisonnement lui permettant de mener ses interactions.

  

Dans la deuxième approche, l’interaction se conforme à un enchaînement de messages spécifié à l’avance. Les règles qui régissent l’échange de messages forment le

protocole d’interaction. De plus, le protocole d’interaction définit le type des messages

qui doivent être échangés. L’agent interactif doit se conformer aux règles de conversation dictées dans le protocole. Comparée à la première approche, l’interaction basée sur les protocoles d’interaction ne nécessite pas d’architecture complexe au sein de l’agent. Ainsi, un protocole d’interaction spécifie un ensemble limité de réponses possibles pour un type spécifique de messages.

Documents relatifs