CMSC 471 Practical Planning Scheduling and Hierarchical Task

  • Slides: 23
Download presentation
CMSC 471 Practical Planning: Scheduling and Hierarchical Task Networks Chapter 12. 1 -12. 2

CMSC 471 Practical Planning: Scheduling and Hierarchical Task Networks Chapter 12. 1 -12. 2 Adapted from slides by Tim Finin and Marie des. Jardins. 1

Outline • Intelligent scheduling • Hierarchical task network (HTN) planning • Increasing expressivity 2

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

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

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

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

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

HTN planning: example 7

SIPE-2 • SIPE-2 is an HTN planner with many advanced features: – Plan critics

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

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

Blocksworld in SIPE-2 Excerpt from SIPE-2 Blocksworld Definition Sussman Anomaly ; ; some colored blocks for other problems (ON R 1 B 1) (ON B 1 TABLE) (ON B 2 TABLE) (ON R 2 TABLE) ; true in all problems (CLEAR TABLE) END PREDICATES STOP OPERATOR: PUTON 1 ARGUMENTS: BLOCK 1, OBJECT 1 IS NOT BLOCK 1; PURPOSE: (ON BLOCK 1 OBJECT 1) PLOT: PARALLEL BRANCH 1: GOALS: (CLEAR OBJECT 1) BRANCH 2: GOALS: (CLEAR BLOCK 1) END PARALLEL PROCESS ACTION: PUTON; ARGUMENTS: BLOCK 1, OBJECT 1 RESOURCES: BLOCK 1 EFFECTS: (ON BLOCK 1 OBJECT 1) 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

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

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

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 A 1 with a precondition P – Find an action A 2 that achieves P (A 2 could be initial world state) – Make sure there is no action necessarily between A 2 and A 1 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,

Increasing expressivity • Conditional effects – Instead of having different operators for different conditions, use a single operator with conditional effects – Move (block 1, from, to) and Move. To. Table (block 1, from) collapse into one Move (block 1, from, to): • Op(ACTION: Move(block 1, from, to), PRECOND: On (block 1, from) ^ Clear (block 1) ^ Clear (to) EFFECT: On (block 1, to) ^ Clear (from) ^ ~On(block 1, 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 •

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

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 17

SATPlan • Formulate the planning problem as a CSP • Assume that the plan

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 • 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

20

Planning summary • Planning representations – Situation calculus – STRIPS representation: Preconditions and effects

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 (Graph. Plan, 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

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

Oil-Spill Response in SIPE-2 Image taken from http: //www. ai. sri. com/~sipe/oil. html 23