sif8072 distributed artificial intelligence and intelligent agents

53
SIF8072 Distributed Artificial Intelligence and Intelligent Agents http:// www . idi . ntnu . no /~agent/ 13 February 2003 Lecture 5: Agent Communication Lecturer: Sobah Abbas Petersen Email: [email protected]

Upload: gail-brooks

Post on 01-Jan-2016

47 views

Category:

Documents


3 download

DESCRIPTION

Lecture 5: Agent Communication. SIF8072 Distributed Artificial Intelligence and Intelligent Agents. http://www.idi.ntnu.no/~agent/ 13 February 2003. Lecturer: Sobah Abbas Petersen Email: [email protected]. Lecture Outline. What is an Agent Communication Language (ACL)? Speech Acts ACLs - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

SIF8072 Distributed Artificial Intelligence

andIntelligent Agents

http://www.idi.ntnu.no/~agent/13 February 2003

Lecture 5: Agent Communication

Lecturer: Sobah Abbas Petersen

Email: [email protected]

Page 2: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

2

Lecture Outline

• What is an Agent Communication Language (ACL)?

• Speech Acts

• ACLs

– KQML and KIF

– FIPA ACL

• Ontologies and The Semantic Web

• Summary

Page 3: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

3

References - Curriculum

• Wooldridge: ”Introduction to MAS”,

– Chapter 8

• T. Finin, Y. Labrou, J. Mayfield. ”KQML as an Agent

Communication Language”. In: J. Bradshaw (ed). Software

Agents, AAAI Press/MIT Press, 1997, pp. 291-316.

• Not curriculum:

- Y. Labrou,T. Finin and Y. Peng, ”Agent Communication Languages: The

Current Landscape”, IEE Intelligent Systems, 1094-7167, 1999.

Page 4: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

4

Agent Communication Language

An Agents Communication Language

(ACL) provides agents with a means of

exchanging information and knowledge.

Page 5: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

5

What distinguishes ACLs?

• Earlier attempts at seamless exchange of information and knowledge

between applications:

– e.g. Remote Procedure Calls, Remote Method Invocation, CORBA

• Differences between the above and ACLs are:

– Semantic complexity

– ACLs can handle propositions, rules and actions instead of simple objects

with no semantics associated with them.

– An ACL message describes a desired state in a declarative language,

rather than a procedure or a method.

Page 6: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

6

Agent Communication

• Agents have conversations (as opposed to exchange single

messages), e.g.

– Task-oriented

– Negotiations

• A higher level conceptualisation of an agent’s strategies

drive an agent’s communicative behaviour.

• Message type of agents : Speech Acts

Page 7: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

7

Speech Acts 1

• Communication in MAS is inspired by speech act theory.

• Speech act theories are pragmatic theories of language, i.e.

theories of language use:

– they attempt to account for how language is used by people every

day to achieve their goals and intentions.

• The origin of speech act theories are usually traced to the

work of the philosopher John Austin.

Page 8: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

8

Speech Acts 2 - Austin

• Austin noticed that some utterances are like ”physical

actions” that appear to change the state of the world. e.g.

– Declaring war

– ”I now pronounce you man and wife”

• In general, every thing we utter is uttered with the

intention of satisfying some goal or intention.

A theory of how utterances are used to achieve intentions

is a speech act theory.

Page 9: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

9

Speech Acts 3 - Austin

• Austin distinguished 3 different aspects of speech acts:

1. Locutionary act - act of making an utterance

• e.g. saying ”please make some tea” ’

2. Illocutionary act – action performed in saying something

• e.g. he requested me to make some tea

3. Perlocution – effect of the act

• e.g. he got me to make tea

Page 10: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

10

Speech Acts 4 Types of Speech Acts

• Searle identified 5 different types of speech acts:

Speech Act Type Description and Example

Representatives or Assertives

Informing

e.g. ”It is raining”.

Directives Speaker tries to make the hearer do something

e.g. ”Please close the window”

Commisives Commits the speaker to future action

e.g. ”I will close the window”

Expressives Speaker expresses a mental state

e.g. ”Excuse me”, ”congratulations”

Declaratives Effect some changes

e.g. ”I name this city Trondheim”

Page 11: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

11

Speech Act Please close the door

The door is closed Is the door closed?

Performative request inform inquire

Content the door is closed the door is closed the door is closed

Speech Acts 5 - Components

• In general, speech acts can be seen to have 2 components:

1. A performative verb

