|
SocioAgent: A Society of Rational Speech Act Agents
BgBt 1Q0l? =j??M}M:?y
(3t) %=%K!<%3%s%T%e!<%?%5%$%(%s%98&5f=jz
SocioAgent $OBPOC5!G=$H>u67E,1~G=NO$rM-$7!"3+J|7?J,;64D6-2<$GF0E*$KAH?%$r9=@.$9$k$3$H$K$h$j6(D4E*Ld Bj2r7h$r9T$J$&9gM}E*%(!<%8%'%s%H$N<+N'7W;;%b%G%k$G$"$k!#K9F$G$O@h$:!"SocioAgent %b%G%k$K$*$1$kDL?. 5!G=!"BPOC5!G=!"<+8J%W%i%s@8@.!"9gM}@-$K$D$$$F@bL@$7!"%(!<%8%'%s%H$NAH?%2=%9%-!<%^$H!"?7$?$KDs0F$9$k 6&F1Mn;%$H$$$&35G0$K4p$E$/6(D4E*Aj8_%W%i%s@8@.$K$D$$$F=R$Y$k!#
1 $O$8$a$K
%^%k%A%(!<%8%'%s%H%7%9%F%`$H$O!"J#?t$N%(!<%8%'%s%H
$H8F$P$l$kCNE*%7%9%F%`$,!"Aj8_:nMQ$K$h$j6(D41E*LdBj2r
7h$r9T$J$&%7%9%F%`$G$"$k[Huhns 87] [Bond 88] !#$3$NMM
$J%7%9%F%`$G$O!"%(!<%8%'%s%H4V$G6&M-$9$k%G!<%?$NJ,;6
$N$_$J$i$:!"7W;;@)8f$NJ,;62=!"$5$i$K$OAj8_:nMQ$K$h$k
%(!<%8%'%s%H4V$N6(D4E*LdBj2r7h$r2DG=$H$7$F$$$k!#
$H$3$m$G!"6aG/!"%7%9%F%`$NBg5,LOJ,;63+J|2=$KH<$$(Nc
$($PMuseOS[Yokote 89]) !"9-0hE*$GBg5,LO$J3+J|7?7W;;
4D6-2<$G$N!"$3$N%^%k%A%(!<%8%'%s%H%7%9%F%`$NM-MQ@-$,
$$$/$D$+$N4QE@$+$i<!Bh$KL@$i$+$K$J$C$F$-$?!#
$7$+$7$J$,$i!"3+J|7?J,;64D6-2<$G$N6(D4LdBj2r7h$K$O
L$$@NI$/2rL@$5$l$F$$$J$$LdBj$bB?$$[Bond 88] !#$=$N0l
$D$K6(D4E*Aj8_%W%i%s@8@.[Levesque 90] $,$"$k!#$3$l$O3F
%(!<%8%'%s%H$N;}$D@$3&$K4X$9$kItJ,E*CN<1$dAj8_?.G0!"9T
F05,B'Ey$+$i!"%(!<%8%'%s%H$,Aj8_$K6(D4$9$k$?$a$N%W%i
%s$r!"?dO@$K$h$j@8@.$7!"9TF0$9$kLdBj$G$"$k!#
K9F$G$O$3$NLdBj$r9M;!$7!"SocioAgent $H$h$P$l$k3F
%(!<%8%'%s%H$,!"<+8J$N@8@.$7$?IT40A4$J%W%i%s$NF~;%$+
$i!"B>$N%(!<%8%'%s%H$H$N6&F1Mn;%$r<u$1!"$=$NCf$K8=$l
$k!"B>$N%(!<%8%'%s%H$H$N6(D4$N2DG=@-$r<($96&F1$N<(:6
$r$b$H$KAj8_?.G0$K4X$9$k?dO@$r9T$J$$!"IT40A4$J%W%i%s
$r@:O#$7$F6(D4E*Aj8_%W%i%s$r@8@.$76&F1<B9T$9$kJ}K!$K
$D$$$F=R$Y$k!#
K9F$N9=@.$O!"SocioAgent $K$*$1$k6(D4E*Aj8_%W%i%s@8
@.$K4X$7$F!"$^$:Bh2>O$G$ONcBj$rDL$7$FGX7J$H$J$kLdBj
$rL@3N$K$7!"Bh3 >O$G$OSocioAgent %b%G%k$K$D$$$F=R$Y
$k!#Bh4>O$G$O%(!<%8%'%s%H$NAH?%2=%9%-!<%^$H6&F1Mn;%!"
$=$7$F%(!<%8%'%s%H4V$G$N6&F1$N<(:6$K4p$E$/6(D4E*Aj8_
%W%i%s@8@.$K$D$$$F=R$Y!"6(D4E*Aj8_%W%i%s@8@.$NNcBj$r
<($9!#
2 3+J|7?J,;64D6-$K$*$1$kAj8_%W%i%s@8@.
3+J|7?J,;64D6-[Hewitt 82] $G$O!"[email protected]$,A2A}E*$+$D
7QB3E*$KJQ2=$7!"$^$?3F%(!<%8%'%s%H$N;}$D@$3&$K4X$9$k
CN<1$OItJ,E*$G$"$k$3$H$+$i!"Aj8_6(D4F0:n$K4X$7$FMM!9
$JLdBj$,@8$:$k!#
$3$NLdBj$r9M;!$9$k$?$a$K!"NY@$7$?!"$$$/$D$+$NIt20
$N4V$G$NJ#?t$N%(!<%8%'%s%H$K$h$k%V%m%C%/$N0F0LdBj$r
9M$($k(?^1) !#
?E-mail: fosawa, [email protected]
y7DXf5A=NBg3XM}9)3XIt!!7s6P
zSony Computer Science Laboratory Inc.
1KO@J8$G$O6&F1$H6(D4$H$$$&8@MU$rN>J}MQ$$$k$,!"A0<T$O<g$K9TF0$K
<g4c$,CV$+$l$F$$$k>l9g$KMQ$$$k$3$H$,B?$$!#
blockL
agentX AgentZagentY
roomA roomB roomC
doorAB doorBC doorCO
doorAO
?^ 1: NY@$7$?It20$N4V$G$N%V%m%C%/0F0
$3$NNc$G!"3F%(!<%8%'%s%HagentX!"agentY !"agentZ $O 0J2<$NMM$J@$3&$N>uBV$K4X$9$kCN<1(knowledge)$H9TF05,B' (action rule) $r$"$i$+$8$a;}$C$F$$$k$H$9$k!#$3$3$G$O@$3& $N>uBV$K4X$9$kCN<1$O0l3,=RO@M}<0$N;v<B$N=89g$H$7$F5- =R$5$l!"$^$?%W%i%s$N5-K!$OSTRIPS[Nilsson 80] $K=>$&!#
agentX
knowledge:
HANDEMPTY(agentX). BLOCK(blockL). ROOM(roomA).
ROOM(roomB). DOOR(doorAB). IN(agentX,roomA).
ONFLOOR(blockL,roomA). DOOR(doorAO,roomA).
CLOSE(doorBC). BOUNDARY(doorAB,roomA,roomB).
DOOR(doorAB,roomA). OPEN(doorAB).
action rule:
pickup(Agent,Thing;1)
precond: HANDEMPTY(Agent),IN(Agent,Room),
ONFLOOR(Thing,Room);
delete: HANDEMPTY(Agent),ONFLOOR(Thing,Room);
add: HOLDING(Agent,Thing).
putdown(Agent,Thing;1)
precond: HOLDING(Agent,Thing),IN(Agent,Room);
delete: HOLDING(Agent,Thing);
add: HANDEMPTY(Agent),ONFLOOR(Thing,Room).
move(Agent,Thing,Room1,Room2;1)
precond: IN(Agent,Room1),HOLDING(Agent,Thing),
BOUNDARY(Door,Room1,Room2), DOOR(Door,Room1),
OPEN(Door);
delete: IN(Agent,Room1);
add: IN(Agent,Room2).
give(Agent1,Thing,Agent2;1)
precond: HOLDING(Agent1,Thing), IN(Agent1,Room),
IN(Agent2,Room), HANDEMPTY(Agent2);
delete: HANDEMPTY(Agent2),
HOLDING(Agent1,Thing);
add: HAVE(Agent2,Thing),HANDEMPTY(Agent1)
agentY
knowledge:
HANDEMPTY(agentY). BLOCK(blockL). ROOM(roomA).
ROOM(roomB). ROOM(roomC). IN(agentY,roomB).
HANDEMPTY(AgentY). BOUNDARY(doorAB,roomA,roomB).
BOUNDARY(doorBC,roomB,roomC). DOOR(doorAB,roomB).
DOOR(doorBC,roomB). OPEN(doorAB). CLOSE(doorBC).
action rule:
pickup(Agent,Thing;1)
the same as agentX.
move(Agent,Thing,Room1,Room2,1)
the same as agentX.
give(Agent1,Thing,Agent2,1)
the same as agentX.
open(Agent,Door,1)