Download presentation
Presentation is loading. Please wait.
Published byMaria Ball Modified over 9 years ago
1
Sussman anomaly - analysis The start state is given by: ON(C, A) ONTABLE(A) ONTABLE(B) ARMEMPTY The goal by: ON(A,B) ON(B,C) This immediately leads to two approaches as given below 1. ON(A,B) ON(B,C) ON(A,B) ON(B,C) 2. ON(B,C) ON(A,B) ON(A,B) ON(B,C)
2
Sussman anomaly - analysis Choosing path 1 and trying to get block A on block B leads to the goal stack: ON(C,A) CLEAR(C) ARMEMPTY ON(C,A) CLEAR(C) ARMEMPTY UNSTACK(C,A) ARMEMPTY CLEAR(A) ARMEMPTY PICKUP(A) CLEAR(B) HOLDING(A) STACK(A,B) ON(B,C) ON(A,B) ON(B,C)
3
Sussman anomaly - analysis This achieves block A on block B which was produced by putting block C on the table. The sequence of operators is 1.UNSTACK(C,A) 2.PUTDOWN(C) 3.PICKUP(A) 4.STACK (A,B) Working on the next goal of ON(B,C) requires block B to be cleared so that it can be stacked on block C. Unfortunately we need to unstack block A which we just did.
4
Sussman anomaly - analysis Thus the list of operators becomes 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) To get to the state that block A is not on block B two extra operations are needed: 8 1.PICKUP(A) 2.STACK(A,B)
5
Sussman anomaly - analysis Analysing this sequence we observe that Steps 4 and 5 are opposites and therefore cancel each other out, Steps 3 and 6 are opposites and therefore cancel each other out as well. So a more efficient scheme is: 1.UNSTACK(C,A) 2.PUTDOWN(C) 3.PICKUP(B) 4.STACK (B,C) 5.PICKUP(A) 6.STACK(A,B) To produce in all such cases this efficient scheme where this interaction between the goals requires more sophisticated techniques
6
Sussman anomaly - analysis Nonlinear Planning Using Constraint Posting Let us reconsider the SUSSMAN ANOMALY Problems like this require subproblems to be worked on simultaneously. Thus a nonlinear plan using heuristics such as: 1.Try to achieve ON(A,B) clearing block A putting block C on the table. 2.Achieve ON(B,C) by stacking block B on block C. 3.Complete ON(A,B) by stacking block A on block B.
7
Sussman anomaly - analysis Constraint posting has emerged as a central technique in recent planning systems (E.g. MOLGEN and TWEAK) Constraint posting builds up a plan by: suggesting operators, trying to order them, and produce bindings between variables in the operators and actual blocks. The initial plan consists of no steps and by studying the goal state ideas for the possible steps are generated. There is no order or detail at this stage.
8
Gradually more detail is introduced and constraints about the order of subsets of the steps are introduced until a completely ordered sequence is created. In this problem means-end analysis suggests two steps with end conditions ON(A,B) and ON(B,C) which indicates the operator STACK giving the layout shown below where the operator is preceded by its preconditions and followed by its post conditions: CLEAR(B) CLEAR(C) *HOLDING(A) *HOLDING(B)
9
STACK(A,B) STACK(B,C)ARMEMPTY ON(A,B) ON(B,C) CLEAR(B) CLEAR(C) HOLDING(A) HOLDING(B) There is no order at this stage. Unachieved preconditions are starred (*). Both of the HOLDING preconditions are unachieved since the arm holds nothing in the initial state. Delete postconditions are marked by ().
10
Example (cont.)
14
Partial vs. Total Order Plans Start Left Sock Right Sock Left Shoe Right Shoe Finish Start Finish Right Sock Left Sock Left Shoe Right Shoe Partial Order Plan:Total Order Plan: Start Finish Left Sock Right Sock Right Shoe Left Shoe Start Finish Left Sock Right Sock Left Shoe Right Shoe Start Finish Right Sock Right Shoe Left Sock Left Shoe Start Finish Right Sock Left Sock Right Shoe Left Shoe Start Finish Left Sock Left Shoe Right Sock Right Shoe
15
Example plan to buy groceries and drill
16
Stage one, choose preconditions of goal state and select operators that satisfy them Note, actions added to plan in quite different order than they are executed Also, note possible satisfactions for new preconditions in start state
17
Create protected links from states where they are already true (here, the start)
18
Add go actions to satisfy at() preconditions of buy operators
19
Find protected links
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.