Top Banner
Multi-Agent Multi-Agent Systems Systems Lecture 3 Lecture 3 University “Politehnica” of University “Politehnica” of Bucarest Bucarest 2004-2005 2004-2005 Adina Magda Florea Adina Magda Florea [email protected] [email protected] http:// http:// turing turing . . cs cs .pub. .pub. ro ro / / blia_2005 blia_2005
41

Agent communication Lecture outline

Mar 19, 2016

Download

Documents

Draco

Multi-Agent Systems Lecture 3 University “Politehnica” of Bucarest 2004-2005 Adina Magda Florea [email protected] http://turing.cs.pub.ro/ blia_2005. Agent communication Lecture outline. The nature of communication Indirect communication Direct communication Agent Communication Languages - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agent communication Lecture outline

Multi-Agent Multi-Agent SystemsSystemsLecture 3Lecture 3

University “Politehnica” of University “Politehnica” of BucarestBucarest2004-20052004-2005

Adina Magda FloreaAdina Magda [email protected]@cs.pub.ro

http://http://turingturing..cscs.pub..pub.roro//blia_2005blia_2005

Page 2: Agent communication Lecture outline

Agent communicationAgent communicationLecture outlineLecture outline

The nature of communicationThe nature of communication Indirect communicationIndirect communication Direct communicationDirect communication

Agent Communication LanguagesAgent Communication Languages• Content languagesContent languages• OntologiesOntologies• Theory of speech actsTheory of speech acts• KQMLKQML• FIPA and FIPA-ACLFIPA and FIPA-ACL

Interaction protocolsInteraction protocols

Page 3: Agent communication Lecture outline

1. The nature of 1. The nature of communicationcommunication

1.1 Human communication1.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 communication1.2 Component steps of communicationSpeakerSpeaker HearerHearer Intention Perception Generation Analysis Synthesis Disambiguation

Incorporation

3

SyntaxSemanticsPragmatics

Page 4: Agent communication Lecture outline

Communication modelCommunication model

Page 5: Agent communication Lecture outline

1.3 1.3 Artificial CommunicationArtificial Communication low-level language vs high-level languages direct communication vs. indirect communication

Computer communicationComputer communication shared memory message passing

Agent communication/ MAS communicationAgent 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

Page 6: Agent communication Lecture outline

Communication protocolsCommunication protocols = enables agents to exchange and understand messages

Interaction protocolsInteraction protocols = enable agents to have conversations, i.e., structured exchanges of messages

AimAim 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

Page 7: Agent communication Lecture outline

2. Indirect communication2. Indirect communication2.1 Signal propagation2.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(x0)/dist(x,x0) or V(x)=V(x0)/dist(x,x0)2

7

x0

SS - stimulus

Agent A(stimulus triggersbehavior P)

Agent B(stimulus triggersbehavior P)

2.2 Trails2.2 Trails - L. Steels, 1995 agents drop "radioactive crumbs" making trails an agent following a trail makes the trail faint until it disappears

Reactive agentsReactive agents

Page 8: Agent communication Lecture outline

2.32.3 Blackboard systemsBlackboard 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 agentsCognitive agentsKS

KS

KS

KS

KSAR

Control

Blackboard

Page 9: Agent communication Lecture outline

3. Direct communication3. Direct communicationSending messages Sending messages method invocation – Actors exchange of partial plans – coordination of cooperative

agents

ACL = Agent Communication LanguagesACL = 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

Page 10: Agent communication Lecture outline

Concepts (distinguish ACLs from RPC, RMI or Concepts (distinguish ACLs from RPC, RMI or CORBA, ORB):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

10

3.1 Agent Communication 3.1 Agent Communication LanguagesLanguages

Page 11: Agent communication Lecture outline

11

Origins of ACLsOrigins of ACLsKnowledge 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 primitivesand 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 languageand tools to facilitate the concept of the Semantic Web.

Page 12: Agent communication Lecture outline

12

3.2 Content languages for ACL3.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.

Page 13: Agent communication Lecture outline

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

Page 14: Agent communication Lecture outline

14

3.3 Ontologies3.3 OntologiesOntology = 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

Joe Alice

Joe Alice

Page 15: Agent communication Lecture outline

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

Page 16: Agent communication Lecture outline

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.

Page 17: Agent communication Lecture outline

OWL - Web Ontology Language

Ontology header<owl:Ontology rdf:about="">

<rdfs:comment>An example OWL ontology</rdfs:comment> <owl:priorVersion rdf:resource="http://www.w3.org/TR/2003/CR-owl-

guide-20030818/wine"/> <owl:imports rdf:resource="http://www.w3.org/TR/2003/PR-owl-guide-

20031215/food"/> <rdfs:label>Wine Ontology</rdfs:label>

Simple Named ClassesClass, rdfs:subClassOf

<owl:Class rdf:ID="Winery"/> <owl:Class rdf:ID="Region"/>

<owl:Class rdf:ID="ConsumableThing"/>

Page 18: Agent communication Lecture outline

3.4 Theory of Speech Acts3.4 Theory of Speech ActsJ. 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"locution illocution contentprelocution: door closed (hopefully!)

Illocutionary aspect - several categories Assertives, which inform: the door is shut Directives, which request: shut the door, can pelicans fly? Commissives, which promise something: I will shut the door Permissive, which gives permission for an act: you may shut the door Prohibitives, which ban some act: do not shut the door Declaratives, which causes events: I name you king of Ruritania Expressives, which express emotions and evaluations: I am happy

18

Page 19: Agent communication Lecture outline

3.5 KQML - 3.5 KQML - Knowledge Query and Knowledge Query and Manipulation Manipulation LanguageLanguageA 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) layers3 (conceptual) layers

