Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of...

25
Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 22-06-27 1 Agent Communications

Transcript of Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of...

Page 1: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

Computer Science

CPSC 601.68/CPSC 599.68Rob Kremer

Department of Computer ScienceUniversity of Calgary

23-04-21 1

Agent Communications

Page 2: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

2

What is an Agent?

• Autonomous

• Knowledge-based

• Reflective or Reactive

• Social

Page 3: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

3

What is an Agent?An agent Ag is a tuple Ag = (Sit,Act,Dat,fAg) where

• Sit is a set of situations Ag can be in• Act is a set of actions Ag can perform• Dat, Ag’s internal data, is the set of possible

values Ag’s internal data areas can have

• fAg: Sit Dat Act is the agents decision function

From outside, Ag seems to be a “function” gAg:SitAct

There are lots of other models of agency; this one is usefully general

Page 4: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

4

Agents = Object?

Both have internal data and receive messagesx But the object has no “choice” but to execute the

method; the agent can decide if and what method to execute.

object agent

method A

method B

method C

message B

method A

method B

method C

sensormessage B

I might execute method B, or I

might do nothing, or I might execute method C or ….

Page 5: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

5

Communicating Agents

• Traditional (low level) “Protocols” (eg: TCP/IP) are a bit simple…– They mostly deal with “here’s a message”

• Agents need a richer conversation space– Request/Reply, Offer/Reply, Subscribe/Inform

• Agents need to handle exceptional cases, complex interactions, and novel new interactions

Page 6: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

6

Simple Conversation: naive

What time is it? It’s 2:00

Page 7: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

7

Simple Conversation: more complex

What time is it?

It’s 2:00

Just a sec, I’ll check

Thanks

<nod>

<nod>

<nod>

<nod>

Page 8: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

8

Go ask someone

else.

Simple Conversation: failure

What time is it?

I don’t know, my watch stopped

<ignore>(didn’t hear)

Page 9: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

9

What do we need?

• Message format (syntax)

• Message semantics

• Interpretation of sequences of messages (conversations)– Message sequencing and turn-taking

• Conversation semantics

Page 10: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

10

Message Syntax

Envelope/content • Envelope can be read by all agents in the society• Content is usually understood only by specialized

agents

Page 11: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

11

Message Syntaxperformative the type of the communicative act of the message

sender the sender of the message

receiver the intended recipients of the message

reply-to subsequent messages in this conversation thread are to be directed to the agent named

content the content of the message; equivalently denotes the object of the action

language the language in which the content parameter is expressed

encoding the specific encoding of the content field

ontology the ontology(s) used to give a meaning to the symbols in the content expression

protocol the interaction protocol that the sending agent is employing with this ACL message

conversation-id an expression used to identify the sequence of communicative acts that form a conversation

reply-with an expression that will be used by the responding agent to identify this message

in-reply-to an expression that references an earlier action to which this message is a reply

reply-by a time and/or date expression indicating the latest time the sending agent wants a reply

Page 12: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

12

Message Syntax: KQML-style

( request :act inviteToJoinCD :to casa://123.181.6.101/Bob :from casa://123.181.6.101/Alice :reply-with casa://123.181.6.101/Alice$$1453 :language casa.URL :language-version 1.0 :content casa://123.181.6.101/CDagent2)

Page 13: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

13

Message Syntax: xml-style<?xml version=\"1.0\"?><!DOCTYPE message SYSTEM \"xmlmessage.dtd\"><CASAmessage> <performative> request </performative> <act> inviteToJoinCD </act> <to> casa://123.181.6.101/Bob </to> <from> casa://123.181.6.101/Alice </from> <reply-with> casa://123.181.6.101/Alice$$1453 </reply-with> <language> casa.URL </language> <language-version> 1.0 </language-version> <content> casa://123.181.6.101/CDagent2 </content></CASAmessage></xml>

Page 14: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

14

Message Semantics

• Typically based on speech-act theory

• Performative is the main speech act

• FIPA implementation uses the performative and a BDI semantics

Page 15: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

15

Message Semantics: FIPA Performativesaccept-proposal accepting a previous proposalagree agreeing to perform some actioncancel inform another agent that the agent no longer need perform some actioncall-for-proposal calling for proposals to perform an actionconfirm informs a given proposition is truedisconfirm informs a given proposition is falsefailure an action was attempted but failedInform a given proposition is trueinform-if inform whether or not a proposition is trueinform-ref inform the object which corresponds to a descriptornot-understood did not understand what the receiver just didpropagate pass a message onpropose submitting a proposal to perform an actionproxy pass on an embedded messagequery-if asking whether or not a proposition is truequery-ref asking for the object referred torefuse refusing to perform an actionreject-proposal rejecting a proposal during negotiationrequest request to perform some actionrequest-when request to perform some action when some proposition becomes truerequest-whenever request to perform some action each time the proposition becomes truesubscribe requesting to notify of the value of a reference whenever the object changes

Page 16: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

Message Semantics: FIPA request

23-04-21 CPSC 609.68/599.68: Agent Communications

16

<i, request (j, a)> FP: FP (a) [i\j] B∧ i Agent (j, a) ¬B∧ i Ij Done (a) RE: Done (a)

FP(a) [i\j] denotes the part of the FPs of a which are mental attitudes of i.

Page 17: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

Message Semantics: Social Commitments/CASA

23-04-21 CPSC 609.68/599.68: Agent Communications

17

Page 18: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

18

Conversation Paradigms

• Ad-hoc protocols

• BDI (Belief, Desire, Intentions)

• Social Commitments

Page 19: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

19

Ad-hoc Protocols

“Scripts” that the agent follows

Issues:• Rigid and Brittle.• Hard to account for all eventualities

Page 20: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

20

Ad-hoc Protocols: Petri Nets

Page 21: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

21

BDI

• Belief– Environment

• Desire– Goals

• Intention– The current desire(s) chosen by the selection function

with the beliefs and desires as input

Page 22: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

22

BDI

Issues• Sometimes end up with expressions like “I

believe that you believe that I believe that you believe that…”

• Calls on agents to have a omniscient view of all the other agents

• FIPA is based on BDI semantics

Page 23: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

23

Social Commitments

Many utterances imply some sort of “conversational” social commitment

• Eg: a request commits the receiver to reply

Other social commitments are negotiated• Eg: “wash my car”

Basic Agent body:• When an agent observes (or sends or receives) a

message, it uses policies (rules) as social norms that generate (or delete) social commitments

• Agents spend their free time trying to fulfill the social commitments for which it is a debtor

Page 24: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

24

Social Commitments

reply-propose-discharge(Alice,Bob,x)

act(Bob,Alice,x)

propose-discharge(Bob,Alice,x)

Alice Bob

request

inform

reply

agree

inform ack

propose-discharge

done

reply

inform ack

reply-propose-discharge

confirm

reply

informack

reply(Bob,Alice,x)

ack(Bob,Alice,x)

ack

ack(Bob,Alice,x)

ack

ack(Alice,Bob,x)

ack

ack(Alice,Bob,x)

ack

Page 25: Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary 07/12/20151 Agent Communications.

23-04-21 CPSC 609.68/599.68: Agent Communications

25

Social Commitments

Issues• Deals with complexity• Agents make decisions based only on observable

conversational moves (and the Environment and their internal state)

• Turn taking follows naturally