Agent Communications - Rob Kremer

advertisement
Computer
Science
Agent Communications
CPSC 601.68/CPSC 599.68
Rob Kremer
Department of Computer Science
University of Calgary
08/04/2015
1
What is an Agent?
• Autonomous
• Knowledge-based
• Reflective or Reactive
• Social
08/04/2015
CPSC 609.68/599.68: Agent Communications
2
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:SitAct
There are lots of other models of agency;
this one is usefully general
08/04/2015
CPSC 609.68/599.68: Agent Communications
3
Agents = Object?
 Both have internal data and receive messages
x But the object has no “choice” but to execute the
method; the agent can decide if and what method
to execute.
I might execute
method B, or I
might do nothing, or
I might execute
method C or ….
message B
method A
message B
method B
sensor
object
method C
08/04/2015
CPSC 609.68/599.68: Agent Communications
method A
method B
method C
agent
4
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
08/04/2015
CPSC 609.68/599.68: Agent Communications
5
Simple Conversation: naive
What
time is it?
08/04/2015
It’s 2:00
CPSC 609.68/599.68: Agent Communications
6
Simple Conversation: more complex
What
time is it?
<nod>
Just a sec,
I’ll check
<nod>
It’s 2:00
<nod>
Thanks
<nod>
08/04/2015
CPSC 609.68/599.68: Agent Communications
7
Simple Conversation: failure
What
time is it?
I don’t know,
my watch
stopped
Go ask
someone
else.
<ignore>
(didn’t
hear)
08/04/2015
CPSC 609.68/599.68: Agent Communications
8
What do we need?
• Message format (syntax)
• Message semantics
• Interpretation of sequences of messages
(conversations)
– Message sequencing and turn-taking
• Conversation semantics
08/04/2015
CPSC 609.68/599.68: Agent Communications
9
Message Syntax
Envelope/content
• Envelope can be read by all agents in the society
• Content is usually understood only by specialized
agents
08/04/2015
CPSC 609.68/599.68: Agent Communications
10
Message Syntax
performative
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
08/04/2015
CPSC 609.68/599.68: Agent Communications
11
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
)
08/04/2015
CPSC 609.68/599.68: Agent Communications
12
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>
08/04/2015
CPSC 609.68/599.68: Agent Communications
13
Message Semantics
• Typically based on speech-act theory
• Performative is the main speech act
• FIPA implementation uses the performative and a
BDI semantics
08/04/2015
CPSC 609.68/599.68: Agent Communications
14
Message Semantics: FIPA Performatives
accept-proposal
agree
cancel
call-for-proposal
confirm
disconfirm
failure
Inform
inform-if
inform-ref
not-understood
propagate
propose
proxy
query-if
query-ref
refuse
reject-proposal
request
request-when
request-whenever
subscribe
08/04/2015
accepting a previous proposal
agreeing to perform some action
inform another agent that the agent no longer need perform some action
calling for proposals to perform an action
informs a given proposition is true
informs a given proposition is false
an action was attempted but failed
a given proposition is true
inform whether or not a proposition is true
inform the object which corresponds to a descriptor
did not understand what the receiver just did
pass a message on
submitting a proposal to perform an action
pass on an embedded message
asking whether or not a proposition is true
asking for the object referred to
refusing to perform an action
rejecting a proposal during negotiation
request to perform some action
request to perform some action when some proposition becomes true
request to perform some action each time the proposition becomes true
requesting to notify of the value of a reference whenever the object changes
CPSC 609.68/599.68: Agent Communications
15
Message Semantics: FIPA request
<i, request (j, a)>
FP: FP (a) [i\j] ∧ Bi Agent (j, a) ∧ ¬Bi Ij Done (a)
RE: Done (a)
FP(a) [i\j] denotes the part of the FPs of a which
are mental attitudes of i.
08/04/2015
CPSC 609.68/599.68: Agent Communications
16
Message Semantics: Social Commitments/CASA
08/04/2015
CPSC 609.68/599.68: Agent Communications
17
Conversation Paradigms
• Ad-hoc protocols
• BDI (Belief, Desire, Intentions)
• Social Commitments
08/04/2015
CPSC 609.68/599.68: Agent Communications
18
Ad-hoc Protocols
“Scripts” that the agent follows
Issues:
• Rigid and Brittle.
• Hard to account for all eventualities
08/04/2015
CPSC 609.68/599.68: Agent Communications
19
Ad-hoc Protocols: Petri Nets
08/04/2015
CPSC 609.68/599.68: Agent Communications
20
BDI
• Belief
– Environment
• Desire
– Goals
• Intention
– The current desire(s) chosen by the selection function
with the beliefs and desires as input
08/04/2015
CPSC 609.68/599.68: Agent Communications
21
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
08/04/2015
CPSC 609.68/599.68: Agent Communications
22
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
08/04/2015
CPSC 609.68/599.68: Agent Communications
23
Social Commitments
Bob
Alice
inform
ack(Bob,Alice,x)
request
ack
reply(Bob,Alice,x)
inform
ack(Alice,Bob,x)
ack
reply
agree
ack
ack(Alice,Bob,x)
act(Bob,Alice,x)
inform
ack
reply
reply-propose-discharge(Alice,Bob,x)
propose-discharge
propose-discharge(Bob,Alice,x)
done
ack
ack
inform
ack(Bob,Alice,x)
reply
reply-propose-discharge
confirm
ack
08/04/2015
CPSC 609.68/599.68: Agent Communications
24
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
08/04/2015
CPSC 609.68/599.68: Agent Communications
25
Download