Title: Multi-Agent%20Systems%20Chapter%202%20%20Adapted%20(with%20permission)%20from%20Adina%20Magda%20Florea%20adina@wpi.edu
1Multi-Agent SystemsChapter 2 Adapted (with
permission) from Adina Magda Floreaadina_at_wpi.edu
2Candy Quiz(not for points, just for candy)
- What do each of the following mean?
- KQML
- ACL
- Ontology
- Illocution
- KSE
- FIPA
- KIF
3Candy Quiz(not for points, just for candy)
- What do each of the following mean?
- KQML Knowledge Query Manipulation Language
- ACL Agent Communication Language
- Ontology specification of objects, concepts and
relationship - Illocution intended meaning - performative
- KSE Knowledge Sharing Efort
- FIPA Foundation for Intelligent Physical Agents
- KIF Knowledge Interchange Format
41. The nature of communication
- 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, RussellNorvig) ?
language - Communication seen as an action (communicative
act) and as an intentional stance (want something
to happen) - Component steps of communication
- Speaker Hearer
- ? Intention ? Perception
- ? Generation- create ? Analysis
- ? Synthesis- organize ? Disambiguation
- ? Incorporation
4
5- Artificial Communication
- low-level language vs high-level languages
- direct communication vs. indirect communication
- Computer communication
- shared memory ? message passing
- Agent communication/ MAS communication
- 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
6- Communication protocols enables agents to
exchange and understand messages - Interaction protocols enable agents to have
conversations, i.e., structured exchanges of
messages. Can trace series of responses. - Aim ? Communication enables agents to
- coordinate their actions and behavior
- attempt to change state of the other agents
- attempt to get other agents perform actions
6
7- Communication infrastructure
- blackboard (shared memory) or message-based
- connected or connection-less (email)
- point-to-point (1), multicast (some), broadcast
(all) - push or pull (information given to you or
requested) - synchronous or asynchronous
8Dimensions of Meaning(think of examples of each)
- Descriptive/Prescriptive describe phenomenon vs
proscribe behavior (I am cold) - Personal/conventional different meaning to
individual - Semantics/Pragmatics interpreted differently
than intended mental states - Contextuality cannot be understood in isolation
- Coverage language express necessary concepts
- Identity meaning is dependent on individual
- Cardinality private message interpreted
differently than public message
92. Indirect communication
Reactive agents
- 2.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 increases - At a point x, the signal may have one of the
following intensities (why?) - V(x)V(x0)/dist(x,x0) V(x)V(x0)/dist(x,x0)2
Stimulus
?Topological differences lead to social
differences
?
- 2.2 Trails - L. Steels, 1995
- agents drop "radioactive crumbs" making trails
- an agent following a trail makes the trail faint
until it disappears
9
10Cognitive agents
- 2.3 Blackboard 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 for
access authorization - Blackboard a powerful distributed knowledge
paradigm - Agents Knowledge sources (KS)
events
Blackboard
Pending KS Activations
10
113. Direct communication
- Sending messages method invocation
- The Actor language
- an Actor executes a sequence of actions in reply
to the received message - Exchange of partial plans
- distributed planning
- ACL Agent Communication Languages
- communication as action - communicative acts
11
12- 3.1 Agent Communication Languages
- Concepts (distinguish ACLs from RPC, RMI or
CORBA, ORB) - ACLs handle propositions, rules, and actions
instead of objects with no associated semantics - An ACL message describes a desired state in a
declarative language, rather than a procedure or
method invocation - ACLs are mainly based on BDI theories BDI agents
attempt to communicate their BDI states or
attempt to alter others BDI state - ACLs are based on Speech Act Theory
- Agent behavior and strategy drive
- communication and lead to conversations
12
13- Ontology formal definition of a body of
knowledge. The most typical ontology used in
building agents involves a structural component.
Essentially a taxonomy of class and subclass
relations coupled with definitions and
relationships between things. (Jim Hendler) - An ontology is analogous to a data base
organization, not the contents of the database. - Example To express the idea that a block is a
physical object we might use the FOPL expression - ?x (Block x) ? (PhysicalObject x)
- To state relationships between classes
- ?x,y,z (instanceOf x y ) ?(subclassOf y z)
?(instanceOf x z) - To define a relationship On(X,Y)
- (domain On PhysicalObject)
- (range On PhysicalObject)
14Origins of ACLs
- Knowledge Sharing Effort - DARPA, 1990
- External Interface Group - interaction between
KBS - KQML - Interlingua language for communicating between
independent agents. KIF (not designed as a
language to be used by humans) - Shared, Reusable Knowledge Bases
- Ontolingua (set of tools written in Lisp for
analyzing and translating ontologies. Uses KIF
parser and syntax checker. Web-based)
15- Theory of Speech Acts
- J. Austin - How to do things with words, 1962,
- J. Searle - Speech acts, 1969
- Treats communication as an action made to
further agents intentions - Changes world in a way analogous to physical
actions - Need formal representation so planning systems
can reason about them. - 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 -
15
16Human Communication Intent may be ambiguous
- Colleague states I am cold
- What is the meaning?
- For computers, state performative (KQML) or
Communicative Act (FIPA) so no ambiguity (except
in content itself).
17- Illocutionary aspect - several categories
- (According to speech act theory)
- 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 Cache Valley - Expressives, which express emotions and
evaluations I am happy
18- KQML Knowledge Query and Manipulation Language
- A 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) layers
Core of KQML - identity of the network
protocol with which to deliver the message -
speech act or performative Optional - content
language - ontology
Describes low level communication parameters -
identity of sender and receiver - a unique id
associated with the communication
18
19- Syntax LISP-like list of attribute/value pairs
- (ask-one sender joe
- receiver ibm-stock
- reply-with ibm-stock
- language PROLOG // of content
- ontology NYSE-TICKS // define terminology
- content (price ibm ?price) )
(tell sender willie receiver
joe reply-with block1 language
KIF ontology BlockWorld content (AND (Block
A)(Block B) (On A B)) )
1. Query performatives ask-one, ask-all (want
all answers to question), ask-if, stream-all
(multiple response version of ask-all)
A
ask-one(P)
B
tell(P)
(stream-all sender willie receiver
ibm-stock content (price ?VL ?price )
) (standby content (stream-all content
(price ?VL ?price) )
B
A
stream-all(P)
B
tell(P1)
A
tell(P2)
eos
19
202. Generator performatives standby (be ready to
respond), ready, next, rest, discard, generate,...
3. Response performatives reply, sorry ...
B
A
4. Generic informational performatives tell (I
know it), untell, insert (add to
your VKB), delete, ...
5. Capability performatives advertise,
subscribe, recommend...
A
B
6. Network performatives register, unregister,
forward, route, ...
Facilitator
20
21Knowledge Sharing Effort KSE
- Darpa funded in 1990
- Resulted in
- KQML
- KIF (knowledge interchange format) looks like
first order logic (and, or, forall, exists) cast
into Lisp-like notation - Used for content part of KQML message
22Example of KQML Dialog
- (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))
23Another example of KQML
(stream-about // multiple responses wanted
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 inreply-to q1 content ( (status
m1) normal)) (eos sender B receiver B
in-reply-to q1) //end of stream
24In the next KQML example
- A advertises that it is willing to accept
subscriptions related to m1. - B responds by subscribing
- A sends message sequence about m1
- A untells the previous fact and gives new
information - eos ends the stream of messages
25(advertise sender A language KQML ontology
K10 content (stream-about language KIF
ontology motors content m1))) (subscribe
sender B receiver A reply-with s1 content
(stream-about language KIF ontology
motors content m1)) (tell sender A receiver B
in-reply-to s1 content ((torque m1)(scalar
12 kgf))) (tell sender A receiver B
in-reply-to s1 content ((status m1)
normal)) (untell sender A receiver B
in-reply-to s1 content ((torque m1)(scalar
12 kgf))) (tell sender A receiver B
in-reply-to s1 content ((torque m1)(scalar
15 kgf))) (eos sender A receiver B in-reply-to
s1)
26- Facilitator 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
F
F
F
A
A
B
B
F
A wants to get all suitable agents to respond to
ask(P). B has told F it can do ask(P). F tells
B to tell A
A
B
26
27 Semantics of KQML (Labrou Finin) Use
preconditions and post conditions that govern the
use of a performative the final state for the
successful performance of the performative Uses
propositional attitudes belief Bel(A,P),
knowledge Know(A,S), desire Want(A,S),
intentions Int(A,S) Preconditions the necessary
states for an agent to send a performative and
for the receiver to accept it and successfully
process it if the preconditions do 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
27
28tell(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,S))) no unsolicited
info Pre(B) Int(B, Know(B,S)) where S may be
any of Bel(B,X) or ?Bel(B,X) Post(A) Know(A,
Know(B, Bel(A,X))) Post(B)
Know(B, Bel(A,X)) Completion Know(B,
Bel(A,X)) advertise(A,B,M) A states to B that A
can and will process the message M from B, if it
receives one commisive act Pre(A)
Int(Proc(A,M)) Pre(B) NONE Post(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)
28
29Criticisms of KQML
- not fixed performatives different
implementations dont interoperate - transport mechanisms (ways of getting a message
from A to B) not precisely defined - semantics not rigorous not adhered to
- missing commissives (make commitment)
- performative set too large and ad hoc
- ?Resulted in FIPA
303.3 FIPA - ACL Foundation for Intelligent
Physical Agents, 1996 Goal of FIPA make
available specifications that maximize
interoperability across agent-based systems.
SL formal language Syntax similar to
KQML (inform sender Agent1 receiver Agent2
content (price good2150) in-reply
-to round-1 reply-with bid03 language
S1 ontology hp-auction reply-by
10 protocol offer conversation-id conv-1 )
FIPA communicative acts Informatives -
query_if, subscribe, inform, inform_if confirm,
disconfirm, not_understood Task distribution -
request, request_whenever, cancel, agree, refuse,
failure Negotiation - cfp (call for proposal -
initiate), propose, accept_proposal,
reject_proposal
30
31 FIPA - Semantics SL (Semantic Language) - a
quantified, multi-modal logic, with modal
operators B ? - belief D ? - desire U ? -
uncertain belief neither believes ? or its
negatation, but believes ? more likely than its
negation. PG ? - persistent goal, but will not
necessarily plan to bring it about Bif ? - agent
believes ? or disbelieves ? Uif ? - agent has an
uncertain belief of ? or an uncertain belief of
? Given that one of the most frequent and
serious criticisms of KQML is the lack of
adequate semantics, it is not surprising that the
developers of FIPA felt it important to give
comprehensive formal semantics to their
language.
31
32The semantics of a communicative act is specified
as a set of SL's formulae that describe Feasibili
ty 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 as a result of performing the action
it also typically specifies conditions that
should hold true of the recipient The receiving
agent is not required to ensure that the expected
effect comes about The sender can not assume
that the rational effect will necessary
follow Semantics of inform lti, inform(j,
?)gt Pre Bi ? ? ?Bi (Bifj ? ? Uifj ?) Post
Bj ?
33Syntax of request ltk, request(j, ?)gt Pre Bk
Agent( ?,j) ? ? BkIj(Done ?) Post
Done(?) Agent( ?,j) means that the agent of
action ? is j (j is the one who can perform the
action) Done( ?) means that the action has been
done Effect agent k is requesting agent j to do
action ? and agent k believes that the agent to
do the action is j and it believes that j does
not currently intend to do the action. The
effect is that j will do it.
34- Using ACLs in MAS
- Any 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
34
35- History of DAML (one possible content language)
- HTML defines grammar for interspersing documents
with markup commands. - HTML is fixed cant introduce tags
- Suppose you want to sell CDs and put price
information on the web. - HTML can markup with layout information, but
browsers wont know how to interpret content.
What is price? What is title? - XML was developed to provide semantic markup
helps computers to process information in
document by allowing user defined tags. - DAML (Darpa markup language) is based on XML
364. Communication content
- Content languages
- KIF
- Prolog
- Clips
- SQL
- FIPA-SL, FIPA-CCL, FIPA-KIF
- DAML
- XML Xtensible Markup Language
- Ontologies
DARPA Agent Markup Language The DAML Program
officially began in August 2000. The goal of the
DAML effort is to develop a language and tools to
facilitate the concept of the Semantic Web.
36
37 - Interaction protocols
- enable agents to have conversations, i.e.,
structured exchanges of messages - Finite automata
- Conversations in KQML
- Petri nets - more in distributed planning lecture
- FIPA IP standards
- FIPA-query, FIPA-request, FIPA-contract-net,
38 Finite state automataNodes represent
statesArrows represent actions
COOL, Barbuceanu,95
ABltltask(do P)
BAltltaccept(do P)
proposeS(P)
BAltltrefuse(do P)
acceptR(P)
rejectR(P)
BAltltfail(do P)
BAltltresult(do P)
counterR(P)
counterS(P)
Winograd, Flores, 1986
rejectS(P)
acceptS(P)
38
39- Conversations in KQML
- Use Definite Clause Grammars (DCG) formalism for
the specification of conversation policies for
KQML performatives - DCGs 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 valid - Ex 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
39
40 Petri nets
Ferber, 1997
Petri net oriented graph with 2 type of
nodesplaces and transitions there are moving
tokens through the net - representation of
dynamic aspect of processes. Stores
state. Tokens are moved from place to place,
following firing rules. A transition T is enabled
if all the input places P of T contains a token
A marking (state) is a distribution of tokens
over places.
B does not want to do(P)
A wants to do P, A cannot do P
B is willing to do(P)
Request do(P)
Refuse do(P)
Accept/request do(P)
Completed(P)
Fail to do(P)
Impossible to do(P)
Notification of end(P)
FB
FA1
40
Failure
FA2
Satisfaction
41References 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 DARPA KSE http//www-ksl.stanford.edu/
knowledge-sharing/ KQML
http//www.cs.umbc.edu/kqml/ KIF http//logic.st
anford.edu/kif/ Ontolingua http//www-ksl-svc.sta
nford.edu5915/serviceframe-editor FIPA http/
/www.fipa.org/ DAML
http//www.daml.org/
41