Lecture 8: Agent Communication

LECTURE 7:
Agent Communication
Based on
An Introduction to MultiAgent Systems
http://www.csc.liv.ac.uk/~mjw/pubs/imas
Some examples from presentation by Nyik San Ting, spring 2003.
8-1
Agent Communication

From this lecture on, we will cover the
macro-aspects of multi-agent systems:
those issues relating to the agent
society, rather than the individual agent:


communication;
speech acts: KQML; FIPA ACL
ontologies: KIF, Ontolingua, OWL
cooperation:
what is cooperation; the contract net
protocol; cooperative versus non-cooperative
encounters; prisoner’s dilemma; evolutionary
games, agent negotiation, social norms
8-2
Contents
Tuesday (18 Oct 2004)
� Speech Acts
� KQML, KIF
� FIPA ACL
� Ontology
Thursday (20 Oct 2004)
� Ontology development
� KIF
� XML & RDF
� DAML
8-3
Speech Acts



Most treatments of communication in (multi-)
agent systems borrow their inspiration from
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 Austin’s 1962 book, How to Do
Things with Words
8-4
Speech Acts - Austin
�
Communication = action
o
Doesn’t mean:



o
Motion of moving mouth
Changing the pressure of the air by talking.
Causing the avalanche by shouting.
The semantic meaning (effect) of the utterance

“Let’s send a bomb to Iraq.“
8-5
Speech Acts


Austin noticed that some utterances are rather
like ‘physical actions’ that appear to change the
state of the world
Paradigm examples would be:





declaring war
christening
‘I now pronounce you man and wife’ :-)
But more generally, everything 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
8-6
Elements
Come and have a
free Pizza !
Utterance
Hearer(s)
Speaker
8-7
Speech Acts - Austin
3 aspects of Speech Acts:
�
�
�
Locutionary act
Illocutionary act
Perlocution
8-8
Different Aspects of Speech Acts


�
From “A Dictionary of Philosophical Terms and
Names”:
“Locutionary act: the simple speech act of
generating sounds that are linked together by
grammatical conventions so as to say something
meaningful.
Among speakers of English, for example, ‘It is
raining’ performs the locutionary act of saying that it
is raining, as ‘Grablistrod zetagflx dapu’ would not.”
Saying something that make sense using a
language
o
o
Saying “Please make some tea”
Saying “Tuition fee will increase by 50% next year”
8-9
Different Aspects of Speech Acts

“Illocutionary act: the speech act of doing
something else – offering advice or taking a vow,
for example – in the process of uttering
meaningful language. Thus, for example, in
saying ‘I will repay you this money next week,’
one typically performs the illocutionary act of
making a promise.”
�
Action intended by the speaker
o
o
Niia: “Please, make me to make some tea”
(request)
The President: “The tuition fee will increase by
50% next year” (announcement)
8-10
Different Aspects of Speech Acts

“Perlocutionary act: the speech act of having
an effect on those who hear a meaningful
utterance. By telling a ghost story late at night,
for example, one may accomplish the cruel
perlocutionary act of frightening a child.”
�
Effect of the action
o
o
I know that I am asked to make tea for Niia
(whether I make it / decline / forget is a
different matter)
Everyone is informed and understands that
the tuition fee will increase by 50% next
year
8-11
“Shoot her!”

Locutionary act of saying “Shoot her!”

Illocutionary force of ordering, urging, or advising the
hearer to shoot her

Perlocutionary force of persuading,
forcing,frightening the hearer to shoot her
Example obtained from [2]
8-12
Performative Utterance

“ I warn you that they will raise the gas price
dramatically”


“They will raise the gas price dramatically”


The first verb in the sentence emphasizes the goal
of the speaker
Compare the strength of this statement with prev.
Felicitous performative

Performative utterance that works successfully
8-13
Felicity conditions
1.
2.
3.
An accepted conventional procedure for the
performative; the circumstances and
persons must be as specified.
Procedure must be executed correctly and
completely
Act must be sincere; uptake required must
be completed as much as possible.
8-14
Speech Acts
� John
Searle extended the work of John
Austin in 1969
o
o
Identified properties that must hold for a speech
act performed between hearer and the speaker to
succeed.
Systematic classification of the possible types of
speech acts
8-15
Speech Acts – Conditions for a speech act
to succeed
�
Normal I/O conditions
o
�
Preparatory conditions
o
�
HEARER can hear the utterance
What must be true of the world in order that SPEAKER correctly
choose the speech act? E.g. HEARER should be able to perform
the ACTION; SPEAKER must believe that. It must be obvious
that HEARER won’t do ACTION anyway.
Sincerity conditions
o
Distinguish the sincerity of the performance of the speech act,
e.g. SPEAKER may not really want ACTION to be performed
8-16
Speech Acts

