슬라이드 1 - Yonsei

Download Report

Transcript 슬라이드 1 - Yonsei

Software Agent
-communication-
Outline
• Overview
• Speech act theory
• Agent communication languages
• Summary
1/35
Example: Personal Assistant Agent (PA)
• Task: organize an evening with Heikki
• What is needed?
– Participants’ calendar info
– Info about restaurants, pubs, etc.
– Weather forecast
 Multi-agent System
2/35
Example: Organizing Evening (1)
DA
Calendar
Who takes care of Heikki’s Calendar?
PAA
It is HCA and address is http:…;
MTP is…; Presentation is …; CL is…; Ontology is …; …
HCA
Give me Heikki’s free evenings in this week?
Heikki is free on Tuesday and Friday evening
3/35
Example: Organizing Evening (2)
Calendar
I want to book Friday evening
PAA
No, I don’t want to book Friday evening
HCA
I want to book Tuesday evening
Tuesday evening booked
4/35
Example: Sending a Message to an Agent
Allocate time from Heikki’s calendar
Find out Heikki’s calendar agent
Who takes care of Heikki’s Calendar?
To: DF@HAP Query Heikki Calendar Service
5/35
Layered Model
6/35
Agent Communication Language
• Definition
– An agent communication language (ACL) allows agents to communicate with each
other about their positions and actions
– An agents communication language (ACL) provides agents with a means of
exchanging information and knowledge
• 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
7/35
Agent Communication
• Agents have conversations (as opposed to exchange single
messages), e.g.
– Task-oriented
– Negotiations
• A higher level conceptualization of an agent’s strategies drive an
agent’s communicative behavior
• Message type of agents : Speech acts
8/35
Speech Acts (1)
• Communication in MAS is inspired by speech act theory
• Speech act theories are pragmatic theories of language
– 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
• 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
9/35
Speech Acts (2)
• Austin distinguished 3 different aspects of speech acts:
– Locutionary act - act of making an utterance
• e.g. saying ”please make some tea” ’
– Illocutionary act – action performed in saying something
• e.g. he requested me to make some tea
– Perlocution – effect of the act
• e.g. he got me to make tea
• 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”
10/35
Speech Acts (3)
• In general, speech acts can be seen to have 2 components:
– A performative verb
• e.g. Request, inform
– Propositional content
• e.g. ”the window is closed”
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
11/35
Speech Acts (4)
• 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
– 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)
12/35
Agent Communication Language (ACL)
• ACLs allow agents to effectively
communicate and exchange
knowledge with other agents
Agenti
• Three important aspects
– Syntax: How the symbols of communi
cation are structured
– Semantics: What the symbols denote
– Pragmatics: How the symbols are inte
rpreted
Goal G
Agentj
Intent I
Performative
Convert to
transport
form
Message
Convert to
transport
form
(Meaning is a combination of
semantics and pragmatics)
Message delivery/transportation service
13/35
Communication Levels
• Requirements for an ACL
– Syntactic translation between
languages
– Semantic content preservation
among applications
Semantics
Meaning of the information
• 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.
Syntax
Format of information being transferred
Communication
Method of interconnection
14/35
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
– Language for expressing message content
15/35
KIF
• Creation of a common language for expressing properties
– Intended to express contents of a message; not the message itself
– Based on first-order logic
• Using KIF, it’s possible to express:
– Properties of things in a domain (e.g. Michael is a vegetarian)
– Relationships between things in a domain (e.g. Michael and Janine are married)
– General properties of a domain (e.g. Everybody has a mother)
• 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))
16/35
KQML: Overview
• An “outer language” that defines a set of performatives
(communicative acts), such as ask, reply
e.g.
Communication
Mechanics of communication, e.g. Sender, receiver.
Performatives (message layer)
Logic of communication, e.g. ask, tell.
Content
Content of communication,
e.g. a KIF expression
(ask-if
:sender
agenti
:receiver agentj
:language
Prolog
:ontology genealogy
:content “spouse(adam, eve)”)
• 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
17/35
KQML: Categories 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
18/35
KQML: Example
(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)))
(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)
19/35
Facilitators
• 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
20/35
Facilitators: Example (1)
Point-to-point protocol
A is aware that it is appropriate
F
to send a query about X to B
tell(X)
There are several ways to achie
ask(X)
ve this via a Facilitator.
A
B
21/35
Facilitators: Example (2)
tell(X)
subscribe(ask(X))
Using the subscribe performative
Request that Facilitator F monitor for
F
the truth of X. If B subsequently informs
tell(X)
F that it believes X to be true, then F
can in turn inform A
A
B
22/35
Facilitators: Example (3)
advertise(ask(X))
broker(ask(X))
Using the broker performative
tell(X)
F
tell(X)
A Asks Facilitator to find another
ask(X)
agent which can process a given
performative
A
B
23/35
Facilitators: Example (4)
advertise(ask(X))
recruit(tell(X))
Using the rercruit performative
F
Asks Facilitator to find an appropriate
ask(X)
agent to which an embedded
tell(X)
performative can be forwarded. A
reply is returned directly to the original
A
B
agent
24/35
Facilitators: Example (5)
recommend(ask(X))
advertise(ask(X))
Using the recommend performative
reply(B)
F
Asks Facilitator to respond with the
”name” of another agent which is
appropriate for sending a particular
ask(X)
performative.
A
tell(X)
B
25/35
Discussion on KQML
• 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.)
26/35
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
organizations: companies, universities and government organizations
27/35
FIPA ACL (1)
• Basic structure is quite similar to KQML:
– Performative (communicative act)
Envelope
• 20 performatives in FIPA ACL
(transport information)
– Housekeeping
• e.g. Sender
Message body
– Content
(ACL message)
• the actual content of the message
• Message structure (Envelope):
– Comprises of a collection of parameters
– Contains at least the mandatory to and sender
parameters
(inform
:sender
:receiver
:content
:language
:ontology
• Example FIPA ACL message
agentA
agentB
(price good200 150)
sl
hpl-auction
)
28/35
FIPA ACL (2)
• Inform 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:
• Precondition: What must be true in order for the speech act to succeed
• Rational effect: What the sender of the message hopes to bring about
Inform
Request
Content
statement
action
Precondition
•Holds that the content is true.
•Intends action content to be
performed
•Intends that the recipient
believe the content
•Does not already believe that
the recipient is aware whether
content is true or not
•Believes recipient is capable
of performing this action
•Does not believe that sender
already intends to perform action
29/35
FIPA Message Transport Model
Agent A
Agent B
Agent Platform
Agent Platform
ACL message sent
over the Message
Transport Service
Agent Communication Channel
Agent Communication Channel
Message Transport Protocol
30/35
FIPA Sending Messages
• 3 options
– Via local ACC
– Via remote ACC
– Direct communication mechanism
Agent A
Agent B
Agent Platform
Agent Platform
3
1
Agent Communication Channel
2
1
1&2
Agent Communication Channel
31/35
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
)
cfp action
preconditions1
Not-understood
refuse
reason
propose
preconditions2
Deadline
for proposals
reject-proposal
reason
accept-proposal
proposal
failure
reason
inform
Done(action)
Manager cancels
the contract
due to a change
manager
Potential
contractors
cancel
reason
32/35
FIPA Agent Interaction Protocol (2)
Potential
contractors
Manager
cfp
refuse
not-understood
deadline
propose
reject-proposal
accept-proposal
cancel
inform
33/35
Comparison between KQML & 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
34/35
Summary
• Agent communication
– Speech act theory
– Agent communication languages
• Open issues
– How do we verify whether an agent complies with the semantic definition?
• E.g. If an agent sends a message ( say inform Ф), how do we know whether the agent
believe Ф or not
– Is sincerity a tall-order for agent society?
• E.g negotiation
– Can we specify semantics without a context?
• E.g. Query If in an oral examination setting
• We need a context (protocol)
• Next lecture: Application & review
35/35