Title: Outline
1Outline
- Slides
- Agent communication languages
- Dialogue games
- Example from my work
- COGENT models
- BrCa referral system
- Queuing strategies
2What do agents need to communicate?
- A language!
- All agents use the same language
- All agents must know the meaning of each word in
the language - Natural language too big
- Instead want to provide small, manageable set
of language primitives
3Agent Communication Language speech act theory
- Big names philosophers John L. Austin (1955)
and John R. Searle (1969) - Ignored meaning, instead focussed on what
language does. - Can you pass the salt I dont really want to
know if you can pass the salt, I just want you to
pass it to me.
4Speech acts
- Three parts to a speech act
- Locution the actual physical utterance
- Illocution the conveying of the speakers
intentions to the hearer - Perlocutions the actions that occur as a result
of the illocution
5Example Can you pass the salt
- Locution Can you pass the salt
- Illocution speaker wants the hearer to pass the
salt to him - Perlocutions (maybe) the hearer passes the salt
to the speaker
6Illocutions conveying of a speakers intentions
to the hearer
- Split into two parts
- Illocutionary force classifies the speech act
according to what kind of intention it is meant
to convey - Proposition the subject of the illocution
7Examples of illocutionary force
Assert Request Promise Query Command Thank
8Example
Can you pass the salt Illocutionary force
request Proposition pass the salt
9Agent Communication Languages
Illocutionary force becomes language primitive
request
Can you pass the salt Illocutionary force
request Proposition pass the salt
Proposition becomes content passMe(salt)
request passMe(salt)
10Language primitives
- query answer inform assert
- accept question challenge
- request retract unknown
- acknowledge
11Agent Communication Languages all we need?
- Shared language,
- consists of small set of primitives,
- each of which has well-defined meaning.
- Single message not enough
- Agents need to be able to relate sequences of
messages together to form conversations
12Can dialogues emerge from speech act semantics?
- No too hard to infer what the other agents
mental states are and so difficult to select
optimum message to send. - Need to reduce the search space of appropriate
messages.
13Conversation policies?
Specify the stereotypical interactions that
agents may enter into limit the choice of
message.
Inflexible
14Argumentation
Agents put forward arguments for and against
propositions, together with justifications for
the acceptability of these arguments. Allows
agents to give reasons for their positions and to
change their position in light of new information.
15Dialogue Theory
D. Walton E. Krabbe, Commitments in Dialogue,
SUNY Press, 1995
16Dialogue games (DGs)
- Dialogues treated as games, with two players who
make moves to each other. - For each dialogue type, specify
- A set of legal moves (the messages the agents
send) - Rules governing how the agents are allowed to use
the moves - Conditions that state when a dialogue has
terminated and what the outcome of that dialogue
is
17Agent communication dialogue games
Set of legal moves assert(P) utterer claims P
to be true challenge(P, Q) utterer claims P is
not true because of Q concede(P) utterer agrees
that P is true iGiveUp utterer gives up
C. Reed T. Norman, Models of Agent Dialogue,
Presentation at EASSS 2003
18Agent communication dialogue games
Rules Initial player begins by uttering
assert(P) If player X utters assert(P), player Y
must at the next turn challenge(P,Q) or
concede(P) If player X utters challenge(P, Q),
player Y must at the next turn concede(Q) or
challenge(Q, R)
C. Reed T. Norman, Models of Agent Dialogue,
Presentation at EASSS 2003
19Agent communication dialogue games
Rules continued Any player can utter iGiveUp at
any time Players take it in turn to utter a
single locution, except in the case where player
X utters concede(Q), in which case, player X may
also, at the same turn, utter a challenge A move
challenge(P, Q) is unsuccessful if it is
successfully challenged, and is successful
otherwise
C. Reed T. Norman, Models of Agent Dialogue,
Presentation at EASSS 2003
20Agent communication dialogue games
Winning conditions Player X wins if player Y
utters iGiveUp Player X wins if player Y utters
concede(P) where P was Xs initial
assertion Player X wins if, at Xs turn, Y has
no successful challenges against P.
C. Reed T. Norman, Models of Agent Dialogue,
Presentation at EASSS 2003
21Agent communication dialogue games
assert(this patient has chicken pox)
I
P
22Agent communication dialogue games
challenge(this patient has chicken pox, her
temperature is normal and chicken pox patients
have a high temperature)
I
P
23Agent communication dialogue games
challenge(her temperature is normal and chicken
pox patients have a high temperature, in 5 of
chicken pox patients temperature remains normal)
I
P
24Agent communication dialogue games
concede(in 5 of chicken pox patients temperature
remains normal) challenge(patient has chicken
pox, her rash is localised and more consistent
with flea bites and she has been exposed to fleas)
I
P
25Agent communication dialogue games
concede(her rash is localised and more consistent
with flea bites and she has been exposed to
fleas) iGiveUp
I
P
26Dialogues
- Different types of dialogue
- each of which has their own set of rules,
- each of which achieves a type of goal.
- Allows agent to select relevant type of dialogue
to achieve its goal.
27Example info_seek dialogue
- Achieves get data goals
- getData(A, Y)
- E.g. getData(age(p172, ??), genAdmin)
- - data is received from general administration
giving patient 172s date of birth.
28Example inform dialogue
- Achieves informed goals
- informed(A, Y)
- E.g. informed(dob(p172, 050579), gp12)
- - GP 12 has received the information that
patient 172s date of birth is 5 may 1979.
29Example request dialogue
- Achieves commitment goals
- commitment(Y, X, C)
- E.g. commitment(spec7, gp12, appt(p172, tue10))
- - specialist 7 is bound to GP 12 to see patient
172 on Tuesday at 10.
30Example discussion dialogue
- Achieves supported knowledge goals
- supported(K, Y)
- E.g. supported(diagnosis(p172, breast, ?), spec7)
- - the agent with the goal and specialist 7 have
both agreed on a diagnosis relating to patient
172s breast symptoms. The diagnosis is supported
by arguments.
31Argument
- Given a knowledge base ?, an argument is a pair
- A (?,?) where ? is a wff and ? is a subset of ?
- such that
- ? is consistent
- ? is a consequence of ?
- ? is minimal, so no proper subset of ? satisfying
both 1. and 2. exists. - Support(A)
- ? Conclusion(A)
32Argument preferences
- Beliefs have different preference levels,
indicating - that we are more confident about some than
- others.
- The preference level of an argument is the same
as - the preference level of the member of the support
- of the argument that is the least preferred out
of - the support.
33Defending
- Let A1 and A2 be two arguments
- If A2 undercuts or rebuts A1 the A1 defends
itself against A2 iff A2 is preferred to A1. - A set of arguments S defends A iff for all B
such that B undercuts or rebuts A and A does not
defend itself against B then there exists an
argument C such that C ? S, C undercuts or rebuts
B and B does not defend itself against C.
34Acceptable arguments
- Given a knowledge base ?, let the set C gather
all - non-undercut and non-rebut arguments and
- arguments defending themselves against all their
- undercutting and rebutting arguments.
- The set accArgs(?) is the least fixpoint of a
- function F
- F(?) (?,?) (?,?) is defended by S
35Acceptable arguments
- accArgs(?) UFigt0(?)
- C U UFigt0(?)
36Acceptable arguments
- Given a knowledge base ?, an argument is
- acceptable if it is not undercut or rebutted or
it - defends itself (set C), or if it is defended by
C, or - if it is defended by C union with the set of
- arguments defended by C, or it is defended by C
- union with the set of arguments defended by C
- union with the set of arguments that are defended
- by C union with the set of arguments defended by
- C, or
37Commitment stores
When a dialogue is initiated, a commitment store
is created for each of the agents. Keep track of
what beliefs each of the agents are currently
committed to and are changed as agents assert,
accept and retract beliefs. When forming
acceptable arguments, an agent uses its set of
beliefs and the contents of its opponents
commitment store.
38Functions governing dialogue behaviour
availableMoves generates legal moves at a turn
in a dialogue. turn selects a subset of
availableMoves to be used as the actual turn in
the dialogue state determines the state of a
dialogue at any turn (in_progress,
terminated_successfully, terminates_unsuccessfully
) iUpdate defines the updates made to the
commitment stores belUpdate determines how the
agents beliefs should be updated from the
commitment stores at the end of the dialogue (in
future, going to look at updating during dialogue)
39Examplediscussion dialogue, topic ?
- The rules are given for AMi(X ? Y )---the
available moves at the ith turn, where i gt 0 and
the turn is directed from agent X to agent Y . - CSi(A) represents the contents of A's commitment
store at the start of turn i, i.e. after the turn
resulting from AMi-1(X ? Y ) has been made. - availableMoves
- AM0(X ? Y ) question(?) where X is the
initiator and ? is the topic of the dialogue. - If challenge(?) ? AMi-1(Y ? X) then assert(?)
?AMi(X ? Y ), where ? is the support of ?
40Examplediscussion dialogue, topic ?
- 3. If question(?) ? AMi-1(Y ? X) and ? ? s.t. (?,
?) ? accArgs(?X U CSi(Y)) and unifies(?, ?) then
assert(?) ?AMi(X ? Y ) - 4. ? ? such that ? ? CSi(Y) but ? ? CSi(X)
- if ? ? s.t. (?, ?) ? accArgs(?X U CSi(Y)) then
accept(?)?AMi(X ? Y ), else - if ? ? s.t. (?, ?) ? accArgs(?X U CSi(Y)) then
assert(?)?AMi(X ? Y ), else - challenge(?) ?AMi(X ? Y )
- 5. ? ? such that ? ? CSi(X) and ? ? s.t. (?, ?)
? accArgs(?X U CSi(Y)) then
retract(?) ?AMi(X ? Y )
41Examplediscussion dialogue, topic ?
turn very simple at the moment, make all of the
moves that are avialable to you. Gives Ti(X ? Y)
turn availableMoves Ti(X ? Y) AMi(X ? Y)
iUpdate if agent X makes the move assert(?)
or accept(?) then ? is added to Xs commitment
store. If agent X makes the move retract(?) then
? is removed from Xs commitment store. The other
moves have no effect on the commitment stores.
42Examplediscussion dialogue, topic ?
- state
- Given that the topic of the dialogue is ?
- If accept(?) ? Ti(X ? Y) and unifies(?, ?) then
state terminated_successfully, else - If neither agent has any moves available state
terminated_ unsuccessfully , else - State in_progress
43Examplediscussion dialogue, topic ?
belUpdate very simple at the moment, after a
dialogue has terminated X adds all the contents
of its commitment store to its beliefs.
44X (?X)
Y (?Y)
BELIEFS
BELIEFS
a (3) b (3) a ? b ? c
(3) e ? d (1) e (1)
d ? a (2) d (2)
CS(X)
CS(Y)
X ? Y question c
45X (?X)
Y (?Y)
BELIEFS
BELIEFS
a (3) b (3) a ? b ? c
(3) e ? d (1) e (1)
d ? a (2) d (2)
CS(X)
CS(Y)
c
Y ? X assert c
46X (?X)
Y (?Y)
BELIEFS
BELIEFS
a (3) b (3) a ? b ? c
(3) e ? d (1) e (1)
d ? a (2) d (2)
CS(X)
CS(Y)
c
X ? Y challenge c
47X (?X)
Y (?Y)
BELIEFS
BELIEFS
a (3) b (3) a ? b ? c
(3) e ? d (1) e (1)
d ? a (2) d (2)
CS(X)
CS(Y)
c (3) a (3) b (3) a ?
b ? c (3)
Y ? X assert a, b, a ? b ? c
48X (?X)
Y (?Y)
BELIEFS
BELIEFS
a (3) b (3) a ? b ? c
(3) e ? d (1) e (1)
d ? a (2) d (2)
CS(X)
CS(Y)
d ? a (2) d (2) b (3) a
? b ? c (3)
c (3) a (3) b (3) a ?
b ? c (3)
X ? Y assert d, d ? a accept b, a ?
b ? c
49X (?X)
Y (?Y)
BELIEFS
BELIEFS
a (3) b (3) a ? b ? c
(3) e ? d (1) e (1)
d ? a (2) d (2)
CS(X)
CS(Y)
d ? a (2) d (2) b (3) a
? b ? c (3)
c (3) a (3) b (3) a ?
b ? c (3) e ? d (1) e
(1) d ? a (2)
Y ? X assert e, e ? d accept d ? a
50X (?X)
Y (?Y)
BELIEFS
BELIEFS
a (3) b (3) a ? b ? c
(3) e ? d (1) e (1)
d ? a (2) d (2)
CS(X)
CS(Y)
d ? a (2) b (3) a ? b ? c
(3) e ? d (1) e (1) c
(3) a (3)
c (3) a (3) b (3) a ?
b ? c (3) e ? d (1) e
(1) d ? a (2)
X ? Y accept e, e ? d retract
d -removed from commitment store accept c acce
pt a Dialogue terminates successfully.
51X (?X)
Y (?Y)
BELIEFS
BELIEFS
a (3) b (3) a ? b ? c
(3) e ? d (1) e (1) c
(3) d ? a (2)
d ? a (2) d (2) b (3) a
? b ? c (3) e ? d (1) e
(1) c (3) a (3)
CS(X)
CS(Y)
d ? a (2) b (3) a ? b ? c
(3) e ? d (1) e (1) c
(3) a (3)
c (3) a (3) b (3) a ?
b ? c (3) e ? d (1) e
(1) d ? a (2)
After belief update.