LECTURE 3: DEDUCTIVE REASONING AGENTS. An Introduction to MultiAgent Systems http://www.csc.liv.ac.uk/~mjw/pubs/imas. Agent Architectures. An agent is a computer system capable of flexible autonomous action … Issues one needs to address in order to build agent-based systems…
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
LECTURE 3: DEDUCTIVE REASONING AGENTS
An Introduction to MultiAgent Systemshttp://www.csc.liv.ac.uk/~mjw/pubs/imas
2.2 Agents as Theorem Provers I
Agent as theorem prover / declarative implementation of formal agent model
2.2 Agents as Theorem Provers II
Database Δ takes role of internal state i; beliefs of the agent.Example: Δ={open(valve221), pressure(tank776, 28)}
Agent
action
see
next
Δ
Sensor Input
Action Output
Environment
2.2 Agents as Theorem Provers II
function action(Δ:D) returns α:A {
for each α A do {
if( ) {
return α
}
}
for each α A do {
if( ) {
return α
}
}
return null
}
FO-Logic: Do(α) : Do is predicate; α is individuum symbol
2.3 Example: The Vacuum World I
Agent‘s objective: suck up all dirt
where
and
computes new Facts
2.3 Example: The Vacuum World II
Objective:
Traversal:
and for all other rows accordingly
2.3.1. A note on wording issues and an „error“ in [3],[5] I
F1, F1 F2
F2
2.3.1. A note on wording issues and an „error“in [3],[5] II
In(1,1) Dirt(0,2) Dirt(1,2) Facing(West)
2.4 Performance & Realization Issues
we cannot expect an efficient and reliable logic-based agent if we do not restrict the expressiveness of the logic used
combine logic approach with procedural approaches
a142
a1
I
G
a17
In general:ON(a,b)HOLDING(a)ONTABLE(a)ARMEMPTYCLEAR(a)
A
B
C
[ $ x HOLDING(x) ] ¬ ARMEMPTY
" x [ ONTABLE(x) ¬ $ y [ON(x,y)] ]
" x [ ¬ $ y [ON(y, x)] CLEAR(x) ]
So…how do we use theorem-proving techniques to construct plans?
S1
A
B
S1
1. UNSTACK(A,B); 2. PUTDOWN(A)
S2
S1
A
B
?
S2
S1
COMMIT(
( agent, REQUEST, DO(time, action)
), ;;; msg condition
( B,
[now, Friend agent] AND
CAN(self, action) AND
NOT [time, CMT(self, anyaction)]
), ;;; mental condition
self,
DO(time, action)
)
then commit to doing action at time
(((self ?agent REQUEST (?t (xeroxed ?x)))(AND (CAN-ACHIEVE (?t xeroxed ?x)))(NOT (BEL (*now* shelving)))(NOT (BEL (*now* (vip ?agent))))
((ADOPT (INTEND (5pm (xeroxed ?x)))))
((?agent self INFORM
(*now* (INTEND (5pm (xeroxed ?x)))))))
stack(pop, push)[popped, stackfull]
{pop, push} = environment preds{popped, stackfull} = component preds