Top Banner
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)
19

Sussman anomaly - analysis

Jan 02, 2016

Download

Documents

ina-burks

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 Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sussman anomaly - analysis

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)

Page 2: Sussman anomaly - analysis

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)

Page 3: Sussman anomaly - analysis

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.

Page 4: Sussman anomaly - analysis

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)  

Page 5: Sussman anomaly - analysis

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

Page 6: Sussman anomaly - analysis

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.  

Page 7: Sussman anomaly - analysis

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.  

Page 8: Sussman anomaly - analysis

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)

 

Page 9: Sussman anomaly - analysis

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 ().  

Page 10: Sussman anomaly - analysis

Example (cont.)

Page 11: Sussman anomaly - analysis

Example (cont.)

Page 12: Sussman anomaly - analysis

Example (cont.)

Page 13: Sussman anomaly - analysis

Example (cont.)

Page 14: Sussman anomaly - analysis

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

Page 15: Sussman anomaly - analysis

Example plan to buy groceries and drill

Page 16: Sussman anomaly - analysis

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

Page 17: Sussman anomaly - analysis

Create protected links from states where they are already true (here, the start)

Page 18: Sussman anomaly - analysis

Add go actions to satisfy at() preconditions of buy operators

Page 19: Sussman anomaly - analysis

Find protected links