Searle (1969) identified various different types of
speech act:

representatives : Commits the speaker to the truth of an
expressed proposition, such as informing, e.g., ‘It is raining’

directives: Attempts on the part of the speaker to get the
hearer to do something e.g., ‘please make the tea’

commisives: Commit the speaker to doing something, e.g.,
‘I promise to… ’


expressives: Speaker expresses a mental state, e.g., ‘thank
you!’
declarations: Effect some changes in an institutional state
of affairs, such as declaring war or christening
8-17
Speech Acts


There is some debate about whether this (or
any!) typology of speech acts is appropriate
In general, a speech act can be seen to have
two components:


a performative verb:
(e.g., request, inform, promise, … )
propositional content:
(e.g., “the door is closed”)
8-18
Speech Acts

Consider:



performative = request
content = “the door is closed”
speech act = “please close the door”
performative = inform
content = “the door is closed”
speech act = “the door is closed!”
performative = inquire
content = “the door is closed”
speech act = “is the door closed?”
8-19
Plan Based Semantics





How does one define the semantics of speech acts,
so that a system can reason and plan?
Cohen & Perrault (1979) defined semantics of
speech acts using the STRIPS formalism for
planning: precondition-delete-add list
The world is a multimodal logic representation for the
Beliefs, Abilities, Wants of the participants in the
speech act
Note that a speaker cannot (generally) force a hearer
to accept some desired mental state
In other words, there is a separation between the
illocutionary act and the perlocutionary act
8-20
Plan-Based Semantics

Here is their semantics for request:
request(s, h, f)
pre:
Cando.pr: s believe h can do f
(you don’t ask someone to do something unless you think
they can do it)
 Cando.pr: s believe h believe h can do f
(you don’t ask someone unless they believe they can do it)
 Want.pr: s believe s want f
(you don’t ask someone unless you want it!)

post:

h believe s believe s want f
(the effect is to make them aware of your desire)
Note that request ensures only that h is aware of s’ desire – locution only!!
8-21
Mediating act
In order to ensure that there is perlocutionary force – need a mediating act:
CauseToWant(A1, A2, )
Pre:
Cando.pr
(A1 Believe (A2 Believe (A2 Want )))
Want.pr
X (nothing)
Post:
(A1 Believe (A1 Want ))
By this definition, the agent will come to believe that it wants something, if it believes
that another agent believes it wants to do it (very agreeable A1!).This definition can
be extended to contain more conditions related to social relationships, role etc.
8-22
KQML and KIF



We now consider agent communication
languages (ACLs) — standard formats for the
exchange of messages
The best known ACL is KQML, developed by
the ARPA knowledge sharing effort (KSE), in
the early 1990ies.
KQML is comprised of two parts:


the knowledge query and manipulation language
(KQML)
the knowledge interchange format (KIF)
8-23
KQML and KIF


KQML is an ‘outer’ language, that defines an ‘envelope’
format for messages to explicitly state the intended
illocutionary force
KQML defines various acceptable ‘communicative
verbs’, or performatives
Examples:





ask-if (‘is it true that. . . ’)
perform (‘please perform the following action. . . ’)
tell (‘it is true that. . . ’)
reply (‘the answer is . . . ’)
KIF is a language for expressing message content
(ONTOLOGIES– later)
8-24
Example
(tell
:content
:sender
:receiver
:language
:ontology
(= (temperatute m1) (scalar 83 Celsius))
termometer-server
heater
KIF
ONTOLOGY_NAME
)
Inform another agent about some fact.
Formal definition: S claims to H that C is in S’s VKB.
8-25
Another example
(ask-one
:content (PRICE ISM ?price)
:receiver stock-server
:language LPROLOG
:ontology NYSE-TICKS
)
There are variants:
ask-if, ask-all,
ask-about
Ask another agent a question where exactly one answer is required.
Formal: S wants one of H’s answers to question C
8-26
KQML shortcomings





Performative set not fixed in stone; different
implementations of KQML can’t interoperate
Transport mechanisms for KQML messages are not
defined – again hard to interoperate
Semantincs not rigorously defined; two agents
claiming that they speak KQML may have different
interpretations
Class of performatives (“Commissives” – expressing
commitment) are missing
Too large, adhoc set of performatives
8-27
FIPA


More recently, the Foundation for Intelligent
Physical Agents (FIPA) started work on a
program of agent standards — the
centerpiece is an ACL
Basic message structure is similar to KQML:



