STRIPS



STRIPS stands for "STanford Research Institute Problem Solver," was the planner used in Shakey, one of the first robots built using AI technology ,which is an action-centric representation ,for each action , specifies the effect of an action.
The STRIPS representation for an action consists of three lists,

  •  Pre_Cond list contains predicates which have to be true before operation.
  •   ADD list contains those predicates which will be true after operation
  •   DELETE list contain those predicates which are no longer true after operation
Predicates not included on either of these lists are assumed to be unaffected by the operation.Frame axioms are specified implicitly in STRIPS which greatly reduces amount of information stored.Let us discuss about the action lists for operations of block world problem.
 Stack (X, Y)
  Pre:        CL (Y) ,HOLD (X)
  Del:        CL (Y),  HOLD (X)
  Add:      AE , ON (X, Y)
 UnStack (X, Y)   
  Pre:        ON (X, Y) , CL (X) , AE
  Del:        ON (X, Y) , AE
  Add:      HOLD (X) , CL (Y)
  Pickup (X)
  Pre:        ONT (X) , CL (X) ,AE
  Del:        ONT (X) , AE
  Add:      HOLD (X)
  Putdown (X)
  Pre:        HOLD (X)
  Del:        HOLD (X)
  Add:      ONT (X) , AE

Consider a Block world problem ,
 
Initial  State
on(block2, block1)
clear(block2)
ontable(block3)
on(block4, block3)
on(block5, block4)
clear(block5)



Goal State
 empty
on(block3, block4)
on(block5, block1)

ont(block2)

Identify the style operators for given problem,
Unstack(block5,block4)

  Pre:        ON (block5, block4) , CL (block5) , AE
  Del:        ON (block5,block4) , AE
  Add:      HOLD (block5) , CL (block4)


Putdown(block5)

  Pre:        HOLD (block5)
  Del:        HOLD (block5)
  Add:      ONT (block5) , AE



Unstack(block4,block3)

  Pre:        ON (block4, block3) , CL (block4) , AE
  Del:        ON (block4,block3) , AE
  Add:      HOLD (block4) , CL (block3)
 

Putdown(block4)

  Pre:        HOLD (block4)
  Del:        HOLD (block4)
  Add:      ONT (block4) , AE

 

Pickup(block3)

  Pre:        ONT (block3) , CL (block3) ,AE
  Del:        ONT (block3) , AE
  Add:      HOLD (block3) 

Stack(block3,block4)

  Pre:        CL (block3) ,HOLD (block3)
  Del:        CL (block4),  HOLD (block3)
  Add:      AE , ON (block3, block4)
  

Unstack(block2,block1)

  Pre:        ON (block2, block1) , CL (block2) , AE
  Del:        ON (block2, block1) , AE
  Add:      HOLD (block2) , CL (block3)

Putdown(block2)

                   Pre:        HOLD (block2)
  Del:        HOLD (block2)
  Add:      ONT (block2) , AE

Pickup(block5)

                   Pre:        ONT (block5) , CL (block5) ,AE
  Del:        ONT (block5) , AE
  Add:      HOLD (block5)
 

Stack(block5,block1)

                                       Pre:        CL (block1) ,HOLD (block5)
  Del:        CL (block1),  HOLD (block5)
  Add:      AE , ON (block5, block1)
 
 




After completing all the operations what we found for the given problem,we had reaches the goal state.

armempty
on(block3, block4)
on(block5, block1)

ont(block2)








2 comments:

  1. Great blog. Semantic segmentationis a pixel-level labeling which identifies all the pixels in an image and segments it into its component objects for a more meaningful representation.

    ReplyDelete