19

Content

Communication

Message

Describes low levelcommunication 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

Page 20: Agent communication Lecture outline

SyntaxSyntax S-expressions used in LISPKQML 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.

ExampleExample(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)) )

Page 21: Agent communication Lecture outline

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

Page 22: Agent communication Lecture outline

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

Page 23: Agent communication Lecture outline

23

Facilitator agentFacilitator 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)

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

Page 24: Agent communication Lecture outline

24

Semantics of KQML Semantics of KQML (Labrou & Finin)(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, intentionsPreconditions: 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 attitudesBel(A,P) Know(A,S) Want(A,S) Int(A,S)

Instances of actionProc(A,M) SendMsg(A,B,M)

Page 25: Agent communication Lecture outline

25

tell(A,B,X)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 informationPost(B): Know(B, Bel(A,X))Completion: Know(B, Bel(A,X))

advertise(A,B,M)advertise(A,B,M)A states to B that A can and will process the message M from B, if it receives oneInt(A, Proc(A,M)) commisive act

Pre(A): Int(Proc(A,M))Pre(B): NONEPost(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)))

Page 26: Agent communication Lecture outline

26

KQML Software architectureKQML 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

AgentKRILRouterNetwork

KQML objects

function callsNetwork connections

KQML strings

Page 27: Agent communication Lecture outline

27

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

Page 28: Agent communication Lecture outline

28

3.6 FIPA3.6 FIPA andand FIPA - ACL FIPA - ACL Foundation for Intelligent Physical Agents, 1996

Goal of FIPA = make available specifications that maximize interoperability across agent-based systems

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 actsInformatives - query_if, subscribe, inform, inform_if, confirm, disconfirm, not_understoodTask distribution - request, request_whenever, cancel, agree, refuse, failureNegotiation - cfp, propose, accept_proposal, reject_proposal

Page 29: Agent communication Lecture outline

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

Page 30: Agent communication Lecture outline

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 )

Page 31: Agent communication Lecture outline

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 )

Page 32: Agent communication Lecture outline

32

FIPA - SemanticsFIPA - SemanticsSL (Semantic Language) - a quantified, multi-modal logic, with

modal operatorsAllows to represent:

beliefsuncertain beliefsdesiresintentions

B - belief D - desire U - uncertain beliefPG - intentionBif - express whether an agent has a definite opinion one way

or another about the truth or falsity of Uif - the agent is uncertain about

Page 33: Agent communication Lecture outline

33

FIPAFIPA - - SemanticsSemanticsThe 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 recipientThe receiving agent is not required to ensure that the expected effect comes aboutThe sender can not assume that the rational effect will necessary follow

<A, inform(B, )>Pre: BA BA (BifB UifB )Post: BB

Page 34: Agent communication Lecture outline

34

Using ACLs in MASAny 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

Page 35: Agent communication Lecture outline

4. Interaction protocols4. Interaction protocolsInteraction protocolsInteraction 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, ...

Page 36: Agent communication Lecture outline

4.1 Finite state automata4.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)

proposeS(P)

acceptR(P) rejectR(P)

counterR(P)counterS(P)

acceptS(P) rejectS(P)Winograd, Flores, 1986

COOL, Barbuceanu,95

Page 37: Agent communication Lecture outline

37

4.2 Conversations in KQML4.2 Conversations in KQMLUse Definite Clause Grammars (DCG) formalism for the specification of conversation policies for KQML performativesDCGs 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 validEx: 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

Page 38: Agent communication Lecture outline

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

DB

AR1

AR2

FA2FA1

BR

FBFailure Satisfaction

Impossibleto do(P)

B does not wantto do(P)

B is willingto do(P)

Completed(P)

4.3 Petri nets4.3 Petri netsPetri 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

Page 39: Agent communication Lecture outline

39

4.4 FIPA Interaction Protocols4.4 FIPA Interaction ProtocolsFIPA 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

Page 40: Agent communication Lecture outline

40

ReferencesReferences 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

Page 41: Agent communication Lecture outline

41

Web ReferencesWeb 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-editorFIPA http://www.fipa.org/DAML http://www.daml.org/OWL http://www.w3.org/TR/owl-guide/

References for OntologiesReferences 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.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.cs.man.ac.uk/~horrocks/Slides/index.html