design of multi-agent systems

37
Design of Multi-Agent Systems Teacher Bart Verheij Student assistants Albert Hankel Elske van der Vaart Web site http://www.ai.rug.nl/~verheij/ teaching/dmas/ (Nestor contains a link)

Upload: september-witt

Post on 30-Dec-2015

35 views

Category:

Documents


6 download

DESCRIPTION

Design of Multi-Agent Systems. Teacher Bart Verheij Student assistants Albert Hankel Elske van der Vaart Web site http://www.ai.rug.nl/~verheij/teaching/dmas/ (Nestor contains a link). Overview. Speech acts Agent communication languages Interaction protocols Ontologies. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Design of Multi-Agent Systems

Design of Multi-Agent Systems

TeacherBart Verheij

Student assistantsAlbert HankelElske van der Vaart

Web sitehttp://www.ai.rug.nl/~verheij/teaching/dmas/

(Nestor contains a link)

Page 2: Design of Multi-Agent Systems

Overview

Speech actsAgent communication languagesInteraction protocolsOntologies

Page 3: Design of Multi-Agent Systems

Speech Acts

Speech act theories are pragmatic theories of language, i.e., theories of language useSpeech act theories go beyond syntax and semanticsPragmatics: language is used by people every day to achieve their goals and intentions

Example:– Can you pass me the cheese, please?

Page 4: Design of Multi-Agent Systems

Speech Acts

Origin of speech act theories: Austin’s 1962 book, How to Do Things with Words

Austin noticed that some utterances are rather like ‘physical actions’ that appear to change the state of the world

– Declaring war– ‘I now pronounce you man and wife’– Deciding a legal case (by a judge)

Page 5: Design of Multi-Agent Systems

Speech Acts

Wikipedia:

A locutionary act is the act of saying something, the locution.

An illocutionary act is any speech act that amounts to stating, questioning, commanding, promising, and so on. It is an act performed in saying something

A perlocutionary act is any speech act that amounts to persuading, convincing, scaring, enlightening, inspiring, or otherwise getting someone to do or realize something. When examining perlocutionary acts, the effect in the hearer or reader is emphasized.

Page 6: Design of Multi-Agent Systems

Speech Acts

Somewhere else on the Internet:

Locution--the semantic or literal significance of the utterance;

Illocution--the intention of the speaker; and

Perlocution--how it was received by the listener.

Page 7: Design of Multi-Agent Systems

Speech Acts

Some functions of communication:- Changing someone’s beliefs- Getting someone to do something for you- Promising something to someone- Changing the world

Page 8: Design of Multi-Agent Systems

Speech Acts

Types of speech act (Searle 1969):– representatives:

such as informing, e.g., ‘It is raining’– directives:

attempts to get the hearer to do something e.g., ‘please make the tea’

– commissives:which commit the speaker to doing something, e.g., ‘I promise to… ’

– expressives:whereby a speaker expresses a mental state, e.g., ‘thank you!’

– declarations:such as declaring war or christening

Page 9: Design of Multi-Agent Systems

Speech Acts

Components of speech acts:– a performative verb:

(e.g., request, inform, promise, … )– propositional content:

(e.g., “the door is closed”)

Page 10: Design of Multi-Agent Systems

Speech Acts

“Please close the doorperformative = requestcontent = “the door is closed”

“The door is closed!”performative = informcontent = “the door is closed”

“Is the door closed?”performative = inquirecontent = “the door is closed”

Page 11: Design of Multi-Agent Systems

Plan Based Semantics

How does one define the semantics of speech acts? When can one say someone has uttered, e.g., a request or an inform?

Cohen & Perrault (1979) defined semantics of speech acts using the preconditions and postconditions

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

Page 12: Design of Multi-Agent Systems

Plan-Based Semantics

request(s, h, f)pre:

– s believe h can do f(you don’t ask someone to do something unless you think they can do it)

– s believe h believe h can do f(you don’t ask someone unless they believe they can do it)

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

Page 13: Design of Multi-Agent Systems

Overview

Speech actsAgent communication languagesInteraction protocolsOntologies

Page 14: Design of Multi-Agent Systems

Agent communication languages

KQML (Knowledge Query and Manipulation Language)

DARPA

ACL (Agent Communication Language)Foundation for Intelligent Physical

Agents (FIPA)

Page 15: Design of Multi-Agent Systems

Agent Communcation Language (ACL)

The structure of an ACL message– KQML is similar. – In KQML, a communicative act is called a performative.

(inform :sender agent1 :receiver hpl-auction-server :content (price (bid good02) 150) :in-reply-to round-4 :reply-with bid04 :language sl :ontology hpl-auction)

Begin message structure

Communicative act type

Message parameter

ACL message

Message content expression

Parameter expression

Page 16: Design of Multi-Agent Systems

FIPA performatives

Page 17: Design of Multi-Agent Systems

Communicative Act

Meaning of inform according to FIPA:

