Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of...
-
Upload
alexandra-harris -
Category
Documents
-
view
213 -
download
0
Transcript of Computer Science CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of...
Computer Science
CPSC 601.68/CPSC 599.68Rob Kremer
Department of Computer ScienceUniversity of Calgary
23-04-21 1
Agent Communications
23-04-21 CPSC 609.68/599.68: Agent Communications
2
What is an Agent?
• Autonomous
• Knowledge-based
• Reflective or Reactive
• Social
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
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 ….
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
23-04-21 CPSC 609.68/599.68: Agent Communications
6
Simple Conversation: naive
What time is it? It’s 2:00
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>
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)
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
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
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
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)
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>
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
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
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.
Message Semantics: Social Commitments/CASA
23-04-21 CPSC 609.68/599.68: Agent Communications
17
23-04-21 CPSC 609.68/599.68: Agent Communications
18
Conversation Paradigms
• Ad-hoc protocols
• BDI (Belief, Desire, Intentions)
• Social Commitments
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
23-04-21 CPSC 609.68/599.68: Agent Communications
20
Ad-hoc Protocols: Petri Nets
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
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
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
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
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