sussman anomaly - analysis
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
Sussman anomaly - analysisThe 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)
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)
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.
Sussman anomaly - analysisThus 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)
Sussman anomaly - analysisAnalysing 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
Sussman anomaly - analysisNonlinear 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.
Sussman anomaly - analysisConstraint 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.
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)
STACK(A,B) STACK(B,C)ARMEMPTY 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 ().
Example (cont.)
Example (cont.)
Example (cont.)
Example (cont.)
Partial vs. Total Order Plans
Start
LeftSock
RightSock
LeftShoe
RightShoe
Finish
Start
Finish
RightSock
LeftSock
LeftShoe
RightShoe
Partial Order Plan: Total Order Plan:
Start
Finish
LeftSock
RightSock
RightShoe
LeftShoe
Start
Finish
LeftSock
RightSock
LeftShoe
RightShoe
Start
Finish
RightSock
RightShoe
LeftSock
LeftShoe
Start
Finish
RightSock
LeftSock
RightShoe
LeftShoe
Start
Finish
LeftSock
LeftShoe
RightSock
RightShoe
Example plan to buy groceries and drill
Example plan to buy groceries and drill
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
Create protected links from states where they are already true (here, the start)
Add go actions to satisfy at() preconditions of buy operators
Find protected links