CMSC 471 Practical Planning: Scheduling and Hierarchical Task Networks Chapter 12.1-12.2 Adapted from slides by Tim Finin and Marie desJardins.

Download Report

Transcript CMSC 471 Practical Planning: Scheduling and Hierarchical Task Networks Chapter 12.1-12.2 Adapted from slides by Tim Finin and Marie desJardins.

CMSC 471
Practical Planning:
Scheduling and Hierarchical
Task Networks
Chapter 12.1-12.2
Adapted from slides by
Tim Finin and
Marie desJardins.
1
Outline
• Intelligent scheduling
• Hierarchical task network (HTN) planning
• Increasing expressivity
2
Real-world planning domains
• Real-world domains are complex and don’t 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!
3
Planning 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 can’t always be separated
4
Hierarchical 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 agent’s
goals are another agent’s actions!
5
HTN operator: Example
OPERATOR decompose
PURPOSE: Construction
CONSTRAINTS:
Length (Frame) <= Length (Foundation),
Strength (Foundation) > Wt(Frame) + Wt(Roof)
+ Wt(Walls) + Wt(Interior) + Wt(Contents)
PLOT: Build (Foundation)
Build (Frame)
PARALLEL
Build (Roof)
Build (Walls)
END PARALLEL
Build (Interior)
6
HTN planning: example
7
SIPE-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
8
SIPE-2
Image from: http://www.ai.sri.com/~sipe/architecture.html
9
Blocksworld 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:
GOALS: (CLEAR OBJECT1)
BRANCH 2:
GOALS: (CLEAR BLOCK1)
END PARALLEL
PROCESS
ACTION: PUTON;
ARGUMENTS: BLOCK1,OBJECT1
RESOURCES: BLOCK1
EFFECTS: (ON BLOCK1 OBJECT1)
END PLOT
END OPERATOR
Excerpt taken from http://www.ai.sri.com/~sipe/blocks-sipe.txt
Image taken from http://www.ai.sri.com/~sipe/sussman-derivation.html
10
HTN 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 & Norvig’s representation only includes variable
bindings, but more generally we can introduce a wide array
of variable constraints
11
Truth 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
12
Truth criterion in SIPE-2
• Heuristic: prove that there is one possible ordering of the
actions that makes the formula true – but don’t 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
13
Increasing 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
• There’s a problem with this operator: can you spot what it is?
• Negated and disjunctive goals
• Universally quantified preconditions and effects
14
Reasoning 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
15
Other real-world planning issues
•
•
•
•
•
•
Conditional planning
Partial observability
Information gathering actions
Execution monitoring and replanning
Continuous planning
Multi-agent (cooperative or adversarial) planning
16
SATPlan
17
SATPlan
• 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)
18
Constraints
• 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 p’s 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
19
20
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
21
Applications of Planning
•
•
•
•
•
•
•
Military operations
Autonomous space operations
Most applied systems use extended
Construction tasks
representation
languages, nonlinear
Machining
tasks
planning
techniques, and domain-specific
Mechanical assembly
Design of experimentsheuristics
in genetics
Command sequences for satellite
22
Oil-Spill Response in SIPE-2
Image taken from http://www.ai.sri.com/~sipe/oil.html
23