acl

41
ACL Roger Nkambou

Upload: phoebe-bonner

Post on 30-Dec-2015

19 views

Category:

Documents


0 download

DESCRIPTION

ACL. Roger Nkambou. Pourquoi la communication est-elle importante ? La COMMUNICATION est un élément important dans la coopération. Une société peut accomplir des tâches qu’auqu’un agent (individu) seul ne saurait faire. La diversité dans une société introduit l’hétérogéniété - PowerPoint PPT Presentation

TRANSCRIPT

ACL

Roger Nkambou

Pourquoi la communication est-elle importante ?

La COMMUNICATION est un élément important dans la coopération.

-Une société peut accomplir des tâches qu’auqu’un agent (individu) seul ne saurait faire.

-La diversité dans une société introduit l’hétérogéniété

-Les agents qui se communiquent n’ont besoin que de comprendre ou de parler un langage commun

Communication entre agents

-La communication inter-agent est fondamentale à la réalisation du paradigme agent, tout comme le développement du langage humain était la clé du développement de l’intelligence humaine et des sociétés.

-Pour échanger les informations et les connaissances, les agents utilisent des ACL (Agent Communication Language).

-Selon Genesereth (CACM, 1992), un agent logiciel = tout système utilisant un ACL pour l’échange de l’information.

Évolution ACL

?

Partage deK

Partage d’objet

Partage desintentions

-> Partage des objets, des appels de procédure et de SDD (CORBA, RPC, RMI, …)

-> Partage des connaissances (faits, règles, contraintes, procédures, …) KIF, Ontolinguia, KQML, FIPA, Aglets….

-> Partage des intentions (croyances, plans, buts, intentions) => Niveau intentionnel Théorie BDI-> Que peut-on partager d’autre ? Expériences, Stratégies…

Le niveau intentionnel: BDI, Acte de langage et ACL

- Les actes du langage = Description de niveau intentionnel d’un agent => croyances, désires, intentions et autres.une description intentionnelle

-Le modèle BDI permet de décrire le comportement d’un agent, y compris le comportement communicatif en tenant compte des états mentaux (B, D , et I).

-Les agents ont des « attitudes propositionnelles » qui sont des relations tertiaires impliquant:

- Un agent- Un contenu- Un ensemble fini d’attitudes: croire, avoir peur, espérer, se demander, accepter, …

Exemple : <a, fear, raining (Tnow)>

Le modèle BDI et la communication

B + D => II => A

Communication (1) Revéler à l’autre l’état de no croyances, désires et intentions (2) Essayer d’influencer l’état des croyances, désires et intentions de l’autre.

Noter la récursivité: Un agent a des croyances sur le monde (son environnment), sur les croyances des autres agents, sur les croyances des autres agents, sur les croyances qu’ont les autres agents sur lui ou sur ses croyances …

Critiques du BDI

- Est-il nécessaire d’avoir les 3 modalités (B, D et I) ?

- En d’autres termes, ces 3 modalités sont-elles -Suffisantes-Insuffisantes-En a-t-on vraiment besoin des 3 ?

–Il reste encore plusieurs questionnements sur l’utilité du BDI dans la pratique. Il y a donc un écart important entre la théorie et la pratique.

Théorie des actes de langage

-Théorie relative à l’usage du langage pour les actions de communication (Austin 1962)

-Toute communication est faite avec l’objectif de satisfaire un but ou une intention.

Ex: « il pleut! », « ferme la porte, s’il te plait .»

-3 types d’actes:- locutoire-Illocutoire-Perlocutoire.

Identification des actes de langage

Acte locutoire:Production d’une suite de signes selon les règles

syntaxiques d’un langage donné => mode de production de l’acteActe illocutoire: Acte accompli en produisant cette suite de signes dans un contexte donné, exprimant une intention => Intention du locuteur (ordre, conseille, …)Acte perlocutoire: Résultat d’un acte illocutoire. => Effet sur l’allocutaireExemple: « Ferme la porte »

-locution : qui parle ? à qui ? quelle porte ?-Illocution: le locuteur veut que l’allocutaire ferme la porte-Perlocution: L’allocutaire ferme la porte

Actes illocutoires

Acte de langage = Force illocutoire (composante intentionnelle) + contenu propositionnel.Actes illocutoires = Performatives5 classes de Performatives: Assertifs Directifs Commissifs Déclaratifs Expressifs.

Mise en œuvre dans les SMA