performative
20 performatives in FIPA
housekeeping
e.g., sender, receiver, language, ontology, etc.
content
the actual content of the message
8-28
FIPA

Example:
(inform
:sender
:receiver
:content
:language
:ontology
)
agent1
agent5
(price good200 150)
sl
hpl-auction
8-29
FIPA
Definitions in text, pg. 176
8-30
FIPA ACL Semantics

Semantics of ACL preformatives are given with
respect to a formal SL (Semantic Language)



Represent beliefs, desires, uncertain beliefs of agents and
actions that agents perform
Well defined, in contrast to KQML
Each FIPA ACL message can be mapped to a
formula of SL


Defines a constraint that the sender must satisfy
(Feasibility conditions)
Defines the rational effect of the action - the “purpose” of a
message (cannot be guaranteed)
8-31
“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 is defined
in two parts:


pre-condition
what must be true in order for the speech act to
succeed
“rational effect”
what the sender of the message hopes to bring
about
8-32
“Inform” and “Request”

For the “inform” performative…
The content is a statement.
Pre-condition is that sender:


holds that the content is true
does not believe that the recipient is already
aware of whether content is true or not
Rational Effect

the recipient believe the content
8-33
“Inform” and “Request”

For the “request” performative…
The content is an action.
Pre-condition is that sender:


believes recipient is capable of performing this
action
does not believe that receiver already intends to
perform action
Rational effect:

action content to be performed
8-34
Semantic Conformance Testing


Problem: We have an agent and an agent
communication language with well-defined semantics.
How can we know if the agent respects the semantics of
the language when it communicates?
ACL semantics are generally developed in such a way
as to express constraint on the sender of the message



Something like a program specification 
Can we not use program verification methods?
Problem:

Need to know the mental state of agents (what
they believed, intended and so on) – Hard!
8-35
Figure obtained from [5]
8-36
References on Agent Communication
Languages
1.
“Austin’s Speech Act Theory” by Saeed
http://www.ohiou.edu/dlcds/saaustin.htm
2.
Speech Acts
http://www.ccl.umist.ac.uk/teaching/material/5005/node24.html
3.
“Cohen and Levesque - intention”
http://www.csc.liv.ac.uk/~mjw/pubs/ker95/subsubsectionstar3_2_6_2.h
tml
4 . “FIPA ACL Message Structure Specification” by FIPA
http://www.fipa.org/specs/fipa00061/SC00061G.html
5.
“FIPA Communicative Act Library Specification" by FIPA
http://www.fipa.org/specs/fipa00037/SC00037J.html
8-37
Ontologies

Different understanding of the terminology
A
“Football game on 11/02/03”
B
“Soccer game on 11 Feb 2003”
C
“Rugby game on Nov 02, 2003”
8-38
Knowledge Sharing among Agents:
KQML and KIF




In order to be able to communicate, agents must
have agreed on a common set of terms
A formal specification of a set of terms is known as
an ontology
The knowledge sharing effort has associated with it a
large effort at defining common ontologies —
software tools like Ontolingua for this purpose
Example KQML/KIF dialogue…
A
B
B
B
to
to
to
to
B:
A:
A:
A:
(ask-if (> (size chip1) (size chip2)))
(reply true)
(inform (= (size chip1) 20))
(inform (= (size chip2) 18))
8-39
Why we need ontology?





To share common understanding of the
structure of information among people or
software agents
To enable reuse of domain knowledge
To make domain assumptions explicit
To separate domain knowledge from the
operational knowledge
To analyze domain knowledge
8-40
Ontology

‘A systematic account of Existence’ in Philosophy

Explicit formal definition of the terminologies describing the
concepts or objects (and their attributes) of a domain and the
relations among them.

A specification of vocabulary/definition (human readable &
machine interpretable) and their relations that model the real
world

Ontologies are knowledge bodies that provide a formal
representation of a shared conceptualization of a particular domain.
8-41
KIF – Knowledge Interchange Format
Based-on first order logic recast in a LISP (LISt
Processing)-like notation.
Used to state:
 Properties of things in a domain (e.g., “Noam
is chairman”)
 Relationships between things in a domain
(e.g., “Amnon is Yael’s boss”)
 General properties of a domain (e.g., “All
students are registered for at least one
course”, “Everybody has a mother”)
8-42
KIF (2)

“The temperature of m1 is 83 Celsius”:
(= (temperature m1) (scalar 83 Celsius))

“An object is a bachelor if the object is a man
and is not married”:
(defrelation bachelor (?x) :=
(and (man ?x) (not (married ?x))))

