Title: Partie 8 : Les communications entre agents
1Partie 8 Les communications entre agents
DAMAS Dialogues, Agent et Multiagents
2Plan de la présentation
- Principes et intérêts de la communication entre
agents - Quelques langages de communication
- KQML
- FIPA-ACL
- Langage de représentation KIF
- Application de la communication
3Introduction
- Objet détude exploré par différentes disciplines
- la psychologie
- La linguistique
- Les sciences cognitives
- Linformatique et notamment les SMA
- Etc.
- Basée sur la théorie des actes du langage et plus
récemment sur les dialogues
4La communication pourquoi?
- Les agents fonctionnent plus efficacement en
groupe et peuvent réaliser ce quun agent ne
pourrait faire seul - Pour collaborer, négocier et se coordonner, les
agents ont besoin dinteragir - La communication est une forme dinteraction.
- Les agents ont besoin de partager leurs
croyances, leurs désirs et leurs intentions.
5Modes de communication
- Absence de communication
- ? Comportement chaotique du système
- ? Coût de calcul énorme pour déduire les
intentions des agents - Communication via lenvironnement
- les agents communiquent par signaux
- ? Coordination limitée
- ? Limitation de la complexité des actions
réalisables - Communication par passage de plans
6Théorie des actes du langage
- Enoncé
- Les actes du langage
- Les composantes des actes du langage
7Énoncé
- Les actions verbales sont appelées actes du
langage, ce sont les briques de base du LN - Ces actes sont vues comme des actions
- ? ex je vous déclare mari et femme
8Les actes du langage (1)
- Les assertifs servent à donner une information
sur le monde en affirmant quelque chose
(information, témoignage) - Les directifs sont utilisés pour donner des
directives au destinataire (demande, question,
ordre ) - Les promissifs engagent les locuteurs à accomplir
certains actes (promesse, vux, menace )
9Les actes du langage (2)
- Les expressifs servent à donner au destinataire
des indications concernant létat mental du
locuteur (excuse , félicitation, remerciement) - Les déclaratifs accomplissent un acte par le fait
même de prononcer lénoncé (définition,
condamnation )
10Les composantes des actes du langage
- Locutoire production dune phrase à laide
dune grammaire et dun lexique donnés. - Illocutoire effet que lémetteur du message
veut produire sur le destinataire - Perlocutoire effet du message sur le
destinataire
11Composantes des actes du langage exemple
- Jean dit à Pierre jai froid !
- ?Composante locutoire
- Jean produit cette phrase
- ?Composante illocutoire
- Jean considère ce message comme une demande ou
comme un ordre de fermer la fenêtre - ?Composante perlocutoire
- Pierre ferme la fenêtre ou ne fait rien
12Langage sémantique
- Expression dun état mental de lémetteur par le
biais du message - Reconnaissance par lauditeur de cet état mental
- Il définit les 3 attitudes mentales de lagent
(Belief, Desire, Intention) suivant lacte
utilisé - Affirmation expression de la croyance de
lémetteur - Demande expression du désir (lémetteur veut
que le récepteur fasse une action) - Promesse expression de lintention de
lémetteur dexécuter une action
13Interprétation
- Un acte peut être interprété différemment selon
les agents et leurs contexte dexécution - ?Pour se comprendre, 2 agents doivent utiliser
le même système dinterprétation des messages
14Interprétation exemple
Agent B
Agent A
Demande as tu lintention de participer a
lenchère ?
Réponse Jai lintention de participer Ã
lenchère
15La communication Comment?
- Utiliser un langage de haut niveau compréhensible
par tous les agents dun système - Les agents utilisent des langages de
communication les ACL (Agent Communication
Langages).
16La communication comment ?
But
Agent A
Agent B
Intention
Message
Conversion Pour le transport
Conversion Pour lagent
Service de Transport des messages
17Les langages de communication inter-agents
- Tout langage multiagent est représenté par une
structure de donnée comprenant les champs - Émetteur
- Récepteur
- Langage utilisé
- Lontologie
- Contenu du message
18Explication de lontologie
- Utilisée pour identifier la source du vocabulaire
- Moyen pour le receveur dinterpréter le contenu
du message
19Les langages
- KQML
- Syntaxe
- Performatives
- Limites
- FIPA-ACL
- Les actes de langage ACL
- Les protocoles
- Différences entre ACL et KQML
- KIF
20Le KQML
- Knowledge Query and Manipulation language
- Le principe est de séparer la sémantique liée au
protocole de communication (indépendante du
domaine de lapplication) de celle liée au
contenu des messages (dépendante de
lapplication) - Historique
- 1993 du consortium DARPA-KSE (knowledge sharing
effort) - Conçu pour échanger des informations et des
connaissances entre agents - But développer des outils générique pour
favoriser linteropérabilité des agents
hétérogènes
21KQML la syntaxe
- (KQML-performative
- language lttextegt
- ontology lttextegt
- sender lttextegt
- receiver lttextegt
- content ltexpressiongt
- )
Niveau message
Niveau communication
Niveau contenu
22Performative
- Enoncé qui constitue simultanément l'acte auquel
il se réfère (ex. Je vous autorise à partir !
autorisation). - Verbe performatif verbe dont l'utilisation
constitue un acte en soi, se confondant avec
l'acte d'énonciation, tel que - juger,
- promettre,
- baptiser,
- bénir.
23KQML les performatives
- 36 performatifs répartis en 3 catégories
- Les 18 performatives de discours
- (ask-if , ask-all, tell, describe, stream-all )
- Les 11 performatives dinterconnexion
- (register, unregister, broadcast )
- Les 7 performatives dexception
- (error, sorry, standby )
24Exemple de KQML
- (ask-one
- sender joe
- content (PRICE IBM ?price)
- receiver stock-server
- reply-with ibm-stock
- language LPROLOG
- ontology NYSE-TICKS)
25KQML les performatives
- Discours servent à échanger des connaissances
et des informations présentes dans la base de
connaissance de lagent - Interconnexion aide à la mise en relation des
agents entre eux - Exception servent à changer le déroulement
normal des échanges
26KQML les limites
- Ambiguïté et imprécision
- Ne prend pas en compte les conversations
- Classes de performatives absentes car il ny a
pas dexpressifs et de déclaratifs.
27KQML les avantages
- Premier  standard de communication
- Beaucoup dapplications supportent KQML
- Langage extensible
- Création de nouvelles performatives
- Création de nouveaux paramètres
- Création de nouvelles ontologies
28FIPA-ACL
- FIPA Fondation for Intelligent Physical Agents
- Elle a bénéficié des résultats de la recherche
sur KQML - Même syntaxe que KQML
- Protocoles explicites pour les échanges de
messages
29Les actes du langage ACL
- 4 actes primitifs inform, request, confirm,
disconfirm - Les actes composés (query-if, inform-if ) sont
répartis en 5 catégories - Transmission dinformation
- Demande dinformation
- Négociation
- Accomplir une action
- Gestion dun problème.
30Les protocoles ACL
- Chaque acte du langage est associé à un protocole
- ?l'agent émetteur sait sil y doit attendre une
réponse - ?l'agent récepteur sait comment réagir
- Exemple
- Pour les requêtes
- Pour les enchères
- Pour le contract-net
31Exemple de protocole ACL
Le FIPA Request protocol
request action
Not understood
Refuse (raison)
Agree
Failure raison
Inform Done (action)
Inform (result action)
32Différences entre ACL et KQML
- Syntaxe identique sauf pour les primitives (ex
 tell pour KQML,  inform pour ACL) - différence dans les descriptions sémantiques
