L11.ppt

•Search vs. planning
• Situation calculus
• STRIPS operators
1
Search in problem solving
a
b
• Problem solution:
c
A path through the state space tree
abc
• State space search:
Search is a traversal of the tree
until the goals is reached.
• State transitions is performed
by operators
2
DifficultySearch
using standard
in problem
search
solving
algorithms
Standard search algorithms seems to fail since the
goal test is inadequate.
What is
“finish”?
3
Planning
Search
problem
in problem
in situation
solving
calculus
Consider the same task get milk, bananas, and a cordless drill
A planning problem is represented in situation calculus by logical
sentences that describe the three main parts of a problem.
• Initial state:
At(home, S0)  Have(Milk, S0)  Have(Banana, S0)  Have(Drill, S0)
• Goal state:
 s At(home, s)  Have(Milk, s)  Have(Bananas, s)  Have(Drill, s)
• Operators:
a, s Have(Milk, Result (a,s)) [ (a=Buy(Milk)) At(Supermarket, s)
 (Have(Milk, s) a Drop(Milk) )]
• Plan:
p = [Go(Supermarket), Buy(Milk), Buy(Bananas), Go(HWS), …]
4
Problem
Search in
solving
problem
vs. planning
solving
• Representation of states
PS: Direct assignment of a symbol to each state
PL: Logic sentences
• Representation of goals
PS: A goal state symbol
PL: Sentences that describe objective
• Representation of actions
PS: Operators that transform one state symbol into another
PL: Addition/deletion of logic sentences describing world state
• Representation of plans
PS: Path through state space
PL: Ordered or partially-ordered sequence of actions.
5
Advantages
Search inofproblem
Planning
solving
Systems
• Uniform language for describing states, goals, actions,
and their effects.
• Ability to add actions to a plan whenever they are needed,
not just in an incremental sequence from some initial state.
• Ability to capture the fact that most parts of the world are
independent of most other parts.
• It performs better for complex worlds over standard search
algorithm since searching space becomes huge when there
are many initial states and operators in standard search
algorithms.
6
The Situation Calculus
Wff - well formed formula




A goal can be described by a wff:  x On(x, B)
if we want to have a block on B
Planning: finding a set of actions to achieve a goal wff.
Situation Calculus (McCarthy, Hayes, 1969, Green 1969)
– A Predicate Calculus formalization of states, actions, and their effects.
– So state in figure can be described by:
On(B, A)  On(A, C)  On(A, Fl)  Clear(B)

we reify the state and include them as arguments
The atoms denotes relations over states.
On(B, A, S0)  On(A, C, S0)  On(C, Fl, S0)  Clear(B, S0)

We can also have.
x, y, s On(x, y, s)  (y = Fl)   Clear(y, s)
s Clear(Fl, s)
7
Representing actions




Reify the actions: denote an action by a symbol
– actions are functions
move(B,A,Fl): move block B from block A to Fl
move (x,y,z) - action schema
do: A function constant, do denotes a function that maps actions and
states into states
do( ,  )   1
action

state
Express the effects of actions.
– Example: (on, move) (expresses the effect of move on On)
– positive effect axiom:
[On ( x, y, s )  Clear ( x, s )  Clear ( z , s )  ( x  z )
 On ( x, z , do(move( x, y, z ), s ))]
[On ( x, y, s )  Clear ( x, s )  Clear ( z , s )  ( x  z )
 On ( x, y, do(move( x, y, z ), s ))]
8
Effect axioms for (clear, move)
move(x, y, z)
matching?
precondition are
satisfied with
B/x, A/y, S0/s, F1/z
what was true in
S0 remains true
9
STRIPS: describing goals and state
STRIPS: STanford Research Institute Planning System
Basic approach in GPS (general Problem Solver):
• Find a “difference” (Something in G that is not provable in S0)
• Find a relevant operator f for reducing the difference
• Achieve precondition of f; apply f; from resultant state, achieve G.
STRIPS planning
• STRIPS uses logical formulas to represent the states
S0, G, P, etc:
• Description of operator f:
A STRIPS planning example







On(B,A)
On(A,C)
On(C,F1)
Clear(B)
Clear(Fl)
The formula describes a set of world states
Planning search for a formula satisfying a goal description
•
•
•
•
•
On(A, C)
On(C, Fl)
On(B, Fl)
Clear(A)
Clear(B)
STRIPS Description of Operators



A STRIPS operator has 3 parts:
– A set, PC - preconditions
– A set D - the delete list
– A set A - the add list
Usually described by Schema: Move(x,y,z)
– PC: On(x,y) and On(Clear(x) and Clear(z)
– D: Clear(z) , On(x,y)
– A: On(x,z), Clear(y), Clear(F1)
A state S1 is created applying operator O by adding A and
deleting D from S1.
Example: The move operator
Example1: The move operator
G
S0
S0->P


f(P)->G


x/B, y/A, z/Fl
x/B, y/A, z/Fl

P:

On(x,y)
f: move(x,y, z)
Clear(x)
add: On(x,z), Clear(y)
Clear(z)
del: On(x,y), Clear(z)
On(x,z)
f(P)
:
Clear(x)
Clear(y)
Example1: The move operator
A
B
C
+
Clear(F2)
G
S0
S0->P


f(P)->G


x/B, y/A, z/Fl
x/B, y/A, z/Fl

P:

On(x,y)
f: move(x,y, z)
Clear(x)
add: On(x,z), Clear(y)
Clear(z)
del: On(x,y), Clear(z)
On(x,z)
f(P)
:
Clear(x)
Clear(y)
Tree representation
S0: On(B,A)
G0: On(A, C)
On(A,C)
On(C, Fl)
On(C,F1)
S0->G0
On(B, Fl)
Clear(B)
Clear(A)
Clear(Fl)
Clear(B)
S0->G1
pre: On(B, A)
Clear(B)
Clear(Fl)
G1->S1
Move(B, A Fl)
S1->G0