Chapter 13: Planning

  • planning: action/simulation (process of computing before executing)

    (sequence of states initial --> final )

  • problem decomposition

  • problems:

  • partial states

  • success (is universe predictable?)

  • backtracking

  • plan failure

  • significance of steps toward completion of subproblems toward completion

  • knowledge of why step taken

  • goal-directed: which rule to apply?

    Uses: scheduling, graphics

    Example: blocks world - robot arm pg. 332-347

    Plan:

    Detecting a solution:

  • Detecting Deadends: (goal driven) - backtrack not too late?

  • Repairing 'Almost Correct Solutions'

  • Solving Compound Goals that May Interact

    Goal Stacks

    I)II)
    On(a,b)On(b,c)
    On(b,c)On(a,b)
    On(a,b) and On(b,c)On(a,b) and On(b,c)

    consider: multiple conjunctions ... permutations

    *each time!

    On(C,A) Operator Sequence
    Clear(C) (Plan)
    ArmEmpty
    Clear(C) and ArmEmpty and On(C,A) Unstack(C,A)
    -Unstack (C,A) PutDown(C)
    ArmEmpty PickUp(A)
    Clear(A) and ArmEmpty and OnTable(A) Stack(A,B)
    -PickUp (A) .
    Clear(B) and Holding (A) .
    -Stack (A,B) .
    On (B,C)
    On (A,B) and On(B,C) picture now
    -> world view
    On(B,C)

    On(A,B) and On(B,C)

    .

    .

    .

    ->

    On(A,B) and On(B,C)

    ->

    On(A,B)

    On(A,B) and On(B,C)

    Need: method capable of finding efficient way!

    linear - no concept of 'ease' ... which first?

    additional processing (repair): where perform operation then immediately undo

    Complete operation stack

    1. UnStack(C,A)
    2. PutDown (C)
    3. PickUp (A)
    4. Stack (A,B)
    5. UnStack(A,B)
    6. PutDown(A)
    7. PickUp(B)
    8. Stack (B,C)
    9. PickUp(A)
    10. Stack (A,B)
    Problems:

    Solution:

    do not plan sequentially to achieve compound goals (i.e., consider effects)

    nonlinear planning

    how do we do it?

    how can we implement?

    ABSTRIPS

    1) Solve problem completely considering only preconditions of high 'critical value' (expected difficulty)

    2) work on next highest

    * hierarchy of abstraction spaces (doing part ahead?)

    (e.g. ArmEmpty easy because we have PutDown(x))

    cognitive affirmation .. plan more difficult first

    NOAH (also Sacerdoti) Fikes/Nilsson 71,74,75

    Nets of Action Hierarchies

    description of description of S J

    action action

    Goal Phantom Split Join

    a goal to goals which

    be achieved should be true

    by time encountered

    (remain to be satisfied)

    Level 1 Paint the ceiling & Paint the ladder

    Level 2 Paint the ceiling

    S J

    Paint the ladder

    Get Paint Get ladder Apply paint to ceiling

    Level 3 S J

    (before criticism)

    Get Paint Apply paint to ladder

    Level 4 Get Paint Get ladder Apply paint to (after criticism to S ceiling

    resolve conflicts)

    Get Paint J Apply paint to ladder

    Critics

    each critic is a little program that makes specific observations about the proposed plan

    * Resolve Conflicts (1. construct a table listing all mentioned more than once)

    * Eliminate Redundant Preconditions

    In the following,

    Stack(x,y) - y can be table

    - includes PickUp(x)

    further research

    * backtracking

    * constraint-posting

    * opportunistic planning

    * meta-planning (reasoning about plans)

    explanation

    * adaptive planning (BART)

    Notice a communication between "experts" is needed

    The Blackboard Approach

    HEARSAY-II