- Définition des primitives différentes
- pré-conditions et les post-conditions pour KQML
- Faisabilité et effet pour ACL
- Utilise un langage différent pour décrire les
états mentaux des agents
33Différence entre KQML et FIPA-ACL
p Il fait froidÂ
Agent A
Agent B
Tell(A,B,p) en KQML Pre(A) Bel(A,p) et
Know(A,Want(B,Know(B,S))) Pre(B)
Int(B,Know(B,S)) S signifie ici Bel(B,p) ou non
Bel(B,p) Post(A) Know(A,Know(B,Bel(A,p))) Post(B)
Know(B,Bel(A,p)) Completion Know(B,Bel(A,p)
34Différence entre les primitives KQML et FIPA-ACL
(suite)
Agent A
Agent B
p Il fait froidÂ
- ltA, inform(B,p)gt
- FP (feasability conditions) A croit que P et ne
croit pas que B a une quelconque connaissance sur
la véracité de p. - RE (rational effects) A a lintention que B
croit également que p.
35FIPA-ACL ou KQML ?
- 2 langages phares basés sur les actes du langages
- Avance de KQML sur ACL
- ACL est un standard de la FIPA
- Évolution plus lente que KQML
- ACL est plus portable
36KIF
- Knowledge Interchange Format
- Format standard utilisé dans le  contentÂ
- Sert à représenter les connaissances manipulées
par les agents - Langage logique pouvant décrire
- Des définitions
- Des procédures ou des fonctions
- Il est à la fois
- Générique (utilisable dans différents domaines)
- Précis (conduit à des interprétations uniformes)
37KIF (suite)
- KIF est le substrat de KQML développé aussi par
la DARPA - Simple donnée (salary 015-46-3943 widgets 72000)
- Thermes complexes
- (gt ( (width c1) (length c1))
- ( (width c2) (length c2)))
- Opérations logiques
- (gt (and (real ?X) (even ?N))
- (gt (expt ?X ?N) 0))
38KIF (suite)
- KIF peut contenir knowledge about knowledge
- Utilisation des opérateurs backquote () et comma
(,) - (Interested joe (salary ,?X ,?Y ,?Z))
- Il peut être utilisé pour décrire des procédures
et des fonctions - Il exige une ontologie partagée pour
linterprétation
39Application FIPA-ACL
- FIPA Personal Travel Assistance Specification
- Application développée par FIPA en 2000
- http//www.fipa.org/specs/fipa00080/XC00080A.html
40Présentation générale (1)
- Grande variété de services concernant la
préparation et la planification dun voyage sur
le web - ? nécessité de concevoir un système facilitant
laccès et lutilisation de ces services - ? utilisation de la technologie des agents
41Présentation générale (2)
- Conception dun système appelé
- Personal Travel Assistant (PTA)
cinéma
utilisateurs
PTA
musées
Locations de voiture
trains
utilisateurs
PTA
hôtels
météo
restaurants
informations
vols
utilisateurs
PTA
cartes
42Acteurs
Base de données
ISP Hotels 1
TSA
ISP Vols 1
TBA
Utilisateur
PTA
TSA
ISP Vols 2
TBA
ISP Hotels 2
TSA
Base de données
ISP Voitures 1
Fournisseur de services
Pages jaunes
Domaine de lutilisateur
43Acteurs (agents)
- Travel Service Agent (TSA)
- Contacte les agents proposant les services
- Met à jour laccès aux données et livre ces
données aux agents TBA. - Travel Broker Agent (TBA)
- Localise et contacte les agents TSA.
- Récupère, filtre et sélectionne les données
- Personal Travel Assistant (PTA)
- Responsable de suivre les instructions et
dapprendre les préférences de lutilisateur - Contacte les agents TSA
-  Secrétaire de lutilisateur
44 Scénario
- Dialogue entre les utilisateurs réels et les
agences de voyage - Lutilisateur demande à sa secrétaire (PTA)
deffectuer les réservations pour le voyage. - ! Agent PTA autonome
- La secrétaire appelle les agences de voyages
(TBA) et leur fournit la demande et les
préférences de lutilisateur. - Lagence de voyages contacte et négocie avec
plusieurs fournisseurs de services (TSA) et
maintient le dialogue avec la secrétaire.
45 Scénario
- La secrétaire rapporte ensuite un plan, des
options et des infos supplémentaires Ã
lutilisateur. - Dialogue en langage naturel entre lagent PTA et
lutilisateur - La communication entre les autres agents se fait
en langage FIPA-ACL.
46 Scénario
47Ontologie
- Lontologie utilisée sappelle FIPA PTA
- Ontologies spécifiques pour chaque domaine
- location FIPA-PTA
- paramètres type, address, country, text,
- trip-summary FIPA-PTA
- paramètres origin, via, destination, time,
- travel-time FIPA-PTA
- paramètres type, at, before, after,
48Exemples de messages ACL
49Exemples
50Protocoles dinteraction
- Protocoles dinteraction
- Stratégie de haut niveau pour les communications
(négotiation, etc.)
51Info Exchange Protocols
- La plupart des communications peuvent être vues
sous la forme client-serveur - Maître (Client)
- Esclave (Serveur)
- Peer-to-peer (take turns)
query
A
B
reply
52Protocoles déchange dinfo
- Client serveur flots controllé
query
A
B
reply
. . .
next
reply
53Protocoles échange dinfos
- Client serveur - souscription
subscribe
B
A
reply
reply
reply
reply
54Facilitators
- Lenvironnement peut être enrichi par des
Facilitators - Associe des noms symboliques aux adresses
physiques - Register databases and services
- Il fournit des services de communication tels que
forwarding et brokering
55Facilitateurs
F
A
B
56Facilitateurs (suite)
F
A
B
57Facilitateurs (suite)
F
A
B
58Facilitateurs
F
B
A
59Conclusion
- La communication est primordiale pour les agents
- Basée au départ sur les actes du langages et les
états mentaux des intervenants - Elle a tendance a sétendre du côté du dialogue,
des conversations et de la pragmatique.