• e.g. Request, inform

2. Propositional content

• e.g. ”the window is closed”

Page 12: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

12

Speech Acts 6 – Plan-based Theory

• How does one define the semantics of speech acts? When can one

say someone has uttered, e.g. a request or an inform?

• How can the properties of speech acts be represented such that

planning systems could reason about them?

Speech acts are treated as physical actions.

Actions are characterised via preconditions and postconditions.

Page 13: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

13

Speech Acts 7 Plan-based Theory Example

• Semantics for request: request(s,h,)

• Pre:

– s believes h can do

(you don’t ask someone to do something unless you think that they can do it)

– s believes h believes h can do

(you don’t ask someone unless they believe they can do it)

– s believes s wants

(you don’t ask someone unless you want it!)

• Post:

– h believes s believes s wants

(the effect is to make them aware of your desire)

Page 14: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

14

Agent Communication Language (ACL)

ACLs allow agents to effectively

communicate and exchange knowledge

with other agents.

Agenti Agentj

Convert to transport

form

Convert to transport

form

Message delivery/transportation service

Goal G

Intent I

Perform-ative

Message

Page 15: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

15

Three Important Aspects

1.How the symbols of communication are

structured.

Syntax

Semantics

Pragmatics

2. What the symbols denote.

3. How the symbols are interpreted.

(Meaning is a combination of semantics and pragmatics.)

Page 16: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

16

Communication Levels

SyntaxFormat of information being transferred

SemanticsMeaning of the information

CommunicationMethod of interconnection

Page 17: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

17

Requirements for an ACL

• Syntactic translation between languages

• Semantic content preservation among

applications

– The concept must have a uniform meaning across

applications.

• Ability to communicate complex attitudes

about their information and knowledge.

– Agents need to question, request, etc.

– Not about transporting bits and bytes.

Syntactic

Semantic

Communication

Page 18: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

18

Origins of ACLs

• Knowledge Sharing Effort (KSE), funded by ARPA

– Central concept: knowledge sharing requires communication, which

in turn requires a common language. KSE focused on defining that

common language.

KQML: Knowledge Query and Manipulation Language

– Language for both message formatting and message handling protocols.

KIF: Knowledge Interchange Format

– Langauge for expressing message content.

Page 19: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

19

KIF 1

• Motivation: creation of a common language for

expressing properties of a domain.

– Intented to express contents of a message; not the

message itself.

– Based on first-order logic.

Page 20: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

20

KIF 2

• Using KIF, it’s possible to express:

– Properties of things in a domain

• e.g. Michael is a vegetarian – Michael has the property of being a

vegetarian

– Relationships between things in a domain

• e.g. Michael and Janine are married – the relationship of marriage

exists between Michael and Janine.

– General properties of a domain

• e.g. Everybody has a mother.

Page 21: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

21

KIF 3 - Example

• Relation between 2 objects:

– The temperature of m1 is 83 Celsius:

(= (temperature m1) (scalar 83 Celsius))

• Definition of new concept:

– An object is a bachelor if this object is a man and not married:(defrelation bachelor (?x) :=

(and (man ?x)

(not (married ?x))))

• Relationship between individuals in the domain:

– A person with the property of being a person also has the property of

being a mammal:

(defrelation (person ?x) :=> (mammal ?X))

Page 22: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

22

• An “outer language” that defines a set of performatives (communicative acts), such as ask, reply.

CommunicationMechanics of communication, e.g. Sender, receiver.

Performatives (message layer)

Content of communication,e.g. a KIF expression

Content

Logic of communication, e.g. ask, tell.

e.g.

(ask-if :sender agenti

:receiver agentj

:language Prolog

:ontology genealogy

:content “spouse(adam, eve)”)

KQML 1

Page 23: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

23

• The idea of communication in KQML is to represent

illocutionary acts.

• Performatives form the core of the language:

– Determine the kinds of interactions one can have with KQML-

speaking agents.

– Identify the protocol to be used to deliver the message

– Signify that the content is an assertion, a query, a command or

another speech act.

– Describe how the sender would like any reply to be delivered.

KQML 2 - Performatives

Page 24: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

24

KQML 3Categories of Performatives

Category Performatives

Basic Query evaluate, ask-if, ask-one, ask-all, ask-about

Multi-response Query stream-about, stream-all

Response reply, sorry

Generic informational tell, achieve, cancel, untell

Generator standby, ready, next,rest, discard, generator

Capability-definition advertise, subscribe, monitor, import, export

