lecture 7 multiagent systems and societies of agents

22
1 Multi-agent Engineering Lecture 7 Multiagent Systems and Societies of Agents. Speech Acts, KQML, KIF and Ontologies Ivan Tanev

Upload: others

Post on 03-May-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 7 Multiagent Systems and Societies of Agents

1

Multi-agent Engineering

Lecture 7

Multiagent Systems and Societies of Agents.

Speech Acts, KQML, KIF and OntologiesIvan Tanev

Page 2: Lecture 7 Multiagent Systems and Societies of Agents

2

Outline

1.Speech acts

2.KQML

3.KIF

4.Ontologies

Page 3: Lecture 7 Multiagent Systems and Societies of Agents

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

Page 4: Lecture 7 Multiagent Systems and Societies of Agents

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.

Page 5: Lecture 7 Multiagent Systems and Societies of Agents

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.

Page 6: Lecture 7 Multiagent Systems and Societies of Agents

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.

Page 7: Lecture 7 Multiagent Systems and Societies of Agents

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)

Page 8: Lecture 7 Multiagent Systems and Societies of Agents

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

Page 9: Lecture 7 Multiagent Systems and Societies of Agents

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.

Page 10: Lecture 7 Multiagent Systems and Societies of Agents

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

Page 11: Lecture 7 Multiagent Systems and Societies of Agents

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

Page 12: Lecture 7 Multiagent Systems and Societies of Agents

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)” ))

Page 13: Lecture 7 Multiagent Systems and Societies of Agents

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.

Page 14: Lecture 7 Multiagent Systems and Societies of Agents

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.

Page 15: Lecture 7 Multiagent Systems and Societies of Agents

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).

Page 16: Lecture 7 Multiagent Systems and Societies of Agents

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…

Page 17: Lecture 7 Multiagent Systems and Societies of Agents

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.

Page 18: Lecture 7 Multiagent Systems and Societies of Agents

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)

Page 19: Lecture 7 Multiagent Systems and Societies of Agents

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.

Page 20: Lecture 7 Multiagent Systems and Societies of Agents

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

Page 21: Lecture 7 Multiagent Systems and Societies of Agents

21

4.OntologiesAn example of another ontology -- for a simple business, showing classes and their subclasses, relationships, and instances (dashed lines)

Page 22: Lecture 7 Multiagent Systems and Societies of Agents

22

The End