3.4
Communication entre agents
Les agents peuvent interagir soit en accomplissant des actions
linguistiques (en communiquant entre eux), soit en accomplissant des actions
non-linguistiques qui modifient leur environnement. En communiquant, les agents
peuvent échanger des informations et coordonner leurs activités.
Pour qu'un agent puisse coopérer avec d'autres agents
et réagir à son environnement, il a besoin de langage de
communication entre agents. La communication entre agents permet aux programmes
écrits par différents programmeurs, en différents
langages, en utilisant différentes interfaces de se communiquer. Pour
que ceci soit possible, les agents ont besoin d'un langage commun de
communication qui, davantage est concerné par l'échange de
l'information que son contenu. La communication est généralement
décomposée en trois sous-sections, qui sont:
1.
Protocole d'interaction : ceci se rapporte
à la stratégie de niveau élevé poursuivi par les
agents logiciels qui interagissent avec d'autres agents.
2.
Le langage de communication, c'est le medium
par lequel les attitudes concernant le contenu du message échangé
sont communiquées.
3.
Le protocole de transport, c'est le
mécanisme réel de transport utilisé pour la communication
en utilisant le langage de communication. Ces protocoles incluent TCP/IP,
SMTP, HTTP, IIOP, etc.
Dans les systèmes multi-agents deux stratégies
principales ont été utilisées pour supporter la
communication entre agents :
Envoi de message : les agents peuvent échanger des
messages directement
Partage de ressources : les agents peuvent accéder
à une base de données partagées (appelée tableau
noir ou blackboard) dans laquelle les informations sont postées.
3.4.1
Stratégies de communication
3.4.1.1
Transfert de plans ou de messages
Dans l'approche de transfert de plans, un agent X communique
son plan en totalité à un agent Y et Y communique son plan en
totalité à X. Cette approche présente plusieurs
inconvénients : le transfert de plans est coûteux en ressources de
communication et c'est une approche difficile à mettre en oeuvre dans
des applications réelles car il y a en général un fort
degré d'incertitude au sujet des états actuel et futurs du monde.
Dans des situations réelles en plus, il n'est pas
possible de formuler à l'avance des plans en totalité. Par
conséquent, on a besoin de communiquer des stratégies
générales aux agents plutôt que des plans, et donc il est
nécessaire que les agents puissent échanger des messages.
3.4.1.2
Échange d'informations grâce à un tableau
noir
En intelligence artificielle la technique du tableau noir
(blackboard) est très utilisée pour spécifier une
mémoire partagée par divers systèmes. Dans un
système multi-agents utilisant un tableau noir, les agents peuvent
écrire des messages, insérer des résultats partiels de
leurs calculs et obtenir de l'information. Le tableau noir est en
général partitionné en plusieurs niveaux qui sont
spécifiques à l'application. Les agents qui travaillent sur un
niveau particulier peuvent accéder aux informations contenues dans le
niveau correspondant du tableau noir ainsi que dans des niveaux adjacents.
Ainsi, les données peuvent être synthétisées
à n'importe quel niveau et transférées aux niveaux
supérieurs alors que les buts de haut niveau peuvent être
filtrés et passés aux niveaux inférieurs pour diriger les
agents qui oeuvrent à ces niveaux.
3.4.2
Actes de langages
On considère que les agents sont dotés de
structure de données appelées états mentaux à
partir desquelles ils peuvent raisonner. Diverses catégories
d'états mentaux ont été retenues par les chercheurs dont
notamment les croyances, les désirs, les intentions ou buts, les
capacités, etc. Ce sont ces mêmes états mentaux qui
caractérisent les modèles des agents cognitifs en intelligence
artificielle distribuée. Ainsi, un agent cognitif raisonne sur des
croyances qui représentent sa compréhension du monde dans lequel
il évolue. Il raisonne aussi sur ses désirs et intentions en
relation avec ses croyances et capacités afin de prendre des
décisions auxquelles sont associés les plans qu'il va accomplir
pour agir dans le monde.
Les actes de langage
L'idée est d'utiliser ce que l'on comprend du dialogue
entre humains comme modèle pour la communication entre agents. Dans
cette approche la production d'un énoncé, est un acte qui sert
avant tout à produire des effets sur son destinataire [Bourdon 01]. Les
principaux actes de langage décrits sont les suivants :
1.
assertifs, servent à donner une
information sur le monde en affirmant quelque chose (ex. il fait beau) ;
2.
directifs, sont utilisés pour donner des
directives au destinaire (donne moi ta montre) ;
3.
promissifs, engageant le locuteur à
accomplir certains actes dans l'avenir (ex. je viendrai à la
réunion) ;
4.
expressifs, servent à donner au
destinataire des indications concernant l'état mental du locuteur (ex.
je suis heureux) ;
5.
déclaratifs, accomplissent un acte par
le fait même de prononcer l'énoncé (ex. je déclare
la séance ouverte) ;
Les actes de langage, considérés comme des
structures complexes, sont définis par trois composantes :
1.
la locutoire : c'est la composante physique de
la communication (envoi d'ondes sonores ou production de caractères) ;
production de phrases à l'aide d'une grammaire et d'un lexique
donné.
2.
l'illocutoire : elle se rapporte à la
réalisation de l'acte effectué par le locuteur sur le
destinataire de l'énoncé. En pragmatique du langage, un acte
illocutoire est caractérisé par une force illocutoire (ex.
affirmer, questionner, demander de faire, promettre, prévenir, etc.) et
par un contenu propositionnel, objet de la force illocutoire. Par exemple
« affirmer qu'il pleut » prend la forme « affirmer (il pleut)
».
3.
la perlocutoire : cette composante porte sur
les effets que les actes illocutoires peuvent avoir sur l'état du
destinataire, ses actions, ses croyances et ses jugement. Par exemple,
convaincre, inspirer, effrayer, persuader, etc.
|