notes 9: planning; strips planning systems

60
Notes 9: Planning; Strips Planning Systems ICS 270a Spring 2003

Upload: duncan

Post on 07-Jan-2016

30 views

Category:

Documents


3 download

DESCRIPTION

Notes 9: Planning; Strips Planning Systems. ICS 270a Spring 2003. Outline: Planning. Situation Calculus STRIPS Planning Readings: Nillson’s Chapters 21-22. The Situation Calculus. A goal can be described by a wff: if we want to have a block on B - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Notes 9:  Planning; Strips Planning Systems

Notes 9: Planning;Strips Planning Systems

ICS 270a Spring 2003

Page 2: Notes 9:  Planning; Strips Planning Systems

Outline: Planning

Situation Calculus

STRIPS Planning

Readings: Nillson’s Chapters 21-22

Page 3: Notes 9:  Planning; Strips Planning Systems

The Situation Calculus A goal can be described by a wff: 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:

we reify the state and include them as arguments

),()( BxOnx

)()(),(),(),( 11 FclearBClearFCOnCAOnABOn

Page 4: Notes 9:  Planning; Strips Planning Systems

The Situation Calculus (continued)

The atoms denotes relations over states called fluents.

We can also have.

Knowledge about state and actions = predicate calculus theory.

Inferene can be used to answer: Is there a state satisfying a goal? How can the present state be transformed into that state by

actions? The answer is a plan

)],()(),,()[,,( 1 syClearFysyxOnsyx

),(),,(),,(),,( 00100 SBclearSFCOSCAOSABO nnn

),()( 1 sFClears

Page 5: Notes 9:  Planning; Strips Planning Systems

Representing Actions

Reify the actions: denote an action by a symbol actions are functions

move(B,A,F1): move block A from block B to F1 move (x,y,z) - action schema do: A function constant, do denotes a function that

maps actions and states into states 1),( doaction

state

Page 6: Notes 9:  Planning; Strips Planning Systems

Representing Actions (continued)

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

))]),,,((,,(

)(),(),(),,([

szyxmovedozxOn

zxszClearsxClearsyxOn

))]),,,((,,(

)(),(),(),,([

:

szyxmovedoyxOn

zxszClearsxClearsyxOn

negative

Positive: describes how action makes a fluent true negative : describes how action makes a fluent false antecedent: pre-condition for actions consequent: how the fluent is changed

Page 7: Notes 9:  Planning; Strips Planning Systems

Representing Actions (continued)

Effect axioms for (clear, move): (move(x,y,z))

precondition are satisfied with B/x, A/y, S0/s, F1/z

what was true in S0 remains true

.

Page 8: Notes 9:  Planning; Strips Planning Systems

Frame Axioms

Not everything true can be inferredOn(C,F1) remains true but cannot be inferred

Actions have local effect We need frame axioms for each action and each fluent

that does not change as a result of the action example: frame axioms for (move, on) If a block is on another block and move is not relevant, it

will stay the same. Positive:

negative

))),,,((,,()](),,([ szvumovedoyxOnuxsyxOn

)),,,((,,()])()[(),,(( szvumovedoyxOnzyuxsyxOn

Page 9: Notes 9:  Planning; Strips Planning Systems

Frame Axioms (continued)

Frame axioms for (move, clear):

The frame problem: need axioms for every pair o {action, fluent}!!!

There are languages that embede some assumption on frame axioms that can be derived automatically:

Default logic Negation as failure Nonmonotonic reasoning Minimizing change

))),,,((,()(),( szyxmovedouClearzusuClear

))),,,((,()(),( szyxmovedouClearyusuClear

Page 10: Notes 9:  Planning; Strips Planning Systems

Other problems

The qualification problem: qualifying the antecedent for all possible exception. Needs to enumerate all exceptions

~heavy and ~glued and ~armbroken can-move ~bird and ~cast-in-concrete and ~dead… flies

Solutions: default logics, nonmonotonic logics The ramification problem:

If a robot carries a package, the package will be where the robot is. But what about the frame axiom, when can we infer about the effect of the actions and when we cannot.

Page 11: Notes 9:  Planning; Strips Planning Systems

Generating plans

To generate a plan to achieve a goal, we attempt to prove

Example: Get block B on the floor from S0. Prove: By resolution refutation: add forall s not On(B,F1,s) (page 370 top)

)(ss

),,(. 1 sFBOns

),,( 1 sFBOns

Page 12: Notes 9:  Planning; Strips Planning Systems

Alternative to frame problemSTRIPS Planning systems

Page 13: Notes 9:  Planning; Strips Planning Systems

STRIPS: describing goals and state

On(B,A) On(A,C) On(C,F1) Clear(B) Clear(F1) The formula describes a set of world states Planning search for a formula satisfying a goal description State descriptions: conjunctions of ground literals. Also universal formulas: On(x,y) (y=F1) or ~Clear(y) Goal wff: Given a goal wff, the search algorithm looks for a sequence of

actionsThat transform into a state description that entails the goal wff.

)()(. yfxgx

Page 14: Notes 9:  Planning; Strips Planning Systems

STRIPS Description of Operators

A STRIPS operator has 3 parts: A set, PC (preconditions) of ground literals A set D, of ground literals called the delete list A set A, of ground literals called add list

Usually described by Schema: Move(x,y,z) PC: On(x,y) and (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.

Page 15: Notes 9:  Planning; Strips Planning Systems

Example: the move operator

Page 16: Notes 9:  Planning; Strips Planning Systems

Forward Search Methods:can use A* with some h and g

Page 17: Notes 9:  Planning; Strips Planning Systems

Recursive STRIPS

Forward search with islands: Achieve one subgoal at a time. Achieve a new conjunct

without ever violating already achieved conjuncts or maybe temporarily violating previous subgoals.

General Problem Solver (GPS) by Newell Shaw and Simon (1959) uses Means-Ends analysis.

Each subgoal is achieved via a matched rule, then its preconditions are subgoals and so on. This leads to a planner called STRIPS(gamma) when gamma is a goal formula.

Page 18: Notes 9:  Planning; Strips Planning Systems

STRIPS algorithm

Given a goal stack: 1. Consider the top goal 2. Find a sequence of actions satisfying the goal from

the current state and apply them. 3. The next goal is considered from the new state. 4. Termination: stack empty 5. Check goals again.

Page 19: Notes 9:  Planning; Strips Planning Systems

Plan with Run-time conditionals

We can allow disjunction in state description: EX: On(B,A) V On(B,C)

For some operators may be applicable just with one of these disjuncts that can be determined during run-time.

Run-time conditionals: If On(B,A) apply oper1 If On(B,C) apply oper2.

Plan is a tree whose branching nodes are states with unknown information.

Page 20: Notes 9:  Planning; Strips Planning Systems

The Sussman annomaly

RSTRIPS cannot achieve shortest plan Two possible orderings of subgoals:

On(A,B) and On(B,C) or On(B,C) and On(A,B)

Page 21: Notes 9:  Planning; Strips Planning Systems

Backward search methods;

Regressing a ground operator

Page 22: Notes 9:  Planning; Strips Planning Systems

Regressing an ungrounded operator

Page 23: Notes 9:  Planning; Strips Planning Systems

Example of Backward Search

Page 24: Notes 9:  Planning; Strips Planning Systems

The Sussman annomaly

RSTRIPS cannot achieve shortest plan Two possible orderings of subgoals:

On(A,B) and On(B,C) or On(B,C) and On(A,B)

Page 25: Notes 9:  Planning; Strips Planning Systems

Partial order planning

Least commitment planning Nonlinear planning Search in the space of partial plans A state is a partial incomplete partially ordered plan Operators transform plans to other plans by:

Adding steps Reordering Grounding variables

SNLP: Systematic Nonlinear Planning (McAllester and Rosenblitt 1991)

NONLIN (Tate 1977)

Page 26: Notes 9:  Planning; Strips Planning Systems

State-space vs Plan-space search

Page 27: Notes 9:  Planning; Strips Planning Systems

Plan-Transforming Operators

Page 28: Notes 9:  Planning; Strips Planning Systems

STRIPS RULES Graph structure Oval nodes are operators Boxed: preconditions Boxed: effects

Page 29: Notes 9:  Planning; Strips Planning Systems

Goal and Initials states are rules Example: Sussman Initial plan

Page 30: Notes 9:  Planning; Strips Planning Systems

The next Plan structure A possible transformation: add a rule to achieve one of

the conjuncts: On(A,B)

Page 31: Notes 9:  Planning; Strips Planning Systems

A subsequent Plan structure Attempt to Clear(A) By: move(u,A,v) Then instantiate u to C and V to F1 and add Correspondence links. Preconditions of Moves are established but: Order constraint b < a

Page 32: Notes 9:  Planning; Strips Planning Systems

Achieving next subgoal: On(B,C) Add move(B,z,C) Instantiate z to F1

Page 33: Notes 9:  Planning; Strips Planning Systems

Add Threat arcs An arc from an operator to precondition If the operator can delete a precondition Complete plan when We find a consistent set Of ordering Constraints that Discharge the threats We have b<c<a

Page 34: Notes 9:  Planning; Strips Planning Systems

Heirarchical Planning

ABSTRIPS (Sacerdoti 1974) Preconditions, conjuncts Have criticality numbers Use high treshold first. Plan1: goto(r1,d1,12),goto(r2,d2,r3) Plan2: Achieve preconditions of goto1, Then apply, then achieve preconditions Of goto2:goto1,ooengto2

Page 35: Notes 9:  Planning; Strips Planning Systems

Learning Plans Unstacking two

blocks Remember a macro

plan

A triangle table for bock unstacking:

Columns: operators in order of executions

Cell to the left are preconditions, below are add lists

Cell(I,j): literals added by oper(I) and needed by oper(j+1)

Page 36: Notes 9:  Planning; Strips Planning Systems

A triangle table schema for block unstacking

Page 37: Notes 9:  Planning; Strips Planning Systems

Strips vs ADL language

Page 38: Notes 9:  Planning; Strips Planning Systems

STRIPS formulation for transportation problem

Page 39: Notes 9:  Planning; Strips Planning Systems

STRIP for spare tire problem

Page 40: Notes 9:  Planning; Strips Planning Systems

The block world

Page 41: Notes 9:  Planning; Strips Planning Systems

Planning forward and backwords

Page 42: Notes 9:  Planning; Strips Planning Systems

A partial order plan for putting shoes and sock

Page 43: Notes 9:  Planning; Strips Planning Systems

Solving the flat tire problem by partial planning

Page 44: Notes 9:  Planning; Strips Planning Systems

The initial partial plan for Spare tire

From initial plan, pick an open precond (At(Spare,Axle)) and choose an applicable action (PutOn))

Pick precond At(Spare,ground) and choose an applicable action Remove(Spare,trunk)

Page 45: Notes 9:  Planning; Strips Planning Systems

Spare-tire, continued

Pick precond ~At(Flat,Axle) and choose Leaveovernight action.

Because it has ~At(Spare,ground) it conflicts with “Remove”,

We add athreat constraint

Page 46: Notes 9:  Planning; Strips Planning Systems

Flate-tire, continued

Removeovernight doesn’t work so: Consider ~At(Flat,Axle) and choose Remove(Flat,axle) Pick At(Spare,Trunk) precond, and Start to achieve it.

Page 47: Notes 9:  Planning; Strips Planning Systems

Planning Graphs

A planning graph consists of a sequence of levels that correspond to time-steps in the plan

Level 0 is the initial state. Each level contains a set of literals and a set of actions Literals are those that could be true at the time step. Actions are those that their preconditions could be

satisfied at the time step. Works only for propositional planning.

Page 48: Notes 9:  Planning; Strips Planning Systems

Example:Have cake and eat it too

Page 49: Notes 9:  Planning; Strips Planning Systems

The Planning graphs for “have cake”,

Persistence actions: Represent “inactions” by boxes: frame axiom Mutual exclusions (mutex) are represented between literals and

actions. S1 represents multiple states Continue until two levels are identical. The graph levels off. The graph records the impossibility of certain choices using mutex

links. Complexity of graph generation: polynomial in number of literals.

Page 50: Notes 9:  Planning; Strips Planning Systems

Defining Mutex relations

A mutex relation holds between two actions on the same level iff any of the following holds:

Inconsistency effect:one action negates the effect of another. Example “eat cake and presistence of have cake”

Interference: One of the effect of one action is the negation of the precondition of the other. Example: eat cake and persistence of Have cake

Competing needs: one of the preconditions of one action is mutually exclusive with a precondition of another. Example: Bake(cake) and Eat(Cake).

A mutex relation holds between 2 literals at the same level iff one is the negation of the other or if each possible pair of actions that can achieve the 2 literals is mutually exclusive.

Page 51: Notes 9:  Planning; Strips Planning Systems

Planning graphs for heuristic estimation

Estimate the cost of achieving a goal by the leve in the planning graph where it appears.

To estimate the cost of a conjunction of goals use one of the following:

Max-level: take the maximum level of any goal (admissible) Sum-cost: Take the sum of levels (inadmissible) Set-level: find the level where they all appear without Mutex

Graph plans are relaxation of the problem. Rrepresenting more than pair-wise mutex is not cost-effective

Page 52: Notes 9:  Planning; Strips Planning Systems

The graphplan algorithm

Page 53: Notes 9:  Planning; Strips Planning Systems

Planning graph for spare tire a S2 S2 has all goals and no mutex so we can try to extract

solutions Use either CSP algorithm with actions as variables Or search backwords

Page 54: Notes 9:  Planning; Strips Planning Systems

Search planning-graph backwords with heuristics

How to choose an action during backwords searc: Use greedy algorithm based on the level cost of the

literals. For any set of goals: 1. Pick first the literal with the highest level cost. 2. To achieve the literal, choose the action with the

easiest preconditions first (based on sum or max level of precond literals).

Page 55: Notes 9:  Planning; Strips Planning Systems

Properties of planning graphs; termination

Literals increase monotonically Once a literal is in a level it will persist to the next level

Actions increase monotonically Since the precondition of an action was satified at a level

and literals persist the action’s precond will be satisfied from now on

Mutexex decrease monotonically: If two actions are mutex at level Si, they will be mutex at

all previous levels at which they both appear

Because literals increase and mutex decrease it is guaranteed that we will have a level where all goals are non-mutex

Page 56: Notes 9:  Planning; Strips Planning Systems

Planning with propositional logic

Express propositional planning as a set of propositions. Index propositions with time steps: On(A,B)_0, ON(B,C)_0 Goal conditions: the goal conjuncts at time T, T is

determined arbitrarily. Unknown propositions are not stated. Propositions known not to be true are stated negatively. Actions: a proposition for each action for each time slot. Succesor state axioms need to be expressed for each

action (like in the situation calculus but it is propositional)

Page 57: Notes 9:  Planning; Strips Planning Systems

Planning with propositional logic (continued)

We write the formula: Initial state and succesor state axioms and goal

We search for a model to the formula. Those actions that are assigned true consititute a plan.

To have a single plan we may have a mutual exclusion for all actions in the same time slot.

We can also choose to allow partial order plans and only write exclusions between actions that interfere with each other.

Planning: iteratively try to find longer and longer plans.

Page 58: Notes 9:  Planning; Strips Planning Systems

SATplan algorithm

Page 59: Notes 9:  Planning; Strips Planning Systems

Complexity of satplan

The total number of action symbols is:

|T|x|Act|x|O|^p O = number of objects, p is scope of atoms.

Number of clauses is higher. Ex: 10 time steps, 12 plans, 30 airports, the

complete action exclusion axiom has 583 million clauses.

More information is in project papers

Page 60: Notes 9:  Planning; Strips Planning Systems

Summary: Planning

Situation Calculus STRIPS Planning Forward and backward planning Partial order planning Heirarchical planning Graph plqanning Satplan Readings: Nillson’s Chapters 21-22, RN 11