Russell and Norvig, Chapter 12: Practical Planning 12.1 Practical Planners - OPTIMUM-AIV: spacecraft assembly, integration and verification - replanning after execution fails to meet expectations - extensions to Strips operator representation - hierarchical plans - complex conditions - universal quantification - conditional effects - time: projects have deadlines, actions have duration - resources: budget and manpower - uses Open PLANning (O-PLAN) architecture - similar to POP - job shop scheduling - various products, machines and processes - scheduling for space missions - e.g., processing hubble requests - SPIKE: long-term scheduling by week - SPSS: short-term planning - similar to the job-shop scheduling problem - buildings, aircraft carriers and beer factories - System for Interactive Planning and Execution monitoring (SIPE) - deductive rules over states - object/constraint inheritance hierarchy 12.2 Hierarchical Decomposition - consider action shoot vs the low-level operations for a robot to do so - decompose shoot as grab arrow, grab bow, position arrow, draw bow, aim, release ; each of which can be further decomposed - extending Strips language - operators are primitive or non-primitive - non-primitive operators contain decomposition plans - plan must be consistent - no ordering or variable inconsistencies - every effect of operator must be asserted by at least one step of plan - every precondition of the steps in plan must be asserted by a step in the plan or be a precondition of the operator - hierarchical plans allow a way to store previously computed plans - hierarchical decomposition planner (HD-POP) [Fig12.2, p374] - loops until solution, each time selecting a subgoal and a decomposition - for decomposition, modify bindings, orderings and links 12.3 Analysis of Hierarchical Decomposition - hierarchical planning can be better than non-hierarchical planning if the following properties hold - downward solution property: if p is an abstract solution, then there is a primitive solution of which p is an abstract - can prune other abstract solutions - upward solution property: if an abstract plan is inconsistent, then there is no primitive solution of which it is an abstraction - can prune all descendants of any inconsistent abstract plan - otherwise, hier. planning has same worst-case performance as nonhier. - decomposition and sharing - two decompositions of two steps of an abstract plan may need to share steps - when adding operators, consider sharing as an alternative choice point - or, go ahead and merge operators, but let a critic detect the need to share - decomposition vs approximation - an operator can be represented by an approximation hierarchy in which preconditions are assigned a criticality level - planning can occur at a high criticality level (low value) first, then at less critical levels - motivation: solve most highly constrained preconditions first 12.4 More Expressive Operator Descriptions - conditional effects - e.g., did shooting the arrow kill the wumpus? - effects now look like "e [when c]" - consider c as a subgoal only when e is protected by a causal link - given a causal link Si --c--> Sj and an effect ((not c') when p), ensure p does not hold when c unifies with c' - this is called confrontation [Fig12.7, p382] - negated and disjunctive goals - prove (not p) using an operator with (not p) effect, or p not true in initial state - backtracking handles which of (p or q) is used in a precondition - could split operator into two, put forces committment - disjunctive effects harder to handle, see Chapter 13 - environment becomes non-deterministic - universal quantification - operator: CarryBag - preconditions: clear(b) becomes forall(X) block(X) -> not on(X,b) - effects: forall(I) item(I) -> (at(I,Y) and not at(I,X)) when in(I,bag) - this is really enumeration, i.e., static universe - forall goals can be expanded to long conjunction - forall effects can be used as needed (for threats or links) - Partial-Order Planning with Disjunction, Universal Quantification, Negation and Conditional effects (POP-DUNC) [Fig12.8, p385] 12.5 Resource Constraints - use measures: gallons(5), $(1.50), etc - declared up front with constraints (e.g., legal ranges) - conditions and effects allow inequality, arithmetic and assignment - time can be treated as a resource