Title: La Communication entre agents
1La Communication entre agents
- Cours Agents et Multiagents
2Plan de la présentation
- Principes et intérêts de la communication entre
agents - Quelques langages de communication
- KQML
- FIPA-ACL
- Language 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
Languages).
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 multiagents 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é 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 -gt
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. (Les verbes
performatifs s'opposent aux verbes constatifs.)
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 performatifs
- 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, en
particulier il n y a pas de protocols - 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
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 les primitives KQML et FIPA-ACL
Agent A
Agent B
p Il fait froid
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 domaine)
- Précis (conduit à des interprétations uniformes)
37KIF (suite)
- KIF est le substract 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
Domaine de lutilisateur
Fournisseur de services
Pages jaunes
43 Acteurs
- 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 de 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
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
Domaine de lutilisateur
Pages jaunes
Fournisseur de services
- 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
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
Domaine de lutilisateur
Pages jaunes
Fournisseur de services
- 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.
46Ontologie
- 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,
47Exemples de messages ACL
48Exemples de messages ACL
49Exemples de messages ACL
Utilisateur
PTA
TBA
1 request
2 query-ref
3 inform
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
A
B
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
A
B
tell(x)
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