Title: Practical Planning: Scheduling and Hierarchical Task Networks
1Practical PlanningScheduling and Hierarchical
Task Networks
CS 63
Adapted from slides by Tim Finin and Marie
desJardins.
2Outline
- Intelligent scheduling
- Hierarchical task network (HTN) planning
- Increasing expressivity
3Real-world planning domains
- Real-world domains are complex and dont satisfy
the assumptions of STRIPS or partial-order
planning methods - Some of the characteristics we may need to deal
with - Modeling and reasoning about resources
- Representing and reasoning about time
- Planning at different levels of abstractions
- Conditional outcomes of actions
- Uncertain outcomes of actions
- Exogenous events
- Incremental plan development
- Dynamic real-time replanning
a.k.a. scheduling!
4Planning vs. scheduling
- Planning given one or more goals, generate a
sequence of actions to achieve the goal(s) - Scheduling given a set of actions and
constraints, allocate resources and assign times
to the actions so that no constraints are
violated - Traditionally, planning is done with specialized
logical reasoning methods - Traditionally, scheduling is done with constraint
satisfaction, linear programming, or OR methods - However, planning and scheduling are closely
interrelated and cant always be separated
5Hierarchical decomposition
- Hierarchical decomposition, or hierarchical task
network (HTN) planning, uses abstract operators
to incrementally decompose a planning problem
from a high-level goal statement to a primitive
plan network - Primitive operators represent actions that are
executable, and can appear in the final plan - Non-primitive operators represent goals
(equivalently, abstract actions) that require
further decomposition (or operationalization) to
be executed - There is no right set of primitive actions One
agents goals are another agents actions!
6HTN operator Example
- OPERATOR decompose
- PURPOSE Construction
- CONSTRAINTS
- Length (Frame) lt Length (Foundation),
- Strength (Foundation) gt Wt(Frame) Wt(Roof)
- Wt(Walls) Wt(Interior) Wt(Contents)
- PLOT Build (Foundation)
- Build (Frame)
- PARALLEL
- Build (Roof)
- Build (Walls)
- END PARALLEL
- Build (Interior)
7HTN planning example
8SIPE-2
- SIPE-2 is an HTN planner with many advanced
features - Plan critics
- Resource reasoning
- Constraint reasoning (complex numerical or
symbolic variable and state constraints) - Interleaved planning and execution
- Interactive plan development
- Sophisticated truth criterion
- Conditional effects
- Parallel interactions in partially ordered plans
- Replanning if failures occur during execution
9SIPE-2
Image from http//www.ai.sri.com/sipe/architectu
re.html
10Blocksworld in SIPE-2
Excerpt from SIPE-2 Blocksworld Definition
Sussman Anomaly
- some colored blocks for other problems
- (ON R1 B1)
- (ON B1 TABLE)
- (ON B2 TABLE)
- (ON R2 TABLE)
- true in all problems
- (CLEAR TABLE)
- END PREDICATES
- STOP
- OPERATOR PUTON1
- ARGUMENTS BLOCK1, OBJECT1 IS NOT BLOCK1
- PURPOSE (ON BLOCK1 OBJECT1)
- PLOT
- PARALLEL
- BRANCH 1
Excerpt taken from http//www.ai.sri.com/sipe/blo
cks-sipe.txt Image taken from http//www.ai.sri.co
m/sipe/sussman-derivation.html
11HTN operator representation
- Russell Norvig explicitly represent causal
links these can also be computed dynamically by
using a model of preconditions and effects (this
is what SIPE-2 does) - Dynamically computing causal links means that
actions from one operator can safely be
interleaved with other operators, and subactions
can safely be removed or replaced during plan
repair - Russell Norvigs representation only includes
variable bindings, but more generally we can
introduce a wide array of variable constraints
12Truth criterion
- Determining whether a formula is true at a
particular point in a partially ordered plan is,
in the general case, NP-hard - Intuition there are exponentially many ways to
linearize a partially ordered plan - In the worst case, if there are N actions
unordered with respect to each other, there are
N! linearizations - Ensuring soundness of the truth criterion
requires checking the formula under all possible
linearizations - Use heuristic methods instead to make planning
feasible - Check later to be sure no constraints have been
violated
13Truth criterion in SIPE-2
- Heuristic prove that there is one possible
ordering of the actions that makes the formula
true but dont insert ordering links to enforce
that order - Such a proof is efficient
- Suppose you have an action A1 with a precondition
P - Find an action A2 that achieves P (A2 could be
initial world state) - Make sure there is no action necessarily between
A2 and A1 that negates P - Applying this heuristic for all preconditions in
the plan can result in infeasible plans
14Increasing expressivity
- Conditional effects
- Instead of having different operators for
different conditions, use a single operator with
conditional effects - Move (block1, from, to) and MoveToTable (block1,
from) collapse into one Move (block1, from, to) - Op(ACTION Move(block1, from, to),PRECOND On
(block1, from) Clear (block1) Clear
(to)EFFECT On (block1, to) Clear (from)
On(block1, from) Clear(to) when to?Table - Theres a problem with this operator can you
spot what it is? - Negated and disjunctive goals
- Universally quantified preconditions and effects
15Reasoning about resources
- Introduce numeric variables that can be used as
measures - These variables represent resource quantities,
and change over the course of the plan - Certain actions may produce (increase the
quantity of) resources - Other actions may consume (decrease the quantity
of) resources - More generally, may want different types of
resources - Continuous vs. discrete
- Sharable vs. nonsharable
- Reusable vs. consumable vs. self-replenishing
16Other real-world planning issues
- Conditional planning
- Partial observability
- Information gathering actions
- Execution monitoring and replanning
- Continuous planning
- Multi-agent (cooperative or adversarial) planning
17SATPlan
18SATPlan
- Formulate the planning problem as a CSP
- Assume that the plan has k actions
- Create a binary variable for each possible action
a - Action(a,i) (TRUE if action a is used at step i)
- Create variables for each proposition that can
hold at different points in time - Proposition(p,i) (TRUE if proposition p holds at
step i)
19Constraints
- Only one action can be executed at each time step
(XOR constraints) - Constraints describing effects of actions
- Persistence if an action does not change a
proposition p, then ps value remains unchanged - A proposition is true at step i only if some
action (possibly a maintain action) made it true - Constraints for initial state and goal state
20Now apply our favorite CSP solver!
21 Planning summary
- Planning representations
- Situation calculus
- STRIPS representation Preconditions and effects
- Planning approaches
- State-space search (STRIPS, forward chaining, .)
- Plan-space search (partial-order planning, HTN,
) - Constraint-based search (GraphPlan, SATplan, )
- Search strategies
- Forward planning
- Goal regression
- Backward planning
- Least-commitment
- Nonlinear planning
22Applications of Planning
- Military operations
- Autonomous space operations
- Construction tasks
- Machining tasks
- Mechanical assembly
- Design of experiments in genetics
- Command sequences for satellite
Most applied systems use extended representation
languages, nonlinear planning techniques, and
domain-specificheuristics
23Oil-Spill Response in SIPE-2
Image taken from http//www.ai.sri.com/sipe/oil.h
tml