Planning: Version 2 CSE IIT, Kharagpur
Planning: Version 2 CSE IIT, Kharagpur
com
www.jwjobs.net
Module 9
Planning
Version 2 CSE IIT, Kharagpur
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
Lesson 23
Planning systems
Version 2 CSE IIT, Kharagpur www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
action description: what an agent actually returns to the environment in order to do something. precondition: conjunction of atoms (positive literals), that says what must be true before an operator can be applied. effect of an operator: conjunction of literals (positive or negative) that describe how the situation changes when the operator is applied.
An example action of going from one place to another: Version 2 CSE IIT, Kharagpur
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
Op(ACTION:Go(there), PRECOND:At(here) /\ Path(here, there) EFFECT:At(there) /\ -At(here)) The following figure shows a diagram of the operator Go(there). The preconditions appear above the action, and the effects below.
it is a family of actions, one for each of the different values of the variables. every variable must have a value
Preconditions and Effects are restrictive. Operator o is applicable in a state s if every one of the preconditions in o are true in s. An example is if the initial situation includes the literals At(Home, Path(Home, Supermarket)... then the action Go(Supermarket) is applicable, and the resulting situation contains the literals -At(Home),At(Supermarket), Path(Home, Supermarket)... The result is all positive literals in Effect(o) hold, all literals in s hold and negative literals in Effect(o) are ignored. The set of operators for the Box World example problem is shown below:
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
A C A B C B
Initial State
ontable(A) ontable(B) on(C, B) clear(A)
Goal State
ontable(B) on(C, B) on(A, C) clear(A)
Definitions of Descriptors:
Definitions of Operators: Op{ACTION: pickup(x) PRECOND: ontable(x), clear(x), handempty EFFECT: holding(x), ~ontable(x), ~clear(x), ~handempty } Op{ACTION: putdown(x) PRECOND: holding(x) EFFECT: ontable(x), clear(x), handempty, ~holding(x) } Op{ACTION: stack(x,y) PRECOND: holding(x), clear(y) EFFECT: on(x,y), clear(x), handempty, ~holding(x), ~clear(y) } Op{ACTION: unstack(x,y) PRECOND: clear(x), on(x,y), handempty EFFECT: holding(x), clear(y), ~clear(x), ~on(x,y), ~handempty ) }
www.jntuworld.com