4. Communication dans les Systèmes Multi-Agents

4.3 Langage de communication entre agents

Grâce à la coordination un système multi-agents peut réaliser ses tâches avec plus d'efficacité qu'un seul agent. Mais pour coordonner l'activité d'un ensemble hétérogène d'agents autonomes, il faut que les agents communiquent dans un langage compréhensible par tous les autres. On observe que dans un système ouvert un tel langage peut constituer une interface entre les agents.

L'utilisation d'un langage commun implique que tous les agents comprennent son vocabulaire sous tous ses aspects concernant:

  • la syntaxe, qui précise le mode de structuration des symboles;
  • la pragmatique pour pouvoir interpréter les symboles;
  • l'ontologie pour pouvoir utiliser les mêmes mots d'un vocabulaire commun.

La compréhension du sens des symboles, ou à quoi les symboles font référence, demande un standard rigoureux de la sémantique et de la pragmatique. De plus il est nécessaire que les agents sachent bien utiliser le vocabulaire pour atteindre leurs buts, éviter les conflits, coopérer pour exécuter leurs tâches et modifier l'état mental d'un autre agent.

Un Langage de Communication Agent (ACL de l'anglais Agent Communication Language) doit être conçu comme un langage de haut niveau qui assure en premier lieu l'échange d'états mentaux et le sens du vocabulaire [BOISSIER]. Le format utilisé pour l'échange des connaissances est donné par un langage de contenu, indépendant du langage ACL (p.ex.. KIF, FIPA-SL, FIPA-CCL). Le vocabulaire commun concerne les définitions précisées dans une ontologie. Ces composants sont représentés dans la figure 4.1.


Figure 4.1 Modèle des Langages de Communication entre Agents

Les aspects techniques d'implantation d'un ACL concernent l'existence dans le système de communication entre les agents des mécanismes ci-dessoust:

  • des protocoles pour la couche de transport utilisé (TCP/IP, UDTP, SMTP, IIOP, HTTP)
  • des protocoles de haut niveau (e.g. contract-net, licitations ('auctions'), enregistrement des noms)
  • des services d'infrastructure (broker, facilitateurs, loggers etc.)
  • un mécanisme de contrôle de la communication au sein des agent

Les échanges d'information peuvent être faits par:

  • messages (point à point, diffusion, synchrone ou asynchrone)
  • mémoire partagée (tableaux noirs)

Si on regarde l'évolution des langages de communication on constate une tendance à assurer un partage d'information de plus en plus complexe. Au début on peut remarquer que le partage concernait les objets (Remote Method Invocation, CORBA); ensuite il a concerné les des connaissances (faits, règles, procédures de traitement des connaissances). Les ACL's du présent concernent le partage des états mentaux (croyances, désirs, intentions). On peut citer ici les langages KQML ([LabFin98], [LabFinPeng99]) et FIPA-ACL ([FIPA97]).

Le développement des spécifications des ACL's tire profit des recherches effectuées sur les langues naturelles, sur la pragmatique conversationnelle et la théorie des actes de langage.

Question: Quels aspects techniques de la liste suivante ne sont pas concernés par l'implantation d'un langage de communication entre agents :

  • les services des niveaux bas et intermédiaires des logiciels distribués
  • le protocole pour le routage des messages
  • le protocole réseaux
  • l'identification de l'émetteur
  • le respect de l'ordre des messages

Cliquer ici pour voir la réponse.

Comme il a été présenté dans la section 4.2 les actes de langages peuvent être classifiés dans les catégories suivantes :

  • actes locutoires accomplis quand on formule correctement un énoncé
  • actes illocutoires exprimant une intention du locuteur (p.ex . donner un ordre)
  • actes perlocutoires exprimant les effets indirects sur l'allocutaire visés par les actes locutoires et illocutoires (p.ex. convaincre l'auditeur à propos de quelque chose qui n'a pas été énoncé directement, mais qui dépend du contexte de la communication).

La plupart des actes de langage pouvant être accomplis avec succès sont relatifs aux actes illocutoires qui sont de la forme " F(p) où F est la force illocutoire de l'acte et P le contenu propositionnel (voir la force illocutoire dans la section 4.2.1).

Dans l'énoncé suivant "Je vous ordonne de fermer la porte", la force illocutoire serait celle d'un ordre (un acte directif dans la terminologie des actes de langage) et le contenu propositionnel serait "fermer la porte". Ce n'est pas nécessairement qu'un verbe soit utilisé pour exprimer la force illocutoire. "Je vous ordonne de fermer la porte" est équivalent à "Fermez la porte !", avec le point d'exclamation suggérant l'ordre (ou l'utilisation de l'intonation si la communication vocale est prise en compte). De plus, la force illocutoire d'un acte prend sa valeur en fonction du contexte dans lequel est formulé un énoncé.

Question: Soit le message suivant :
X dit à Y "s'il te plaît donnes-moi la liste des prix des imprimantes ".
Identifier ses composants !


Cliquer ici pour voir la réponse.

Il y a une variété de points de vue dans la littérature concernant ce qui devrait être considéré comme sémantique pour les actes de langage. Une des approches est celle qui interprète comme sémantique les conditions dans lesquelles on peut dire que les actes sont accomplis (ou exécutés).

Un autre point de vue est de s'intéresser à l'identification des effets qu'un acte de langage peut avoir sur les états cognitifs du locuteur et du destinataire et comment un agent doit répondre à un acte spécifique du langage. Puisque cette approche relève des aspects perlocutoires des actes du langage, elle ne peut être classée que comme pragmatique plutôt que sémantique.

Le troisième point de vue est que la sémantique constitue les conditions par lesquelles on peut affirmer qu'un acte particulier du langage a été satisfait. Par exemple, un ordre est satisfait s'il est obéi et une promesse est satisfaite si elle est exécutée dans le futur.

Indépendamment de la sémantique qu'on adopte pour les actes du langage, il est nécessaire de faire référence aux états cognitifs des agents qui les utilisent. Après tout, les actes du langage ne sont que le résultat des actions des agents les uns sur les autres ou sur l'environnement. Ainsi la représentation et le raisonnement à propos des états des agents et de l'environnement et à propos de
la manière dont les actions les affectent est un préalable pour toute approche sémantique (voir aussi les sections 4.2.2 et 4.2.3).

<< Section précédente Table de matières Section suivante >>

Politechnica University of Bucharest - 2002