1 / 35

Comunicare in SMA

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

tahir
Download Presentation

Comunicare in SMA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sisteme multi-agentCurs 3Universitatea “Politehnica” din Bucurestianul universitar 2007-2008Adina Magda Floreaadina@cs.pub.rohttp://turing.cs.pub.ro/blia_08curs.cs.pub.ro

  2. Comunicare in SMA • Comunicare indirecta • Comunicare directa • ACL • Limbaje pentru continut • Teoria actelor de vorbire • KQML • FIPA and FIPA-ACL • Protocoale de interactiune

  3. 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

  4. 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

  5. Control KSAR KS KS KS KS Comunicare indirecta • Comunicare in sisteme tip "blackboard" Blackboard 5

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. FIPA - Protocoale • Defineste o serie de protocoale standard • FIPA-query,FIPA-request,FIPA-contract-net, ... 21

  22. FIPA - Request 22

  23. Contract net Initiator si contractori (potentiali) 23

  24. FIPA - Contract net 24

  25. 3.3 Limbaje pentru continut • KIF • Prolog • Clips • SQL • FIPA-SL, FIPA-KIF

  26. 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.

  27. 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))

  28. 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

  29. 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

  30. 4. Protocoale de interactiune Interaction protocols= enable agents to have conversations, i.e., structured exchanges of messages • Finite automata • Conversations in KQML • Petri nets

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

More Related