Title: Chapter 8 The nature of communication
1Chapter 8 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
1
2- 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 - protocols for agents to communicate
- protocols for agents to interact
2
3- 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
3
4- 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
5Dimensions 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 - Pragmatics the study of how people use language.
How people comprehend and produce communication. - 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
62. Indirect communication
Reactive agents
- 2.1 Signal propagation (no specific target) -
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?) - 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
6
7Cognitive 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
7
83. Direct communication
- Sending messages method invocation
- Exchange of partial plans
- distributed planning
- ACL Agent Communication Languages
- communication as action - communicative acts
8
9- 3.1 Agent Communication Languages
- Concepts (distinguish ACLs from other means of
communication such as RPC, RMI or CORBA, ORB in
which a procedure is remotely called) - 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
9
10- 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 first order
predicate language 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)
11Origins 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. - Resulted in
- (Web-based) KQML Knowledge Query and
Manipulation Language - Language for both message formatting and message
handling protocols. - KIF Knowledge Interchange Format
- Langauge for expressing message content.
12- 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 -
desire illocution
Effect perlocution
specific words -locution
12
13Human 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). - Note, FIPA is an improvement over KQML, but has
same goal.
14- Illocutionary aspect - several categories
- (According to speech act theory)
- Assertives, which inform the door is shut
- Directives, which request shut the door,
- 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 You are not guilty. - Expressives, which express emotions and
evaluations I am happy - Excuse me, congratulations
15Speech Acts Components
- 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
16- 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
16
17KIF (Knowledge Interchange Format)
- 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.
18- Using KIF (think in terms of Lisp type
statements), its 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.
19KIF - 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) gt (mammal ?X))
20KQML
- An outer language that defines a set of
performatives (communicative acts), such as ask,
reply. - Ontology specifies which namespace to use.
e.g. (ask-if sender agenti receiver agentj
language Prolog ontology genealogy content s
pouse(adam, eve))
21KQML - Performatives
- The idea of communication in KQML is to represent
illocutionary (meaning) 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.
22KQML 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
23- 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
23
242. 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
24
25Example 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))
26Another 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
27In 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
28(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)
29Facilitators
- 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
30Facilitators
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.
31Facilitators
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.
tell(X)
subscribe(ask(X))
F
tell(X)
A
B
32Facilitators
Using the broker performative A asks Facilitator
to find another agent which can process a given
performative.
33Facilitators
Using the rercruit performative A asks
Facilitator to find an appropriate agent to which
an embedded performative can be forwarded. A
reply is returned directly to the original
agent.
34Facilitators
Using the recommend performative Asks
Facilitator to respond with the name of another
agent which is appropriate for sending a
particular performative.
35Criticisms 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
363.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
36
37 FIPA - Semantics SL (Semantic Language) - a
quantified, multi-modal logic, with modal
operators B ? - belief D ? - desire U ? -
uncertain belief neither believes ? or its
negation, 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.
37
38The 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 ?
39Syntax 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.
40- 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
40
414. 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.
41
42 - 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,
43 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)
43
44- 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
44
45 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
45
Failure
FA2
Satisfaction