Networking register, unregister, forward, broadcast, route

Page 25: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

25

(evaluate

:sender A : receiver B

:language KIF: ontology motors

:reply-with q1 :content (val (torque m1)))

(reply

:sender B : receiver A

:language KIF: ontology motors

:in-reply-to q1

:content (= (torque m1) (scalar 12 kgf)))

KQML 4 - Examples

Page 26: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

26

(stream-about

:sender A : receiver B

:language KIF: ontology motors

:reply-with q1 :content (m1)

(tell

:sender B : receiver A

:in-reply-to q1

:content (= (torque m1) (scalar 12 kgf)))

(tell

:sender B : receiver A

:in-reply-to q1

:content (= (status m1) (normal)))

(eos

:sender B : receiver A

:in-reply-to q1)

KQML 5 - Examples

Page 27: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

27

Facilitators 1

• KQML environments (may) contain facilitators that help make the

communication protocol transparent.

• Facilitators: a special class of agents that perform useful

communication services such as:

– Maintain registry of service names

– Forward messages to named services

– Routing messages based on content

– Provide matchmaking between information providers and seekers

– Provide mediation and translation services

Page 28: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

28

A B

F

ask(X)

tell(X)

Facilitators 2

Point-to-point protocol

A is aware that it is appropriate

to send a query about X to B

There are several ways to achieve

this via a Facilitator.

Page 29: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

29

A B

Ftell(X)

subscribe(ask(X)) tell(X) Using the subscribe performative

Request that Facilitator F monitor

for the truth of X. If B subsequently

informs F that it believes X to be

true, then F can in turn inform A.

Facilitators 3

Page 30: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

30

A B

Ftell(X) ask(X)

broker(ask(X))

advertise(ask(X))

tell(X)Using the broker performative

A Asks Facilitator to find another agent

which can process a given performative.

Facilitators 4

Page 31: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

31

A B

Fask(X)

recruit(tell(X))

advertise(ask(X))

tell(X)

Using the rercruit performative

Asks Facilitator to find an appropriate

agent to which an embedded

performative can be forwarded. A reply

is returned directly to the original agent.

Facilitators 5

Page 32: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

32

A B

Freply(B)

ask(X)

tell(X)

recommend(ask(X)) advertise(ask(X))

Using the recommend performative

Asks Facilitator to respond with the ”name”

of another agent which is appropriate for

sending a particular performative.

Facilitators 6

Page 33: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

33

KQML Criticism

• Weak semantics of performatives

– Different implementations of KQML could not interoperate.

• Transportation mechanisms were not defined.

• Lacked the class of performatives: commissives

– Difficult to implement multi-agent scenarios without commissives.

• Set of performatives was large and ad hoc.

Recently, more efforts have been made to provide formal

semantics in terms of preconditions, postconditions and completion

conditions. (ref: Labrou et. al., 1999.)

Page 34: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

34

Who is FIPA?

• The Foundation for Intelligent Physical Agents (FIPA)

is a non-profit association.

• FIPA’s purpose is to promote the success of emerging

agent-based applications, services and equipment.

• FIPA operates through the open international

collaboration of member organisations: companies,

universities and government organisations.

Page 35: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

35

FIPA ACL 1

• Basic structure is quite similar to KQML:

– Performative (communicative act)

• 20 performatives in FIPA ACL

– Housekeeping

• e.g. Sender

– Content

• the actual content of the message

Page 36: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

36

FIPA ACL 2Message Structure

• Envelope:

– Comprises of a collection of

parameters

– Contains atleast the

mandatory to and sender

parameters

Envelope(transport information)

Message body(ACL message)

Page 37: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

37

FIPA ACL 3

• Example FIPA ACL message:

(inform

:sender agentA

:receiver agentB

:content (price good200 150)

:language sl

:ontology hpl-auction

)

Page 38: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

38

FIPA ACL 4Inform and Request

• Inform and Request are the two basic performatives in

FIPA ACL. All others are macro definitions, defined in

terms of these.

• The meaning of inform and request are defined in 2 parts:

1. Precondition

• What must be true in order for the speech act to succeed.

2. Rational effect

• What the sender of the message hopes to bring about.

Page 39: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

39

FIPA ACL 5Inform and Request

Inform Request

Content statement action

Precondition •Holds that the content is true.

•Intends that the recipient

believe the content

•Does not already believe that

the recipient is aware whether

content is true or not

•Intends action content to be

performed

•Believes recipient is capable

of performing this action

•Does not believe that sender

already intends to perform action

Page 40: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

40

FIPA Message Transport Model

Agent Platform

Agent Communication Channel

Agent A Agent Platform

Agent Communication Channel

Agent B

Message Transport Protocol

ACL message sentover the Message Transport Service

Page 41: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

41

FIPA Sending Messages

• 3 options

1. Via local ACC

2. Via remote ACC

3. Direct communication mechanism

Agent Platform

Agent Communication Channel

Agent A Agent Platform

Agent Communication Channel

Agent B

1 1&21

2

3

Page 42: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

42

FIPA Agent Interaction Protocol 1

• Ongoing conversations between agents fall into typical

patterns. In such cases, certain message sequences are

expected, and at any point in the conversation, other

messages are expected to follow.

These typical patterns of message exchange are called

protocols.(request :sender A

:receiver B:content some-act:protocol fipa-contract-net

)

Page 43: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

43

FIPA Contract Net Protocol 1

reject-proposalreason

Not-understood refusereason

proposepreconditions2

cfpaction

preconditions1

accept-proposalproposal

failurereason

informDone(action)

cancelreason

Deadline for proposals

Manager cancelsthe contract

due to a change

manager

Potential contractors

Page 44: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

44

FIPA Contract Net Protocol 2Potential

contractorsManager

cfp

refuse

not-understood

propose

reject-proposal

accept-proposal

cancel

inform

deadline

Page 45: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

45

Comparing KQML and FIPA ACL

• Similarities:• Separation of the outer language (performative) and the inner language

(content).

• Allows for any content language

• Differences• Communication primitives:

• KQML – performative

• FIPA ACL – communicative act

• Different semantic frameworks – impossible to come up with an exact

mapping or transformation between KQML and FIPA performatives.

• KQML provides facilitator services; FIPA ACL does not.

Page 46: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

46

• “An ontology is a formal explicit specification of a shared

conceptualisation.” (Gruber 1993)

• Why do we need an ontology?

– To agree on a terminology to describe a domain.

• Example of a language for defining ontologies: KIF

Ontologies

Common Ontology(Interlingua)

Agent A Agent B Agent C

• Ontolingua is one of the best known

ontologies developed using KIF.

• A web-based service intended to provide

a common platform in which ontologies

developed by different groups can be

shared.

Page 47: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

47

Ontology and Semantic Web

• Tim Berners-Lee considers ontologies as a critical part of the work

on the Semantic Web.

• Semantic Web: ”an extension of the current WWW, in which

information is given well-defined meaning, better enabling

computers and people to work in cooperation.” (Berners-Lee et. al.,

2001)

WWW(medium of documents

for poeple)

Semantic Web(Information that can

be processed automatically,

by agents)

Today Tomorrow

Ontologies

Page 48: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

48

Ontology Languages forThe Semantic Web

Semantic Web

XMLXtensible Markup

Language

(+schema)

RDFResource Description

Framework

RDFSRDFschema

Page 49: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

49

Ontology Languages 1

• XML: allows users to add arbitrary structure to their documents,

but does not give meaning about the structures.

• RDF: Resource Description Framework – to standardise meta-

data descriptions of web-based resources

• object-attribute-value triple – A(O,V) object O has attribute A with

value V.

• RDFS: introduces basic ontological modelling primitives.

• e.g. classes, subclasses, properties, domains and ranges.

÷ Limitations: cannot express many types of knowledge

Page 50: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

50

Ontology Languages 2

• OIL – Open Interface Layer

• DAML: DARPA Agent Markup Language – based on

XML

• DAML+OIL – successor of OIL

Page 51: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

51

Ontology Inference Layer - OIL

• Requirements:

1. Must be intuitive to the human user;

OIL incorporates the essential modelling primitives of frame-based

systems.

2. Must have a well-defined semantics;

formal semantics inherited from Description Logics.

3. Must have a proper link with existing web languages;

OIL has well-defined syntax in XML and it is an extension of RDF and

RDFS.

Page 52: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

52

Summary

• Speech Acts

• ACLs

– KQML and KIF

– FIPA ACL

• Ontologies and The Semantic Web

Page 53: SIF8072  Distributed Artificial Intelligence and Intelligent Agents

53

Next Lecture: Agent Theory

Will be based on:

”Logics for Multiagent Systems”,

Chapter 12 in

Wooldridge: ”Introduction to MultiAgent

Systems”