Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multi-Agent Systems Lecture 3 University “Politehnica” of Bucarest 2004-2005 Adina Magda Florea

Similar presentations


Presentation on theme: "Multi-Agent Systems Lecture 3 University “Politehnica” of Bucarest 2004-2005 Adina Magda Florea"— Presentation transcript:

1 Multi-Agent Systems Lecture 3 University “Politehnica” of Bucarest 2004-2005 Adina Magda Florea adina@cs.pub.ro http://turing.cs.pub.ro/blia_2005 http://turing.cs.pub.ro/

2 Agent communication Lecture outline  The nature of communication  Indirect communication  Direct communication  Agent Communication Languages Content languagesContent languages OntologiesOntologies Theory of speech actsTheory of speech acts KQMLKQML FIPA and FIPA-ACLFIPA and FIPA-ACL  Interaction protocols

3 1. The nature of communication 1.1 Human communication   Communication is the intentional exchange of information brought about by the production and perception of signs drawn from a shared system of conventional signs (AIMA, Russell&Norvig)  language   Communication seen as an action (communicative act) and as an intentional stance 1.2 Component steps of communication SpeakerHearer  Intention  Perception  Generation  Analysis  Synthesis  Disambiguation  Incorporation 3 Syntax Semantics Pragmatics

4 Communication model

5 1.3 Artificial Communication   low-level language vs high-level languages   direct communication vs. indirect communication Computer communication   shared memory message passing Agent communication/ MAS communication   low-level communication: simple signals, traces, low-level languages   high-level communication - cognitive agents, mostly seen as intentional systems   Communication in MAS = more than simple communication, implies interaction   The environment provides a computational infrastructure where interactions among agents take place. The infrastructure includes protocols for agents to communicate and protocols for agents to interact 5

6 Communication protocols Communication protocols = enables agents to exchange and understand messages Interaction protocols Interaction protocols = enable agents to have conversations, i.e., structured exchanges of messages Aim Aim  Communication enables agents to:   coordinate their actions and behavior, a property of a MAS performing some activity in a shared environment   attempt to change state of the other agents   attempt to make the other agents perform some actions 6

7 2. Indirect communication 2.1 Signal propagation 2.1 Signal propagation - Manta, A. Drogoul 1993   An agent sends a signal, which is broadcast into the environment, and whose intensity decreases as the distance decreases   At a point x, the signal may have one of the following intensities V(x)=V(x 0 )/dist(x,x 0 ) or V(x)=V(x 0 )/dist(x,x 0 ) 2 7  x0x0  S S - stimulus  Agent A (stimulus triggers behavior P) Agent B (stimulus triggers behavior P) 2.2 Trails 2.2 Trails - L. Steels, 1995  agents drop "radioactive crumbs" making trails  an agent following a trail makes the trail faint until it disappears Reactive agents

8 2.3Blackboard systems 2.3 Blackboard systems, Barbara Hayes-Roth, 1985   Blackboard = a common area (shared memory) in which agents can exchange information, data, knowledge   Agents initiates communication by writing info on the blackboard   Agents are looking for new info, they may filter it   Agents must register with a central site to receive an access authorization to the blackboard   Blackboard = a distributed knowledge computation paradigm   Agents = Knowledge sources (KS) 8 Cognitive agents KS KSAR Control Blackboard

9 3. Direct communication Sending messages   method invocation – Actors   exchange of partial plans – coordination of cooperative agents ACL = Agent Communication Languages   Need to communicate knowledge  knowledge representation   Need to understand the message in a context  ontologies   Communication is seen as an action - communicative acts 9

10 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 drivecommunication and lead to conversations - Protocols 10 3.1 Agent Communication Languages

11 11 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 ACL Content language Ontology   Communication primitives and protocols   Content languages KIF Prolog Clips SQL FIPA-SL, FIPA-KIF   Ontologies   DAML   OWL DARPA Agent Markup Language (August 2000). The goal of the DAML effort is to develop a language and tools to facilitate the concept of the Semantic Web.

12 12 3.2 Content languages for ACL (Knowledge representation)  Description Logics (DL) - a formalism for expressing concepts and their interrelationships. In DL, concepts are organized into IS-A hierarchies. Concepts are specifications such that given an individual (object instance) a DL system can recognize the individual and determine which concepts it belongs to. DL systems also perform subsumption checking.  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 complex relationships (rules). KIF provides constructs for describing procedures, i.e. programs to (possibly) be executed by an agent.

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