“Any individual with the property of being a
person also has the property of being a
mammal”:
(defrelation person (?x) :=> (mammal ?x))
8-43
KIF (3)

Usual connectives


Universal and existential quantifiers


Subset, /=, =, Member, Disjoint
Object type


forall, exist
Set Relation


and, or, not,
Numbers (1,2,3 …) characters, strings
Object relation

Cos, Max, Log, <, *
8-44
KIF (4)
Define new class
 “New class of ‘primary-color’ which take value
of red, green, or blue”
(define-class primary-color (?color) (member ?color
(set red green blue)))
8-45
KIF (5)
Define new concept
 “New concept of bachelor which is a man and
this man is not married”
(defrelation bachelor (?x) :=
(and (man ?x) (not (married ?x))))
8-46
KIF (6)
Define new relationships
 “Any individual with the property of being a
person also has the property of being a
mammal”
(defrelation person (?x) :=> (mammal ?x))

Note: A mammal might not be a person!
8-47
Extensible Markup Language -XML
XML is
 a method for embedding structure and
meaning in data files.
 a new technology for managing data,
particularly suitable for web
applications.
 is text (humans and machines readable)
8-48
Example
Dr. John Cooke
57 Campus Drive,
Saskatoon, SK S7N5A9
8-49
Representation in HTML
<P><B>Dr. John Cooke</B>
<BR>57 Campus Drive,
<BR>Saskatoon, SK S7N5A9</P>
HTML tags describe how something should render.
They don't contain any information about what the
data is, they only describe how it should look.
The set of HTML tags is fixed – as defined by the DTD
(Document Type Definition).
8-50
Representation in XML
<address>
<name>
<title>Dr. </title>
<first_name>John</first_name>
<last_name>Cooke</last_name>
</name>
<street>57 Campus Drive</street>
<city>Saskatoon</city>
<province>SK</province>
<pcode>S7N5A9</pcode>
</address>
Note semantic tags! Using XML it is possible to define new tags by
writing an XML DTD.
8-51
Resource Description Framework
RDF is
 is a model for describing resources, mainly
internet resources
 A way for publishing human readable and
machine processable vocabularies
 Origin: THE LIBRARIANS!
8-52
8-53
Example
Figures obtained from [10]
8-54
Example (2)
<?xml:namespace ns = "http://www.w3.org/RDF/RDF/"
prefix ="RDF" ?>
<?xml:namespace ns = "http://purl.oclc.org/DC/"
prefix = "DC" ?>
<RDF:RDF>
<RDF:Description RDF:HREF = "http://uri-ofDocument-1">
<DC:Creator>John Smith</DC:Creator>
</RDF:Description>
</RDF:RDF>
8-55
DAML





DARPA Agent Markup Language
Based on XML, integration with Ontologies 
The Semantic Web
DAML 0.5, August 2000
DAML-ONT, October 2000
DAML+OIL (Ontology Interface Layer),
December 2000
8-56
DAML+OIL



A semantic markup language for Web
resources
Uses XML and RDF
Provides a higher level of information than
XML
8-57
Define Class
<daml:Class rdf:ID="Animal">
<rdfs:label>Animal</rdfs:label>
<rdfs:comment>
This class of animals is illustrative of a number of
ontological idioms.
</rdfs:comment>
</daml:Class>
8-58
Define Subclass
<daml:Class rdf:ID="Male">
<rdfs:subClassOf rdf:resource="#Animal"/>
</daml:Class>
<daml:Class rdf:ID="Female">
<rdfs:subClassOf rdf:resource="#Animal"/>
<daml:disjointWith rdf:resource="#Male"/>
</daml:Class>
8-59
Defining Property Restriction
<daml:Class rdf:about="#Animal">
<rdfs:comment>
Animals have exactly two parents, ie:
If x is an animal, then it has exactly 2 parents
(but it is NOT the case that anything that has 2
parents is an animal).
</rdfs:comment>
<rdfs:subClassOf>
<daml:Restriction daml:cardinality="2">
<daml:onProperty rdf:resource="#hasParent"/>
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
8-60
Define Properties
<daml:ObjectProperty rdf:ID="hasParent">
<rdfs:domain rdf:resource="#Animal"/>
<rdfs:range rdf:resource="#Animal"/>
</daml:ObjectProperty>
<daml:ObjectProperty rdf:ID="hasFather">
<rdfs:subPropertyOf rdf:resource="#hasParent"/>
<rdfs:range rdf:resource="#Male"/>
</daml:ObjectProperty>
8-61
“Ontology” of Ontology

