next up previous contents
suivant: Comprendre son partenaire monter: La coopération comme base précédent: La coopération comme base   Table des matières

La coopération et la communication

Un individu qui ne communique pas est un individu isolé, muet et sourd aux informations potentiellement utiles en provenance des autres agents du système. Un tel individu est inapte à se synchroniser avec ses pairs et donc à former une équipe pour travailler en groupe. La coopération efficace implique que les agents engagés dans une tâche commune communiquent entre eux.

Communiquer, c'est avant tout émettre des signaux. La communication entre plusieurs agents nécessite un mécanisme de transport de l'information ainsi qu'un support sur lequel l'agent émetteur peut écrire et sur lequel un ou plusieurs agents peuvent recevoir des informations. On parle alors de support ou de canal de communication. La définition de canaux de communication permet d'abstraire les paramètres physiques ou fonctionnels d'un médium de transport d'information. On trouve par exemple un tel mécanisme d'abstraction dans [#!valvassori-2001!#].

Nous distinguons trois grands types de canaux de communication transportant un signal:

Les robots simulés de la RoboCup utilisent un canal de communication de type propagatoire, dont la portée maximum est de 50 mètres. Les signaux émis sont des messages transmis sous forme de paquets contenant un message et une date d'émission. Par exemple, un agent recevra le message suivant: (hear 145 "Where's the ball?").

Le choix du destinataire est de plus à la charge de l'émetteur: il peut choisir de communiquer en destination d'un agent unique ou à destination d'un groupe restreint d'agents nommés, à destination d'agents satisfaisant une condition (typiquement, les agents les plus proches de l'émetteur) ou à destination de tous les agents du système. Dans le cas de canaux de communication propagatoires, il se peut que seuls certains agents soient suffisamment proches pour recevoir l'information. Un agent peut ainsi recourir à un intermédiaire pour relayer l'information à tous et demander à un agent à portée suffisante d'émettre le signal reçu à l'identique (ce dernier sera appelé agent facilitateur). De même, les canaux de communication propagatoires nécessitent la spécification du destinataire dans les communications particulières.

Communiquer, c'est aussi interpréter les signaux reçus. Un signal prend un sens lorsqu'un agent réunit deux conditions: lorsqu'il perçoit le stimulus en question (son, signal visuel, odeur, paquet TCP, etc.) et lorsque son système interprétatif transforme le signal en sens (symbole) ou en comportement (réaction). Un tel processus d'abduction nécessite l'utilisation d'un formalisme déterminé à l'avance et compréhensible par les deux parties pour décrire la nature des messages envoyés.

KQML [#!finin-1994!#] est un exemple de langage de communication agent remplissant ce besoin: KQML fournit un symbolisme de haut niveau dans la description de l'acheminement du message vers son destinataire et dans le contenu du message envoyé à l'agent (par le biais de KIF, par exemple). Notamment, KQML définit des performatifs de communication de haut niveau permettant à des agents potentiellement hétérogènes d'échanger des informations structurées. Un des désavantages de KQML est cependant son orientation vers la communication point à point entre agents (avec potentiellement l'utilisation d'agents facilitateurs pour relayer un message), ce qui le rend peu adapté à une utilisation dans un contexte de canaux de communication partagés, non fiables et possédant une faible bande passante.


next up previous contents
suivant: Comprendre son partenaire monter: La coopération comme base précédent: La coopération comme base   Table des matières
Benjamin DRIEU 2001-10-12