# Search vs. planning Situation calculus STRIPS operators

• View
19

0

Embed Size (px)

DESCRIPTION

L11. Planning Agents and STRIPS. Search vs. planning Situation calculus STRIPS operators. Search in problem solving. a b c. Problem solution: A path through the state space tree State space search: Search is a traversal of the tree until the goals is reached. - PowerPoint PPT Presentation

Transcript

PowerPoint Presentation

8Reify the actions: denote an action by a symbolactions are functionsmove(B,A,Fl): move block B from block A to Flmove (x,y,z) - action schemado: A function constant, do denotes a function that maps actions and states into states

Express the effects of actions.Example: (on, move) (expresses the effect of move on On)positive effect axiom:

actionstateRepresenting actions

2Search in problem solving

Problem solution: A path through the state space tree State space search: Search is a traversal of the tree until the goals is reached. State transitions is performed by operatorsa b cabc3Search in problem solvingStandard search algorithms seems to fail since the goal test is inadequate.Difficulty using standard search algorithms

What is finish?5Search in problem 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.Problem solving vs. planning6Search in problem solving 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.Advantages of Planning Systems7The Situation CalculusA goal can be described by a wff: x On(x, B)if we want to have a block on BPlanning: 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 argumentsThe 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)

Wff - well formed formula9Effect axioms for (clear, move)

figure 21precondition are satisfied withB/x, A/y, S0/s, F1/zwhat was true in S0 remains truemove(x, y, z)matching?STRIPS: describing goals and stateSTRIPS: 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:

On(B,A)On(A,C)On(C,F1)Clear(B)Clear(Fl)The formula describes a set of world statesPlanning search for a formula satisfying a goal descriptionOn(A, C)On(C, Fl)On(B, Fl)Clear(A)Clear(B)

A STRIPS planning exampleA STRIPS operator has 3 parts:A set, PC - preconditionsA set D - the delete listA set A - the add listUsually 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.STRIPS Description of Operators

Example: The move operator

Example1: The move operatorS0GP:On(x,y)Clear(x)Clear(z)f: move(x,y, z) add: On(x,z), Clear(y)del: On(x,y), Clear(z)x/B, y/A, z/Flf(P):On(x,z)Clear(x)Clear(y)S0->Px/B, y/A, z/Flf(P)->G

Example1: The move operatorS0GP:On(x,y)Clear(x)Clear(z)f: move(x,y, z) add: On(x,z), Clear(y)del: On(x,y), Clear(z)x/B, y/A, z/Flf(P):On(x,z)Clear(x)Clear(y)S0->Px/B, y/A, z/Flf(P)->GClear(F2)+ABCS0->G0S0->G1pre: On(B, A) Clear(B) Clear(Fl)G1->S1Move(B, A Fl)S1->G0S0: On(B,A) On(A,C) On(C,F1) Clear(B) Clear(Fl)

G0: On(A, C) On(C, Fl) On(B, Fl) Clear(A) Clear(B)Tree representation