– Feasibility preconditions (FE):Bi Bi( (Bj Bj) (Uj Uj) )

– Rational effect (RE):Bj

Bj: agent j believes that .Uj: agent j is uncertain about , but considers it more likely than .

See the FIPA Communicative Act Library Specification op www.fipa.org

Page 18: Design of Multi-Agent Systems

Communicative Act

Meaning of request according to FIPA:

– Feasibility preconditions (FE):FP(a)[i/j] Bi Agent(j,a) Bi Ij Done(a)

– Rational effect (RE):Done(a)

FP(a)[i/j]: the part of the FPs of action a which are mental attitudes of i

Agent(j,a): j is the only agent that ever performs action a.Ij: agent j has the intention .Done(a): action a is done.

Page 19: Design of Multi-Agent Systems

Communicative Act

(request:sender (agent-identifier :name i):receiver (set (agent-identifier :name j)):content"open \"db.txt\" for input":language vb)

Page 20: Design of Multi-Agent Systems

Languages for message content

Knowledge Interchange Format (KIF)First order logic in LISP notation

Semantic Language (SL) (FIPA standard)A modal logic with beliefs, desires, intentions

en uncertain beliefs

Page 21: Design of Multi-Agent Systems

KIF

logsent ::= (not sentence) | (and sentence*) |

(or sentence*) | (=> sentence* sentence) | (<= sentence sentence*) | (<=> sentence sentence).

quantsent ::= (forall (varspec+) sentence) | (exists (varspec+) sentence).

varspec ::= variable | (variable constant) sentence ::= constant | equation | inequality |

relsent | logsent | quantsent.

(Backus Naur Form)

Zero or more

One or more

Page 22: Design of Multi-Agent Systems

SL

Wff ::= AtomicFormula| "(" UnaryLogicalOp Wff ")" | "(" BinaryLogicalOp Wff Wff ")" | "(" Quantifier Variable Wff ")" | "(" ModalOp Agent Wff ")" | "(" ActionOp ActionExpression ")" | "(" ActionOp ActionExpression Wff

")".

UnaryLogicalOp ::= "not".

BinaryLogicalOp ::= "and" | "or" | "implies" | "equiv".

Quantifier ::= "forall" | "exists".

ModalOp ::= "B" | "U" | "PG" | "I".

ActionOp ::= "feasible" | "done".

Persistant goal

Page 23: Design of Multi-Agent Systems

Overview

Speech actsAgent communication languagesInteraction protocolsOntologies

Page 24: Design of Multi-Agent Systems

Protocols

An ACL message can mention a protocol. A protocol specifies the messages that can be exchanged

FIPA has provided a number of standard Interaction Protocols (IPs). There can be exceptions to the normal flow of an Interaction Protocol (e.g., in case a message is not understood).

Page 25: Design of Multi-Agent Systems
Page 26: Design of Multi-Agent Systems
Page 27: Design of Multi-Agent Systems
Page 28: Design of Multi-Agent Systems
Page 29: Design of Multi-Agent Systems
Page 30: Design of Multi-Agent Systems
Page 31: Design of Multi-Agent Systems

Overview

Speech actsAgent communication languagesInteraction protocolsOntologies

Page 32: Design of Multi-Agent Systems

Ontologies

An ACL message can specify an ontology

An ontology specifies the meaning of the concepts in a language. It is a specification of a domain conceptualization.

An ontology specifies concepts and their relations

E.g., Dublin Core: a specification of meta-tags for web pagesTitle, Creator, Subject, Description, Publisher, Contributor, Date, Type, Format, Identifier, Source, Language, Relation, Rights

Page 33: Design of Multi-Agent Systems

Ontologies

tree

oak

chestnut

is_a

is_a

trunk branch leaf

shape structure color greenis_a

has_a has_a has_a

has_a has_ahas_a

country

grows_in

American oak

European oakis_a

is_a

Page 34: Design of Multi-Agent Systems

Ontologies

The Semantic Web movement aims at making the web’s content more accessible to machines

Specify message content in XML or RDF Specify message grammar in XML Schema or

RDFS Specify the ontology in RDFS or OWL

Standards: www.w3c.orgTool: protege.stanford.edu

Page 35: Design of Multi-Agent Systems
Page 36: Design of Multi-Agent Systems

Overview

Speech actsAgent communication languagesInteraction protocolsOntologies

Page 37: Design of Multi-Agent Systems

Student presentations

Week 39

F. Kluegl et al. (2003). Selection of Information Types Based on Personal Utility - a Testbed for Traffic Information Markets.

Peter Hut

T. Sandholm (2000). Agents in Electronic Commerce: Component Technologies for Automated Negotiation and Coalition Formation.

Johan Everts

P. McBurney, R.M. Van Eijk, S. Parsons and L. Amgoud (2003). A Dialogue Game Protocol for Agent Purchase Negotiations.

Stephan Harmsen