350 likes | 627 Views
Sisteme multi-agent Curs 3 Universitatea “Politehnica” din Bucuresti anul universitar 2007-2008 Adina Magda Florea adina@cs.pub.ro http://turing.cs.pub.ro/blia_08 curs.cs.pub.ro. Comunicare in SMA. Comunicare indirecta Comunicare directa ACL Limbaje pentru continut Teoria actelor de vorbire
E N D
Sisteme multi-agentCurs 3Universitatea “Politehnica” din Bucurestianul universitar 2007-2008Adina Magda Floreaadina@cs.pub.rohttp://turing.cs.pub.ro/blia_08curs.cs.pub.ro
Comunicare in SMA • Comunicare indirecta • Comunicare directa • ACL • Limbaje pentru continut • Teoria actelor de vorbire • KQML • FIPA and FIPA-ACL • Protocoale de interactiune
1. Comunicare in SMA Comunicare agenti • nivel scazut • nivel inalt • Implica interactiuni Protocoale de comunicare Protocoale de interactiune – conversatii = schimb structurat de mesaje Scop comunicarea permite agentilor: • coordinarea actiunii si comportarii • schimbarea starii altor agenti • determina agenti sa faca actiuni 3
S - stimulus S x0 Agent B (stimulus genereaza comportare P) Agent A (stimulus genreaza comportare P) 2. Comunicare indirecta • In general pt agenti reactivi • Comunicare prin semnale • V(x)=V(x0)/dist(x,x0) • Comunicare prin "urme" lasate in mediu 4
Control KSAR KS KS KS KS Comunicare indirecta • Comunicare in sisteme tip "blackboard" Blackboard 5
3. Comunicare directa • SMA – limbaje de nivel inalt • Presupun in general agenti BDI • ACL = Agent Communication Languages • Comunica cunostinte rep. cunostinte • Intelegerea mesajului in context ontologii • Comunicare vazuta ca o actiune – acte de vorbire (de comunicare) 6
3.1 ACL Concepts (distinguish ACLs from RPC, RMI or CORBA, ORB): • An ACL message describes a desired state in a declarative language, rather than a procedure or method invocation • ACLs handle propositions, rules, and actions instead of objects with no associated semantics - KR • ACLs are mainly based on BDI theories: BDI agents attempt to communicate their BDI states or attempt to alter interlocutor's BDI state – Cognitive Agents • ACLs are based on Speech Act Theory – Communicative Acts • ACLs refer to shared Ontologies • Agent behavior and strategy drive communication and lead to conversations - Protocols 7
ACL Content language Ontology Origins of ACLs Knowledge Sharing Effort - DARPA, 1990 • External Interface Group - interaction between KBS - KQML • Interlingua - common language of KB - KIF • Shared, Reusable Knowledge Bases - Ontolingua • Communication primitives and protocols - KQML • Content languages • KIF • Ontologies • DAML DARPA Agent Markup Language (August 2000). The goal of the DAML effort was to develop a language and tools to facilitate the concept of the Semantic Web. 8
ACL Content language Ontology 3 straturi ale comunicarii • Primitive si protocol - KQML - FIPA • Limbaje pentru continut • KIF • Prolog • Clips • SQL • DL • FIPA-SL, FIPA-KIF • Ontologii • DAML • OWL 9
3.2 Primitive ACL • Bazate pe acte de comunicare / acte de vorbire J. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969 • Cele 3 straturi separa: • continutul si semantica mesajului • semantica comunicarii (acte vorbire) – independenta de domeniu • Un ACL are o semantica formala bazata pe un formalism logic • 2 ACL-uri care s-au impus: • KQML • FIPA-ACL • Pot include definitii de protocoloale 10
Acte de vorbire Un act de comunicare: • locutie = fraza spusa de locutor • ilocutie = intelesul dorit spre a fi comunicat de locutor (performativa) • prelocutie = actiunea care rezulta din locutie Maria i-a spus lui Gigel: "Te rog inchide usa" locutie illocutie: continut prelocutie: usa inchisa Categorii ilocutionale • Asertive • Directive • Comisive • Permisive • Prohibitive • Declarative • Expresive 11
Content Communication Message KQML KQML de baza - protocol retea - act de vorbire Optional - limbajul continutului - ontologie Parametrii comunicarii - identitate emitator si receptor - identificator unic asociat comunicarii Tipuri de performative • Queries - ask-one, ask-all, ask-if, stream-all,... • Generative - standby, ready, next, rest, discard, generate,... • Response - reply, sorry ... • Informational - tell, untell, insert, delete, ... • Capability definition - advertise, subscribe, recommend... • Networking - register, unregister, forward, route, ... 12
KQML - exemple querie A ask-one(P) B (ask-one:sender joe :receiver ibm-stock :reply-with ibm-stock :language PROLOG :ontology NYSE-TICKS :content (price ibm ?price) ) (tell :sender willie :receiver joe :reply-with block1 :language KIF :ontology BlockWorld :content (AND (Block A) (Block B) (On A B)) ) ask-all(P) tell(P) A B tell(P1,P2,...) stream-all(P) B tell(P1) A tell(P2) eos 13 informational
querie point-to-point Agent facilitator ask-one(P) capability B A tell(P) subscribe(ask(P)) tell(P) A B tell(P) recommend(ask(P)) advertise(ask(P)) reply(B) recruit(ask(P)) advertise(ask(P)) B A ask-one(P) reply(A) A B tell(P) tell(P) 14
Semantica KQML Logica modala Bel(A,P) Know(A,S) Want(A,S) Int(A,S) • Preconditii: starea agentului emitator si a celui receptor pt a trimite si receptiona un mesaj • Postconditii – statrea emitatorului si receptorului dupa primirea cu succes a unui mesaj • Conditie de finalizare – dupa incheierea mesajului si realizarea intentiei asociate tell(A,B,X) Pre(A): Bel(A,X) Know(A, Want(B, Know(B, Bel(A,X)))) Pre(B): Int(B, Know(B, Bel(A,X))) Post(A): Know(A, Know(B, Bel(A,X))) Post(B): Know(B, Bel(A,X)) Completion: Know(B, Bel(A,X)) 15
FIPA ACL • Asemanator cu KQML • Primitive oarecum diferite • Semantica semnificativ diferita (inform :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content "weather (today, raining)" :language Prolog) 16
FIPA - exemple (request :sender (agent-identifier :name i) :receiver (set (agent-identifer :name j) :content ((action (agent-identifier :name j) (deliver box7 (loc 10 15)))) :protocol fipa-request :language fipa-sl :reply-with order56 ) (agree sender (agent-identifier :name j) :receiver (set (agent-identifer :name i) :content ((action (agent-identifier :name j) (deliver box7 (loc 10 15))) (priority order56 low)) :protocol fipa-request :language fipa-sl :in-reply-to order56 ) 17
FIPA - primitive • FIPA – acte de comunicare • Informative - query_if, subscribe, inform, inform_if, confirm, disconfirm, not_understood • Distributie taskuri - request, request_whenever, cancel, agree, refuse, failure • Negociere - cfp, propose, accept_proposal, reject_proposal 18
FIPA ACL SL (Semantic Language) B - belief C - desire U - uncertain belief Bif = B V B~ • Preconditii– conditiile necesare pt agentul emitator; nu neaparat trimite mesaj • Rational effect – efectul sperat la receptor; nu neaparat realizat <A, inform(B, )> Pre:BA BA (BifB UifB) Post: BB 19
FIPA ACL <A, inform(B, )> Pre:BA BA (BifB UifB ) Post: BB • Inform indicates that the sending agent: • holds that some proposition is true, • intends that the receiving agent also comes to believe that the proposition is true, and, • does not already believe that the receiver has any knowledge of the truth of the proposition. • From the receiver’s viewpoint, receiving an inform message entitles it to believe that: • the sender believes the proposition that is the content of the message, and, • the sender wishes the receiver to believe that proposition also. • Whether or not the receiver does, indeed, adopt belief in the proposition will be a function of the receiver's trust in the sincerity and reliability of the sender. 20
FIPA - Protocoale • Defineste o serie de protocoale standard • FIPA-query,FIPA-request,FIPA-contract-net, ... 21
Contract net Initiator si contractori (potentiali) 23
3.3 Limbaje pentru continut • KIF • Prolog • Clips • SQL • FIPA-SL, FIPA-KIF
KIF • Knowledge Interchange Format (KIF) - is based on first order predicate logic and has a LISP-like prefix syntax. • KIF is capable of expressing facts and rules. • KIF provides constructs for describing procedures, i.e. programs to (possibly) be executed by an agent.
Knowledge Interchange Format (KIF) • Facts (salary 015-46-3946 john 72000) (salary 026-40-9152 michael 36000) (salary 415-32-4707 sam 42000) • Asserted relation (> (* (width chip1) (length chip1)) (* (width chip2) (length chip2))) • Rule (=> (and (real-number ?x) (even-number ?n)) (> (expt ?x ?n) 0)) • Procedure (progn (fresh-line t) (print "Hello!") (fresh-line t))
3.4 Ontologii Ontology = a specification of objects, concepts, and relationships in a particular domain It comprises a vocabulary, a domain theory and a conceptual schemata to describe organization and interpretation • Lexicalized ontologies (WordNet, EuroWordNet, BalkanNet, FrameNet, MikroKosmos). • Ontologies for knowledge representation
Ontology languages use “object oriented” model based on: • Objects/Instances/Individuals • Elements of the domain of discourse • Equivalent to constants in FOL • Types/Classes/Concepts • Sets of objects sharing certain characteristics • Equivalent to unary predicates in FOL • Relations/Properties/Roles • Sets of pairs (tuples) of objects • Equivalent to binary predicates in FOL
4. Protocoale de interactiune Interaction protocols= enable agents to have conversations, i.e., structured exchanges of messages • Finite automata • Conversations in KQML • Petri nets
4.1 Finite state automata COOL, Barbuceanu,95 A:B<<ask(do P) B:A<<accept(do P) proposeS(P) B:A<<refuse(do P) acceptR(P) rejectR(P) B:A<<result(do P) B:A<<fail(do P) counterR(P) counterS(P) Winograd, Flores, 1986 rejectS(P) acceptS(P) 31
4.2 Conversations in KQML Use Definite Clause Grammars (DCG) formalism for the specification of conversation policies for KQML performatives DCGs extend Context Free Grammars in the following way: • non-terminals may be compound terms • the body of the rule may contain procedural attachments, written as "{" and "}" that express extra conditions that must be satisfied for the rule to be valid Ex: noun(N) [W], {RootForm(W,N), is_noun(N)} S s(Conv, P, S, R, inR, Rw, IO, Content), {member(P, [advertise, ask-if]} s(Conv, ask-if, S, R, inR, Rw, IO, Content) [ask-if, S, R, inR, Rw, IO, Content] | [ask-if, S, R, inR, Rw, IO, Content], {OI is inv(IO)}, r(Conv, ask-if, S, R, _, Rw, OI, Content) r(Conv, ask-if, R, S, _, inR, IO, Content) [tell, S, R, inR, Rw, IO, Content] | problem(Conv, R, S, inR, _, IO) Labrou, Finin, 1998 32
4.3 Petri nets DA AR2 AR1 DB BR Ferber, 1997 Petri net= oriented graph with 2 type of nodes: places and transitions; there are moving tokens through the net - representation of dynamic aspect of processes. Tokens are moved from place to place, following firing rules. A transition T is enabled if all the input places P of T posses a token (several other rules may be defined). A marking is a distribution of tokens over places. Colored Petri-nets B does not want to do(P) A wants to do P, A cannot do P B is willing to do(P) Request do(P) Refuse do(P) Accept/request do(P) Success Completed(P) Fail to do(P) Impossible to do(P) Notification of end(P) FB FA 33 Failure SA Satisfaction
References • M. Huhns, L. Stephens. Multiagent systems and societies of agents. In Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence, G. Weiss (Ed.), The MIT Press, 2001, p.79-120. • M. Wooldrige. Reasoning about Rational Agents. The MIT Press, 2000, Chapter 7 • Y. Labrou, T. Finin. Semantics and conversations for an agent communication language. In Readings in Agents, M. Huhns & M. Singh (Eds.), Morgan Kaufmann, 1998, p.235-242. • J. Ferber - Multi-Agent Systems. Addison-Wesley, 1999, Chapter 6 • T. Finnin, R. Fritzson - KQML as an agent communication language. In Proc. of the Third International Conference on Information and Knowledge Management (CIKM'94), ACM Press, 1994. • M. Singh. Agent communication languages: Rethinking the principles. IEEE Computer, Dec. 1998, p.40-47. • Y. Labrou, T. Finnin, Y. Peng. Agent communication languages: The current Landscape. IEEE Computer, March/April 1999, p. 45-52. • FIPA97. "Agent Communication Language" Specification FIPA, 11/28/97 34
Web References DARPA KSE http://www-ksl.stanford.edu/knowledge-sharing/ KQML http://www.cs.umbc.edu/kqml/ KIF http://logic.stanford.edu/kif/ Ontolingua http://www-ksl-svc.stanford.edu:5915/&service=frame-editor FIPA http://www.fipa.org/ DAML http://www.daml.org/ OWLhttp://www.w3.org/TR/owl-guide/ Gruber, T., What is an Ontology, http://www.kr.org/top/definitions.html • http://www.w3.org/2001/sw/WebOnt/ • http://www.cs.man.ac.uk/~horrocks/Slides/index.html 35