De nombres langages de communications entre agents (ACL) se réclament des actes de langage.Des standards se sont développés KQML (93, 97) FIPA-ACL (97, 99, 2000)

Knowledge Sharing Effort

• Initié par DARPA (Defense Advanced Research Projects Agency) en 1990•Sponsorisé par DARPA, NSF, AFOSR•Participation de plusieurs chercheurs universitaires et de plusieurs industries

• Objectif: Développer des techniques, méthodologies et outils de développement pour le partage et la réutilisation des connaissances.

• Le partage et la réutilisation des connaissances peuvent survenir aussi bien au moment de la conception qu’au moment de l’implémentation ou de l’exécution.

Partage de connaissances

-Le partage de connaissances nécessite une communication qui requiert un langage commun-Langage => Syntaxe + Sémantique + Pragmatique-Quelques composantes pouvant être utilisées indépendamment:

- KIF (Knowledge Interchange Format) => Syntaxe-Ontolingua: un langage pour la définition d’ontologies partageables => Semantique-KQML (Knowledge Query and Manipulation Language) Un langage la communication de haut-niveau => pragmatique

Syntaxe commune avec KIF

KIF permet de mettre en relation des systèmes hétérogènes (du point de vue base de connaissance) Il s’agit d’une version préfixée du calcul des prédicats du premier ordre avec quelques extensions: Codage de tuples Codage de procédures …