Classes or Concepts


Subclasses


Represent concepts that are more specific
Slots / Role / Properties


description of concepts in the domain of discourse
Properties of concept (various features and attributes)
Facets or role restrictions

Restriction on slots (value type, allowed value,
cardinality …)
Ontology + Instances of Classes = Knowledge Base
8-62
Ontology Examples
Class
People
Wine
Slot1
Position
Flavor
Slot2
Age
Body
Slot3
Sex
Maker
People
Wine
Class
SubClass1 SubClassN Professor
Student
Red Wine
White Wine
8-63
Ontology Examples (2)
Inverse relation
from Noy & McGuinness, black for classes, red for instances, direct
links represent slots and internal links such as instance-of and
subclass-of.
8-64
Fundamental Rules in Ontology
Design
No correct way to model a domain
1.


There are viable alternatives
Best solution depends on application and extensions
Iterative process
Concepts should be close to (physical or logical)
objects and relationships in the domain of interest.
2.
3.

Nouns (objects) or verbs (relationships)
8-65
Ontology Development Steps
Determine the domain and scope of the
ontology
Consider reusing existing ontologies
Enumerate important terms in the ontology
Define the classes and the class hierarchy
1.
2.
3.
4.
•
•
•
Top-down
Bottom-up
Combination
8-66
Ontology Development Steps (2)
5.
Define the properties of classes - slots
6.
Define the facets of the slots
•
•
•
Slot cardinality
Slot-value type (String, Number, Boolean,
Enumerated, Instance-type)
Domain and range of a slot
8-67
Ontology Development Steps (3)
from Noy & McGuinness, the definition of a slot Produces that describes
the wines produced by Winery.
8-68
Ontology Development Steps (4)
7. Create instances
Figure from Noy & McGuinness - the definition of an instance of the
Beaujolais class
8-69
Things to lookout




A subclass of a class represents a concept that
is a “kind-of” the concept that the superclass
represents
Classes represent concepts in the domain and
NOT the words that denote these concepts
(prawn & shrimp – should be represented as
one class)
Avoid class cycles
“How many is too many and how few are too
few?”
8-70
Things to lookout (2)

“When to introduce a new class (or not)?”
Usually it should:
 Have additional properties (new slots)
 Have different restrictions (different facets)
 Participate in different relationships than the
super-classes (new slot value defined)
Can just be a hierarchy of terms
8-71
Things to lookout (3)

“A new class or a property value?”


“An instance or a class?”




If the concepts with different slot values
become restrictions for different slots in other
classes  create new class
Natural hierarchy?
Most specific concepts?
Limiting the scope
Naming convention and consistency
8-72
Languages for Ontologies

First order logic-based




XML based




KIF-based Ontololingua,
Loom,
Frame-Logic
SHOE,
Ontology Exchange Language (XOL),
Ontology Markup Language (OML and CKML),
RDF based



Resource Description Framework Schema Language
(RDFS)
OIL (Ontology Interchange Language)
DAML+OIL
8-73
Tools for ontology development

Protégé-2000


Ontolingua


http://www.godatabase.org/dev/editor.html
OilEd


http://www.ksl.stanford.edu/software/ontolingua/
DAG-Edit


http://protege.stanford.edu/
http://oiled.man.ac.uk/
Reggie Metadata Editor

http://metadata.net/dstc/
8-74
Summary on Ontology development


No one “correct” way for developing ontologies
No one “correct” ontology for any domain
Issues:
 Rapid domain evolution
 Variety of ontologies in a domain
 Ontology representation
Efforts for ontology interoperability (ontology mapping):

Stanford Scalable Knowledge Composition (SKC) project and the
Bremer Semantic Translation project
8-75
References on Ontologies
1.
2.
“Descriptive and Formal Ontology” by Raul
Corazzon. http://www.formalontology.it/
“What is an Ontology?” by Tom Gruber
http://www-ksl.stanford.edu/kst/what-is-an-ontology.html
3.
“Ontology Development 101:A Guide to Creating
Your First Ontology” by Natalya F. Noy and
Deboral L. McGuinness
http://protege.stanford.edu/publications/ontology_development/ontology10
1-noy-mcguinness.html
8-76
References (2)
4. “Knowledge Interchange Format (KIF)”
http://www-ksl.stanford.edu/knowledge-sharing/kif
5. “Knowledge Interchange Format Specification”
http://logic.stanford.edu/kif/specification.html
6. DAML homepage.
http://www.daml.org/
7. “An Introduction to the Resource Description
Framework”
http://www.dlib.org/dlib/may98/miller/05miller.html
8-77