Transcript Document

Intelligent Agents:
Technology and Applications
Agent Communications
IST 597B
Spring 2003
John Yen
Learning Objective
 Given a multi-agent application, be able to
design agent communication schemes.
 Given an agent communication action, be
able to describe its underlying semantics.
Problem (5%)
 Intel, AMD, and several other PC chip makers
have established a consortium to establish a virtual
market place (VMP). The vision is that each
company can create agents to go into this VMP to
interact with other up-stream agents (representing
the suppliers) for quotes and with down-stream
agents (representing the PC makers) for sales
forecast.
 Your team is asked to identify key technical issues
involved in establishing such a VMP.
Agent Communication
 KIF: A language for the “content” of
general agent communication
 KQML: A language for the “message
structure” of agent communication
 Standards for agent communication
protocols (e.g., DAML/S).
KIF
 Knowledge Interchange Format
 A standard logic-based language for
describing an agent’s questions and answers
 Produced by a Knowledge Sharing Effort
funded by Defense Advanced Project
Agency
 Initially designed for agents to share what
they know
KQML
 Knowledge Query and Manipulation
Language
 It describes the “speech act” of the message
using a set of performatives.
 Each performantive has required and
optional arguments.
 The content language of the message is not
part of KQML, but can be specified by
KQML performatives.
An Example
(stream-all
:content “(PRICE ?my-profolio ?price)”
:receiver stock-server
:language LPROLOG
:ontology NYSE)
The stream-all performative asks a set of
answers to be turned into a stream of
replies.
KQML Performatives
 It describes the speech acts of the message.
 It specifies the communication protocol to
be used.
 Classified into seven categories.
An Example of Protocol
 A ---- monitor -----> B
 A <---- ready --------- B
 A ------ next ---------> B
 A <----- reply --------- B
 ….
 A ----- discard -------> B
Categories of Performatives
 Basic Query: Evaluate, ask-if, ask-about,
ask-one, ask-all
 Multi-response Query: stream-about,
stream-all, eos
 Response: reply, sorry
 Generic information: tell, achieve, cancel,
untell, unachieve
Categories of Performatives
 Generator: standby, ready, next, rest,
discard, generator
 Capability-definition: advertise,
recommend, subscribe, monitor, import,
export
 Networking: register, unregister, forward,
broadcast, route
Capability-definition Performatives
 Advertise: Announce what kinds of
information requests the agent can handle
(advertise
:ontology NYSE
:language LOOM
:content (monitor :content (PRICE ?x ?y)))
 Recommend: Ask for recommendations of
agents that can handle a particular kinds of
information requests.
Protocols with Facilitator Agents
F: facilitator
F <--- advertise(x) ---- B
A --- recommend(x) --> F
A <--- reply(B) ----- F
A ------------------- monitor ----------------> B
….
Semantics of Communication
Actions
 Enable us to compose more complicated
communicative actions from primitive ones.
 Enable an agent to reason about the mental
states of the other agents involved in the
communications.
 Facilitates a more principled approach to
establish communication protocol.
Semantics of Communication
Actions
Attempt for the speaker to establish a mutual
belief with the addressee
Semantics of Assert Performative
(Cohen & Levesque)
 The speaker attempts to establish a joint
belief with the receiver that
– The speaker believes the information
 Whether the receives accept the belief
depends on the reply (accept or reject)
Semantics of ProAssert
 The speaker attempts to establish a joint
belief with the receiver that
– The speaker believes the information
– The speaker believes that the receiver needs the
information
Semantics of ProAssert
 An attempt for the speaker (s) to establish a joint
belief that
1. S believes in the information (p)
2. S believes that the receiver (a) needs the information.
Pr oAssert(s, a, p,t,t ') Bel(s, p,t)  Bel (s, Need (a, p,t '),t ) 
Attempt(s,e(Pr oAssert),t 0 (t  t 0  t ')  Bel (a, p,t 0),
t '' (t  t ''  t ')  MB({s, a}, P,t ''), ,t,t '), where
P tb (t ''  tb  t ')  IntTh
. (s, Bel (a, Bel (s, p  Need (a, p,t '),t),tb),
t,tb,Bel(s,ta Bel(a, p,ta),t)),
 t1 (t  t1 t ')  Bel(s,Need (a, p,t1),t)
Responses to ProAssert
Three possible responses to ProAssert:
 Accept: The receiver believes the information
 Reject1: The receiver refuses the information
because the information is contradictory to its
beliefs.
Reject2: The receiver refuses the information
because it believes it does not need the information