1
Multi-agent Engineering
Lecture 7
Multiagent Systems and Societies of Agents.
Speech Acts, KQML, KIF and OntologiesIvan Tanev
2
Outline
1.Speech acts
2.KQML
3.KIF
4.Ontologies
3
1.Speech acts• Spoken Human Communication – a model
for communications among agents,• A popular basis: speech acts theory• Views human natural language as actions,
such as:• Requests,• Suggestions,• Commitments, and• Replies
4
1.Speech actsSpeech act has three aspects:• Locution, the physical utterance by the speaker• Illocution, the intended meaning (semantics) of the
utterance by the speaker,• Perlocution, the action that results from the
locution
Illocution – illocutionary force – performative verbs: promise, report, convince, insist, tell, request, and demand.
5
1.Speech acts• Speech act theory helps define the type of message
by using the concept of the illocutionry force.• This constrains the semantics of the
communication itself.• The sender’s intended communication act is
clearly defined, and the receiver has no doubts as to the type of message sent.
6
2.KQMLKQML= Knowledge Query and Manipulation
Language
Fundamental decision for the interactions of agents is to separate:
• The semantics of the communication protocols(domain independent), from
• The semantics of the enclosed message (domain dependent)
Examples: Skype chat, web client-web server, etc.
7
2.KQML• The basic protocol is defined by the following
structure: (KQLM-performative:sender <word>:receiver <word>:language <word>:ontology <word>:content <expression>
…)
The semantics of KQLM-performative is domain independent.
However, the semantics of the message is defined by the fields content (the message itself), language, and ontology (the vocabulary of the words in the message)
8
2.KQMLExample:
Agent 1 tells Agent 2 the fact that block A is on top of block B:
(tell:sender Agent1:receiver Agent2:language KIF:ontology Blocks-World:content (AND (Block A)(Block B)(On A B))
Language: Knowledge Interchange Format (KIF)Other languages used: LISP, PROLOG, SQL.
BA
9
2.KQMLCommunicating agents:
Client-server synchronous: client waits for the reply from server.
Communication types:
Synchronous, Ex.: Web-browser – Web-server
Web-server – Database server, etc.
and
Asynchronous :client does not wait for the reply from server.Ex.: Text chat peers (i.e., both a client
and a server), Web-browser –Web-server with AJAX, etc.
10
2.KQMLSeven basic categories of performatives:
1) Basic query performatives:evaluate, ask-one, ask all
2) Multi-response query performatives:stream-in, stream-all
3) Response performatives:reply, sorry
11
2.KQMLSeven basic categories of performatives:
4) Generic informational performatives: tell, achieve, cancel, untell, unachieve
5) Generator performatives:standby, ready, next, rest
6) Capability-definition performatives: advertise, subscribe, monitor
7) Networking performatives: register, unregister, forward, broadcast
12
2.KQMLExample: Agent_2 Agent_1
(advertise:sender Agent_2:receiver Agent_1:language KQML:ontology kqml-ontology:content (ask-all
:sender Agent_1:receiver Agent_2:in-reply-to id1:language Prolog:ontology Blocks-world:content “on(X,Y)” ))
13
2.KQMLAgent_1 queries Agent_2:
(ask-all:sender Agent_1:receiver Agent_2:in-reply-to id1:reply-with id2:language Prolog:ontology Blocks-world:content “on(X,Y)” )
Meaning (a Query in Prolog): “Which blocks are on top of which blocks, i.e., X=? and Y=?”
In Prolog, X and Y (capital letters) are variables.
14
2.KQMLAgent_2 responds:
(tell:sender Agent_2:receiver Agent_1:in-reply-to id2:language Prolog:ontology Blocks-world:content “[on(a,b), on(c,d)]” )
d
cba
Meaning (Answer in Prolog): “Block a is on top of block b, and block c is on top of block d.“
In Prolog, a, b, c, and d (lowercase letters) are constants.
15
3.KIF(tell
:sender Agent1:receiver Agent2:language KIF:ontology Blocks-World:content (AND (Block A)(Block B)(On A B))
KIF – Knowledge Interchange Format
Agents need to describe real-world things – symbolic logic is a general mathematical tool for describing things: simple concrete facts, definitions, abstractions, constrains, inference rules, and meta-knowledge (knowledge about knowledge).
16
3.KIFKIF:• Logic language that describes things within expert systems,
databases, intelligent agents etc. • It is readable by both computer and people,• It is a prefix version of the first order predicate calculus,• Includes a variety of logic operators to assist in the
encoding of logical information
KIF Examples: (on A B),(block A),(salary 015-46-3946 72000),etc…
17
3.KIFKIF uses prefix (Polish) notation.
(on A B)
Operator Operand Operand
Notations of mathematical expressions: infix, prefix, and postfix
Notation Sample Expression
Infix A + B * CPrefix (Polish) + A * B C Postfix (Polish) A B C * +
Programming languages, based on prefix notation: KIF, LISP and Prolog.Postfix notation is used in some programmable calculators.
18
4.OntologiesConcept can be represented in first-order logic as unary
predicates; higher-arity predicates represent relationships.
To express the idea that a block is a physical object, we might use the first-order expression:
x (Block x) => (PhysicalObject x)
19
4.Ontologies• The ontology:
– specifies the things (i.e., blocks) that there are in some domain, – their properties and – their relationships.
• Agents must represent their knowledge (i.e. the things, their properties, and their relationship) in the vocabulary of a specified ontology.
• All agents that share the same ontology for knowledge representation have (the same) understanding of the “words” in the agent communication language.
20
4.OntologiesAn example of an ontology of the block world
thing
entity relation
block hand binaryunary
block_a handA on above
hand_Empty
block_b block_c clear
21
4.OntologiesAn example of another ontology -- for a simple business, showing classes and their subclasses, relationships, and instances (dashed lines)
22
The End