14 14 3.3 Ontologies Ontology = a specification of objects, concepts, and reationships in a particular domain; it comprises a vocabulary, a domain theory and a conceptual schemata to describe organization and interpretation  An ontology is more than a taxonomy of classes, it must also describe relationships  Lexicalized ontologies (WordNet, EuroWordNet, BalkanNet, FrameNet, MikroKosmos).  Ontologies for knowledge representation  Implicit ontologies (class libraries of OOP) Person PupilStudEmpl Sun_EIBM_E Person Empl Woman Stud Man JoeAlice JoeAlice

15 15  x (Block x)  (PhysicalObject x) Instead of saying (Block A) (InstanceOf A Block) Define the hierarchy (Class Block) (Class PhysicalObjects) (SubclassOf Block PhysicalObjects)  x,y,z (InstanceOf x y)  (SubclassOf y z)  (InstanceOf x z) Ontology editors = frame-based KR systems that allow the user to define an ontology and its components: classes, instances, relationships, and functions

16 OWL - Web Ontology Language   W3C   OWL - designed for use by applications that need to process the content of information instead of just presenting information to humans.   OWL facilitates greater machine interpretability of Web content than that supported by XML, RDF, and RDF Schema (RDF-S) by providing additional vocabulary along with a formal semantics.   OWL has three increasingly-expressive sublanguages:   OWL Lite supports a classification hierarchy and simple constraints.   OWL DL supports maximum expressiveness while retaining computational completeness (all conclusions are guaranteed to be computed) and decidability (all computations will finish in finite time).   OWL Full supports maximum expressiveness and the syntactic freedom of RDF with no computational guarantees.

17 OWL - Web Ontology Language Ontology header An example OWL ontology Wine Ontology … Simple Named Classes Class, rdfs:subClassOf

18 3.4 Theory of Speech Acts J. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969 A speech act has 3 aspects:   locution = physical utterance by the speaker   illocution = the intended meaning of the utterance by the speaker (performative)   prelocution = the action that results from the locution Alice told Tom: "Would you please close the door" locutionillocutioncontent prelocution: door closed (hopefully!) Illocutionary aspect - several categories o oAssertives, which inform: the door is shut o oDirectives, which request: shut the door, can pelicans fly? o oCommissives, which promise something: I will shut the door o oPermissive, which gives permission for an act: you may shut the door o oProhibitives, which ban some act: do not shut the door o oDeclaratives, which causes events: I name you king of Ruritania o oExpressives, which express emotions and evaluations: I am happy 18

19 3.5 KQML - Knowledge Query and Manipulation Language A high-level, message-oriented communication language and protocol for information exchange, independent of content syntax (KIF, SQL, Prolog,…) and application ontology KQML separates:   semantics of the communication protocol (domain independent)   semantics of the message (domain dependent) 3 (conceptual) layers 19 Content Communication Message Describes low level communication parameters: - identity of sender and receiver - an unique id associated with the communication Core of KQML - identity of the network protocol with which to deliver the message - speech act or performative Optional - content language - ontology

20 Syntax SyntaxS-expressions used in LISP KQML performatives are classified:   Queries - These performatives are used to send questions for evaluation somewhere.   Generative - Used for controlling and initiating the exchange of messages.   Response - Used by a agent in order reply to queries.   Informational - Informational performatives are used to transfer information.   Capability definition - Allows an agent to learn about the capabilities of other agents and to announce its own to the agent community.   Networking - Networking performatives make it possible to pass directives to underlying communication layers.Example (ask-one :sender joe :receiver ibm-stock :reply-with ibm-stock :language PROLOG :ontology NYSE-TICKS :content (price ibm ?price) ) 20 (tell:sender willie :receiver joe :reply-with block1 :language KIF :ontology BlockWorld :content (AND (Block A)(Block B) (On A B)) )

21 21 1. Query performatives: ask-one, ask-all, ask-if, stream-all,... (stream-all:sender willie :receiver ibm-stock :content (price ?VL ?price ) ) ask-one(P) tell(P) tell(P1) stream-all(P) tell(P2) eos tell(P1,P2,...) ask-all(P) B B B A A A

22 22 4. Generic informational performatives: tell, untell, insert, delete,... In fact, KQML contains only 2 types of illocutionary acts: assertives and directives + facilitator and network-related performatives (no necessarily speech acts) tell(P) untell(P) delete(P) insert(P) 2. Generative performatives: standby, ready, next, rest, discard, generate,... 6. Network performatives: register, unregister, forward, route,... 3. Response performatives: reply, sorry... 5. Capability performatives: advartise, subscribe, recommend... Facilitator A A B B

