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