Exemple de code KIF:(forall ?x (=> (P ?x) (Q ?x)))(exists ?person (mother mary ?person))(=> (apple ?x) (red ?x))(<<= (father ?x ?y) (and (child ?x ?y) (male ?x))

Système 1

KB en lang 1

KIF <-> traducteur lang 1

Système 3

KB en lang 3

KIF <-> traducteur lang 3

Système 2

KB en lang 2

KIF <-> traducteur lang 2

KB en KIF

BIBLIOTHÈQUE

KIF

Logiciel KIFPlusieurs systèmes de raisonnement KIF en LIPS disponibles à Stanford (Ex: EPILOG)Le moteur de raisonnement de ABE (Agent Building Environment de IBM) utilise KIF comme langage externeLe système Ontolingua (voir plus loin) de Stanford utilise KIF comme langage interneDes traducteur existe pour plusieurs langages: Prolog, CLIPS …Il existe des interpreteurs et des analyseurs qui acceptent des chaînes KIF dans les objets C++ ou Java.

Questions - Défis

Définition d’un « mappage » KIF-XML (peut donner lieu à un outils plus intéressant pour l’interopérabilité de SBC).

Sémantique commune et partageable avec Ontolingua

Ontologie = Spécification des objets, des concepts et des relations dans un domaine particulier.Analogue à un schéma conceptuel de BD, Taxinomie de classe-sous-classe, …Ontolingua est un langage pour la construction, la publication et le partage d’ontologies. Il offre une interface Web Les ontologies peuvent être automatiquement traduites

dans d’autres langages de description de contenu comme KIF, Prolog, CLIPS …

Le langage offre des primitives pour la combinaison d’ontologies.

Sémantique commune et partageable avec Ontolingua

Les systèmes qui communiquent doivent partager une ontologieL’ontologie partagée peut être implicite ou explicite.Une ontologie implicite est généralement représentée par des procédures seulement.Une ontologie explicite est donnée par une représentation déclarative dans un langage de représentation de connaissance.

ExempleBD (une table)139 74.50140 77.60… …

Schema de la BD: Table Prix*Quantité: integer; cout: float

Conceptual Schema:Un schéma conceptuel spécifie le sens (la signification) des concepts

utilisés dans la BDprix(x, y) => Exist (x’, y’) [auto_part(x’) & part_no(x’) = x

& retail_price(x’, y’, Value-Inc) & magnitude(y’, US_dollars) = y].

=> Ontologie implicite

Ontologie des produits d’auto

Ontologie des unités etDes mesures

Ontologie des produits

Exemple 2 : Ontologie explicite

fruit

pearcitrusapple

orangelemonlime

Langage de representation de K = Logique + Ontology

Un formalisme de logique avec Une syntaxe pour les formules bien formées Un vocabulaire des symboles logiques (et, ou…) Des sémantiques pour l’interprétation des

symboles logiques.

+ une ontologie comprenant Un vocabulaire des symboles non logiques

(éléments du domaine) Une définition des symbole Des axiomes pour contraindre l’interprétation

des symboles primitifs.

Pragmatique commune avec KQML

KQML = langage et protocole de communication de haut-niveau et orienté message, indépendant de la syntaxe et de la sémantique (ontologie) du contenu.Il est aussi indépendant Du mécanisme de transport des messages

(ex: TCP/IP, SMTP, IIOP, HTTP …) Du protocole de haut niveau (ex: Contract Net

…)

Message KQML

Chaque message KQML représente un seul acte de langage (acte illocutoire) - Ex: ask, tell, achieve … - auquel sont associés une une sémantique (sémantique de la performative) et un protocole.3 niveaux dans un message KQML La performative Des informations utiles pour l’interprétation de

message (:ontology, :langage) et celles utiles pour le routage du message (:sender, :receiver, :reply-with …)

Le contenu du message (:content).

Un message KQML(tell :sender bhkAgent

:receiver fininBot:in-reply-to id7.24.97.45391:ontology ecbk12:language Prolog:content “price(ISBN3429459,24.95)”)

Sémantique du tell de KQML décrite avec FIPA-SL:Opérateurs du langage sémantique (FIPA-SL) :

-Bip “i (implicitement) croit (que) p” - Bif i p-Uip “i est incertain sur p mais croit que p est plausible que non p” – Uif i p-Cip “i désire que p”-Fp = préconditions de faisabilité-Re = effet rationnel sur l’environnement

Ex: tell( i,j, B i ) = fp [B i B i B i ( Bif j B i Uif j B i )] re [B j B i f] ...Problème: i veut informer j qu’il croit que Précondition: i croit qu’il croit que et ne croit pas ou a des doutes que j croit qu’il croit Effets rationnels: j croit que i croit

Quelques exemples(ask-one : sender Joe : content (price ibm ? Price) : receiver stock-server : reply-with ibm-stock : language LPROLOG : ontology NYSE-TICKS)

(tell

: sender Stock-server

: content (price ibm 14)

: receiver Joe

: in-reply-to ibm-stock

: language LPROLOG

: ontology NYSE-TICKS)(ask-all

: sender Stock-server

: content (ibm, (Price, Time))

: receiver Joe

: reply-with ibm-stock

: language LPROLOG

: ontology NYSE-TICKS)

Request

Promise

Meta

Reply

Query

Inform

Facilitation

Goal

NetworkBasic

Inform

DB

Cursor

Stream

Basic

Tell, Untell

Broadcast Forward

Achieve, Unachieve

Broker-oneRecom.-oneRecruit-oneBroker-allRecom.-allRecruit-all

AdvertiseUnadv.

DenySubscribe

SreamEos

StandbyReadyNextRest, Discard

EosStream

Ask-ifAsk-oneAsk-all

Insert, UninsertDelete-one, Del-all,Undel

PerformativesKQML

Services de renseignement (Facilitation services)

Les agents de renseignement Contiennent des méta-connaissances sur les autres

agents Fournissent des services de communication tels que:

La diffusion des messages et le « faire-suivre » L’appariement des demandes et des offres de service …

Des performatives dédiés à ces agents: Advertise, broker, recruit, recommend, forward,

broadcast …

Les agents de renseignement peuvent être intelligents ou non Ceux qui sont intelligents utiliseront les connaissances du

domaine pour l’appariement des offres et des demandes de service

Sémantique de quelques performatives: Requête simple

A B

A B

Ask-one , Ask-all

Ask-if, Stream-all

Ask-one(X)

Tell(X)

Scène: A voudrait connaître la vérité sur l’action X que B détient dans sa BC1- Connexion directe

Performatives de renseignement

A F B

A F B

A F B

Broker (Le fac. soumet la req. à l’agent approprié et transmet la rép. à A)

Recruit (Le fac. recruite un agent qui répond directement à A)

Recommend

2. A ne sait pas que X est dans B : Il faut passer par un facilitateur

Broker(ask(X))

Tell(X)

Advertise(ask(X))

Ask(X)

Advertise(ask(X))

Ask(X)Recruit(Ask(X))

Tell(X)

Recommand(ask(X))

Reply(B)

Advertise(ask(X))

Ask(X)

Tell(X)

(le facilitateur recommande un agent approprié à A)

Extensibilité

KQML peut être étendu : Ajout de nouvelles performatives Ajouts de nouveaux paramètres

(attributs) Création de nouvelles ontologies

ACL FIPA

KQML = Premier essai de standardisation d’un ACL mais il n’offre pas d’infrastructure pour la gestion des agents.En 1996, création de la FIPA (Foundation for Intelligent Physical Agents), une association à but non lucratif regroupant: Universités et instituts de recherche + Entreprises: Alcatel, BT, DT, FT, Hitatchi,

Hewlett Packard, IBM, Intel, Lucent, NEC, Nortel, Siemens etc.

Mode de travail de la FIPA

Travaux annuels sur les spécifications. Première spécification FIPA97 (http://drogo.cselt.stet.it/fipa)FIPA97 compremait 7 comités techniques (TCs) TC1: Agent Management TC2: Agent Communication Language TC3: Agent/Software Interaction TC4-TC7: Specification of Applications

Spec actuelle: FIPA2000

TC2: FIPA ACL

Basé sur des actes de langageLes messages sont des actions de communication (Communicative action (CA))Les actes de communication sont décrits sous forme narrative et sous forme de sémantiques formelles basées sur la logique modaleLa syntaxe est similaire à celle de KQMLLa spécification fournie une description normative des protocoles d’interaction de haut-niveau.

Caractéristiques essentielles de FIPA ACLLes primitives de gestion et de renseignement (register, broker, recruit, etc.) ne font pas partie de l’ACL FIPADes primitives peuvent être définies par composition de primitives de base.Utilise un langage puissant pour définir les états des agents (le langage SL (Semantique Language))Les sématiques sont basés sur les attitudes mentales (croyance, intention etc.)Le sens des primitives est donné en terme de préconditions de faisabilité (Feasibility Preconditions (FP)) et d’effet rationnel (Rational Effect (RE)).

Catégorie de performatives FIPA

Information (contenu: proposition) Query_if, query_ref, sunscribe, inform, inform_if,

inform_ref, confirm, disconfirm, not_understood

Distribution de tâches (contenu: action) Request, request_whenever, cancel, agree,

refuse, failure

Négociation (contenu: action et proposition) Cfp (Call for proposal), propose,

accept_proposal, reject_proposal

Sémantique et FIPA ACLExemple: Performative Inform<i, inform( j, )>

FP: B i B i ( Bif j Uif j f) (i croit que et i ne croit pas que j croit ou il en a des doutes)RE: B j j croit que

Exemple: L’agent i informe l’agent j qu’il (est vrai que) va pleuvoir aujourd’hui:

(inform:sender i:receiver j:content "weather(today,raining)"

:language Prolog

:ontology weather42).

Sémantique et FIPA ACL L’agent i demande à j de l’informer si Lannion est en Normandie. (request

:sender i:receiver j:content(inform-if

:sender j:receiver i:content "in( lannion, normandie)":language Prolog):language FIPA-SL)

A l’agent j de répondre que non: (inform:sender j:receiver i

:content"\+ in( lannion, normandie )":language Prolog)

Comparaison de Tell(KQML) et Inform(FIPA ACL)

Les deux messages sont syntaxiquement identiquesLa différence est uniquement au niveau de la sémantique et ce à 2 niveaux: La façon de décrire la primitive. Ex: pre-,

post- pour les conditions dans KQML et FP et RE pour FIPA ACL

Langage différent pour la description des attitudes propositionelles (mentales). Ex: les opérateurs bel et B (resp.) de KQML et de FIPA ACL n’ont pas la même signification.

Sémantique de Tell (KQML)TELL(A,B,X)

A informe B qu’il (A) croit que X est vrai (pour lui) bel(A,X) Pre(A): bel(A,X) know(A,want(B,know(B,S))) where S

may be bel(B,X) or NOT(bel(B,X)) Pre(B): intend(B,know(B,S)) Post(A): know(A,know(B,bel(A,X))) Post(B): know(B,bel(A,X)) Completion: know(B,bel(A,X))

La condition de complétion et les post-conditions doivent s’apparier à moins qu’un SORRY ou un ERROR soit émis (exception) pour indiquer que B ne peut traiter proprement ce message.

Méthodologie de développement

4 phases pour le développement de SMA: Collecter et construire les ontologies nécessaires

Utiliser les standard, les ontotologies publiées si possible Développer et publier de nouvelles composantes au besoin Utiliser les outils commun (Ex: Ontologuia, Zeus Onto. Edit)

Choisir un langage de représentation commun Exemple: KIF

Utiliser un ACL (ex: KQML) comme langage de communication Au besoin, l’étendre avec de nouvelles performatives et de

nouveaux protocoles Identifier et définir des protocoles de haut-niveau

Ex: pour la négociation, pour l’achat, pour le cataloguage …