23 23 Facilitator agent = an agent that performs various useful communication services:  maintaining a registry of service names (Agent Name Server)  forwarding messages to named services  routing messages based on content  matchmaking between information providers and clients  providing mediation and translation services tell(P) ask(P) subscribe(ask(P)) tell(P) advertise(ask(P)) tell(P) recruit(ask(P)) reply(A) recommend(ask(P))advertise(ask(P)) tell(P) ask(P) reply(B) A A A A B B B B point-to-point

24 24 Semantics of KQML (Labrou & Finin)  Use preconditions and postconditions that govern the use of a performative + the final state for the successful performance of the performative  Uses propositional attitudes: belief, knowledge, desire, intentions Preconditions: the necessary states for an agent to send a performative and for the receiver to accept it and successfully process it; if the precondition does not hold, the most likely response is error or sorry Postconditions - describe the state of the sender after successful utterance of a performative and of the receiver after the receipt and processing of a message Completion condition - the final state after a conversation has taken place and that the intention associated with the performative that started the conversation has been fulfilled Propositional attitudes Bel(A,P)Know(A,S)Want(A,S)Int(A,S) Instances of action Proc(A,M)SendMsg(A,B,M)

25 25 tell(A,B,X) A states to B that A believes the content X to be true, Bel(A,X) Pre(A): Bel(A,X)  Know(A, Want(B, Know(B, Bel(A,X)))) Pre(B): Int(B, Know(B, Bel(A,X))) or  Bel(A,X) Post(A): Know(A, Know(B, Bel(A,X))) no unsolicited information Post(B): Know(B, Bel(A,X)) Completion: Know(B, Bel(A,X))advertise(A,B,M) A states to B that A can and will process the message M from B, if it receives one Int(A, Proc(A,M))commisive act Pre(A): Int(Proc(A,M)) Pre(B): NONE Post(A): Know(A, Know(B, Int(A, Proc(A,M))) Post(B): Know(B, Int(A, Proc(A,M))) Completion: Know(B, Int(A, Proc(A,M)))

26 26 KQML Software architecture KQML – implemented in different languages  Design – a router, a facilitator, a library of interface routines (KRIL)  Eack KML agent is associated with its separate router process; all routers are identical Agent KRILRouter Network KQML objects function calls Network connections KQML strings

27 27 KRIL An API – KQML Router Interface Library  While the router is a separate process, with no undestanding of the content field of a KQML message, the KRIL API is embedded in the application and has access to the application tools for analyzing the content.  Variuos KRILs  Tightly embedded or lightly embedded  Simple KRIL - send-kqml-message – accepts a message - declare-message-handler – which function to invoke when a message arrives - different types of declarations which allow to register the application with local facilitators and contact remote agents  KRIL: Common Lisp, C, Prolog, SQL, etc.

28 28 3.6 FIPA and FIPA - ACL Foundation for Intelligent Physical Agents, 1996 o Goal of FIPA = make available specifications that maximize interoperability across agent-based systems o FIPA Committees: ACL, agent specification, agent-software interaction  As KQML, FIPA ACL is based on speech act theory; it sees messages as communication acts (CA); syntax similar to KQML  Differs in: the names of CAs, set of CAs, and semantics FIPA communicative acts Informatives - query_if, subscribe, inform, inform_if, confirm, disconfirm, not_understood Task distribution - request, request_whenever, cancel, agree, refuse, failure Negotiation - cfp, propose, accept_proposal, reject_proposal

29 29 FIPA's specifications are grouped into 5 categories:  1. Applications  2. Abstract Architecture  3. Agent Communication  4. Agent Management  5. Agent Message Transport 3. Agent Communication: FIPA ACL Message Structure  Communicative Acts: FIPA Communicative Acts Library  Content Languages:  FIPA Content Languages  FIPA SL Content Language  FIPA CCL Content Language  FIPA KIF Content Language  FIPA RDF Content Language  Interaction Protocols

30 30  FIPA-SL (Semantic Language) (inform:sender Agent1 :receiver Agent2 :content (price good2 150) :in-reply-to round-1 : reply-with bid03 : language S1 :ontology hp-auction :reply-by 10 :protocol offer :conversation-id conv-1 )

31 31  FIPA-SL (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 )

32 32 FIPA - Semantics SL (Semantic Language) - a quantified, multi-modal logic, with modal operators Allows to represent:  beliefs  uncertain beliefs  desires  intentions B  - beliefD  - desireU  - uncertain belief PG  - intention Bif  - express whether an agent has a definite opinion one way or another about the truth or falsity of  Uif  - the agent is uncertain about 

33 33 FIPA - Semantics The semantics of a CA is specified as a set of SL's formulae that describe:  Feasibility preconditions - the necessary conditions for the sender - the sender is not obliged to perform the CA  Rational effect - the effect that an agent can expect to occur as a result of performing the action; it also typically specifies conditions that should hold true of the recipient The receiving agent is not required to ensure that the expected effect comes about The sender can not assume that the rational effect will necessary follow Pre: B A    B A (Bif B   Uif B  ) Post: B B 

34 34 Using ACLs in MAS Any MAS that is to use an ACL must provide:  a finite set of APIs for composition, sending, and receiving ACL messages  an infrastructure of services that assist agents in naming, registration, and basic facilitation services (finding other agents that can do things for your agent)  code for every reserved message type that takes the action prescribed by the semantics for the particular application;  the code depends on the application language, the domain, and the details of the agent system using the ACL

35 4. Interaction protocols Interaction protocols Interaction protocols = enable agents to have conversations, i.e., structured exchanges of messages   Finite automata   Conversations in KQML   Petri nets   FIPA IP standards: FIPA-query, FIPA-request, FIPA-contract-net,...

36 4.1 Finite state automata 36 A:B<<ask(do P) B:A<<accept(do P) B:A<<refuse(do P) B:A<<result(do P)B:A<<fail(do P) propose S (P) accept R (P) reject R (P) counter R (P) counter S (P) accept S (P) reject S (P) Winograd, Flores, 1986 COOL, Barbuceanu,95

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

38 DA A wants to do P, A cannot do P Request do(P) Refuse do(P) Accept/request do(P) Fail to do(P) Notification of end(P) DBAR1AR2 FA2 FA1 BR FB Failure Satisfaction Impossible to do(P) B does not want to do(P) B is willing to do(P) Completed(P) 4.3 Petri nets 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 Ferber, 1997 38 Success

39 39 4.4 FIPA Interaction Protocols FIPA Interaction Protocol Library  FIPA Request Interaction Protocol  FIPA Query Interaction Protocol  FIPA Request When Interaction Protocol  FIPA Contract Net Interaction Protocol  FIPA Iterated Contract Net Interaction Protocol  FIPA English Auction Interaction Protocol  FIPA Dutch Auction Interaction Protocol  FIPA Brokering Interaction Protocol  FIPA Recruiting Interaction Protocol  FIPA Subscribe Interaction Protocol  FIPA Propose Interaction Protocol

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

41 41 Web References DARPA KSEhttp://www-ksl.stanford.edu/knowledge-sharing/http://www-ksl.stanford.edu/knowledge-sharing/ KQMLhttp://www.cs.umbc.edu/kqml/http://www.cs.umbc.edu/kqml/ KIFhttp://logic.stanford.edu/kif/http://logic.stanford.edu/kif/ Ontolinguahttp://www-ksl-svc.stanford.edu:5915/&service=frame-editorhttp://www-ksl-svc.stanford.edu:5915/&service=frame-editor FIPAhttp://www.fipa.org/http://www.fipa.org/ DAMLhttp://www.daml.org/http://www.daml.org/ OWLhttp://www.w3.org/TR/owl-guide/http://www.w3.org/TR/owl-guide/ References for Ontologies References for Ontologies (due to prof. Stefan Trausan)  Constandache, G.G., Ştefan Trăuşan-Matu, Ontologia şi hermeneutica calculatoarelor, Ed. Tehnică, 2001  Gruber, T., What is an Ontology, http://www.kr.org/top/definitions.htmlhttp://www.kr.org/top/definitions.html  J. Sowa, Ontologia şi reprezentarea cunoştinţelor, în (Constandache şi Trăuşan-Matu, 2001)  http://www.w3.org/2001/sw/WebOnt/ http://www.w3.org/2001/sw/WebOnt/  http://www.cs.man.ac.uk/~horrocks/Slides/index.html http://www.cs.man.ac.uk/~horrocks/Slides/index.html


Download ppt "Multi-Agent Systems Lecture 3 University “Politehnica” of Bucarest 2004-2005 Adina Magda Florea"

Similar presentations


Ads by Google