Title: Chap.12 Practical Planning
1Chap.12 Practical Planning
- CS570 Artificial Intelligence
- Kwang-hyung Lee
212.1 Practical Planners
12.1 Practical Planners
- Spacecraft assembly, integration, and
verification - 1. Hierarchical plans
- 2. Complex conditions
- 3. Time
- 4. Resources
- Job Shop Scheduling
- Scheduling for space missions
- Buildings, aircraft carriers and beer factories
312.2 Hierarchical Decomposition
12.2 Hierarchical Decomposition
- Solution at a high level abstraction
- Go(Supermarket),Buy(Milk),Buy(Bananas),Go(Home)
- It is a long way from instruction fed to the
agents effectors - A low level plan
- Forward(1 cm),Turn(1 deg),Forward(1 cm),
- Hierarchical decomposition an abstract operator
can be decomposed into a group of steps - ex) Abstract operator Build(House)
- decomposed operators obtain Permit,Hire
Builder,Construction, Pay Builder - Primitive operatorexecuted by the agent
412.2 Hierarchical Decomposition
- Hierarchical planning work
- (1) provide an extension to the STRIPS for
nonprimitive operator - (2) modify the planning algorithm to allow the
replacement of a nonprimitive operator with its
decomposition
5Extending STRIPS
12.2 Hierarchical Decomposition
- (1) partition operators into primitive and
nonprimitive operators - nonprimitive Install(FloorBoards)
- primitive Hammer(Nail)
- (2) decomposition method
- Decompose(o,p) An operator o is decomposed into
a plan p
612.2 Hierarchical Decomposition
- Decomposition of o into p
- The decomposed plan p correctly implements an
operator if it is complete and consistent - 1. p must be consistent (no contradiction)
- 2. Every effect of o must be asserted by at least
one step of p - 3. Every precondition of the steps in p must be
achieved by a step in p or be one of the
preconditions of o
7Modifying the planner
12.2 Hierarchical Decomposition
- Modification of planner POP into HD-POP
- (1) a way to decompose nonprimitive operators
- (2) the algorithm takes a plan as input, rather
than just a goal
812.2 Hierarchical Decomposition
- SELECT-NONPRIMITIVEselects a nonprimitive
- CHOOSE-DECOMPOSITIONpicks a decomposition method
- The fields of the plan are altered
- STEPS Add steps, remove Snonprimitive
- BINDINGS Add variable binding constants
- OrderingCall RESOLVE-THREATS
- Links Si c Snonprim Si c Sm a
step of method
912.3 Analysis of Hierarchical Decomposition
12.3 Analysis of Hierarchical Decomposition
- Abstract solution a plan containing abstract
operators, but consistent and complete - downward solutionif p is an abstract solution
and there is a primitive solution - upward solutionif an abstract plan is
inconsistent then no primitive sol.
1012.3 Analysis of Hierarchical Decomposition
- if a planner(nonhierarchical) has to generate
n-step plan(where b is branching factor), it
takes time O(bn) - Hierarchical planning,
- sb steps at d1
- bs2 at d2
- ?ibs2 O(bsd) (from i1 to d)
1112.3 Analysis of Hierarchical Decomposition
- The Gift of the Magic
- A poor couplehe has a gold watch, she has long
hair. - Plan b is inconsistent , but it can be into a
consistent plan - The upward solution property does not hold
12Decomposition and Sharing
12.3 Analysis of Hierarchical Decomposition
- Merge each step of the decomposition into
existing plan - Divide-and-conquer approachsolve each subproblem
and then combine it into the rest - Sharing steps while merging
- Ex) enjoy a honeymoon and raise a baby
- (1) decomposition
- get married and go on honeymoon
- get married and have a baby
- (2) merge
- share the step get married
13Decomposition and approximation
12.3 Analysis of Hierarchical Decomposition
- Hierarchical decomposition
- nonprimitive operator gt primitives
- Hierarchical planning(approximation hierarchy,
abstraction hierarchy) - It takes an operator and partitions its
precondition according to their criticality
levelOp(ACTIONBuy(x), EFFECT Have(x) ?
?Have(Money), PRECOND1Sells(store,x) ?
2At(store) ?
3Have(Money))
1412.4 More Expressive Operator Description
12.4 More Expressive Operator Description
- Conditional effects
- ex) block world in section 11.8
- Two operators were needed
- Op(ACTIONMove(b,x,y), PRECOND On(b,x) ?
Clear(b) ? Clear(y), EFFECTOn(b,y) ? Clear(x) ?
?On(b,x) ? ?Clear(y)) - Op(ACTIONMoveToTable(b,x), PRECOND On(b,x) ?
Clear(b), EFFECTOn(b,Table) ? Clear(x) ?
?On(b,x)) - initial situationOn(A,B)goal clear(B)
1512.4 More Expressive Operator Description
- Move A to the table or to somewhere else?
premature commitment in Move(b,x,y) - To eliminate it, we include conditional
effecteffect when condition Q when
POp(ACTIONMove(b,x,y), PRECOND On(b,x) ?
Clear(b) ? ?Clear(y), EFFECTOn(b,y) ?
Clear(x) ? ?On(b,x) ? ?Clear(y) when y?Table)
16Universal quantification
12.4 More Expressive Operator Description
- ex) block world
- clear(b)?x Block(x) ? ?On(x,b)
- ex) shopping problem
- Carry(bag, x, y) (effect) all objects that are
in the bag are at y and are no longer at
x.Op(ACTIONCarry(bag,x,y),
PRECONDBag(bag) ? At(bag,x),
EFFECTAt(bag,y) ? ?At(bag,x) ? ?I Item(i) ?
(At(i,y) ? ?At(y) when In(I,bag))