4. Communication dans les Systèmes Multi-Agents
4.2 Théorie des actes de langage
4.2.3 Les actes de langage dans le contexte des agents
Le systèmes de référence dans ce contexte est appelé
BDI, en référence à trois modalités de base
: B pour Belief (croyance), D pour Desire (désir), et I pour Intention
(voir aussi chapitre 2 de ce cours).
La traduction logique de l'intention est délicate ; elle fait référence
à la notion de but : un agent ayant l'intention que p soit vrai,
croit que p n'est pas vrai et désire qu'il le devienne. Mais pour
être opérationnelle, la notion d'intention ne peut se limiter
à cela : elle doit se traduire en action, et c'est cela qu'il est
plus difficile (mais possible) d'exprimer en termes logiques.
Il est plus pratique de définir un répertoire d'actes de
langage accessibles aux différents agents d'un système,
et pour chacun d'eux de donner une syntaxe et des conditions d'emploi.
Cette pratique se rapproche de la programmation ; elle revient en effet
à énumérer un répertoire d'instructions, avec
des conditions de bonne formation syntaxique et de bon usage sémantique.
Un tel répertoire a été ainsi défini par
la fondation pour les agents physiques intelligents - le langage FIPA-ACL
(FIPA = Foundation for Intelligent Physical Agents http://www.fipa.org/,
Genève, Suisse). Ce répertoire est évolutif. En 2000,
il contenait 22 actes ; nous présentons brièvement 12 d'entre
eux.
Inform : A croit que p est vrai et
désire que B croie que p est vrai
Query If : A demande à B s'il
croit que p est vrai
Confirm : B répond à
A qu'il croit que p est vrai
Disconfirm : B répond à
A qu'il croit que p est faux
Request : A demande à B d'accomplir
une action
Agree : B informe A qu'il accepte
d'accomplir l'action
Refuse : B informe A qu'il n'accepte
pas d'accomplir l'action, et transmet éventuellement un message
que B pourra interpréter comme la cause du refus
Failure : B informe A que l'action
qu'il avait accepté d'accomplir n'a pas été exécutée
correctement, et transmet éventuellement une explication de ce
qui s'est passé
Call for Proposal : A envoie à
B une séquence d'actions contenant éventuellement des paramètres
non spécifiés, mais soumis à des contraintes
Propose : B propose à A de
s'engager à effectuer cette séquence et spécifie
la valeur qu'il donnerait aux paramètres
Accept Proposal : A accepte la proposition
de B
Reject Proposal : A refuse la proposition
de B, et transmet éventuellement un message que B pourra interpréter
comme la cause du refus.
Dans les sections à suivre nous allons présenter deux des
langages de communication entre agents les plus connus et utilisés:
un sera KQML et l'autre sera FIPA, qu'on vient de mentionner.
|