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