33
1 Chapter 6 Planning-Graph Techniques

Chapter 6 Planning-Graph Techniques

  • Upload
    carys

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Chapter 6 Planning-Graph Techniques. g 1. a 1. a 4. g 4. g 2. g 0. a 2. s 0. a 5. g 5. a 3. g 3. Motivation. A big source of inefficiency in search algorithms is the branching factor the number of children of each node e.g., a backward search may try lots of actions - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 6 Planning-Graph Techniques

1

Chapter 6Planning-Graph Techniques

Page 2: Chapter 6 Planning-Graph Techniques

2

Motivation A big source of inefficiency in search algorithms is the branching factor

the number of children of each node e.g., a backward search may try lots of actions

that can’t be reached from the initial state

One way to reduce branching factor: First create a relaxed problem

Remove some restrictions of the original problem » Want the relaxed problem to be easy to solve (polynomial time)

The solutions to the relaxed problem will include all solutions to the original problem

Then do a modified version of the original search Restrict its search space to include only those actions that occur in solutions

to the relaxed problem

g0

g1

g2

g3

a1

a2

a3

g4

g5s0

a4

a5

Page 3: Chapter 6 Planning-Graph Techniques

3

Problem handled by GraphPlan*

Pure STRIPS operators: conjunctive preconditions no negated preconditions no conditional effects no universal effects

Finds “shortest parallel plan” Sound, complete and will terminate with failure if there is no plan.

*Version in [Blum& Furst IJCAI 95, AIJ 97]

Page 4: Chapter 6 Planning-Graph Techniques

4

Graphplanprocedure Graphplan: for k = 0, 1, 2, …

Graph expansion:» create a “planning graph” that contains k “levels”

Check whether the planning graph satisfies a necessary(but insufficient) condition for plan existence

If it does, then» do solution extraction:

• backward search,modified to consideronly the actions inthe planning graph

• if we find a solution,then return it

possibleliteralsin state si

possibleactionsin state si

relaxedproblem

Page 5: Chapter 6 Planning-Graph Techniques

5

state-level i

effectsMaintenance actions: propagate literals to the next level. These represent what happens if no action in the final plan affects the literal.

state-level i-1

state-level 0 (the literals true in s0)

The Planning Graph

Alternating layers of ground literals and actions All actions that might possibly occur at each time step All of the literals asserted by those actions

action-level i

preconditions

Page 6: Chapter 6 Planning-Graph Techniques

6

Mutual Exclusion

Two actions at the same action-level are mutex if Inconsistent effects: an effect of one negates an effect of the other Interference: one deletes a precondition of the other Competing needs: they have mutually exclusive preconditions

Otherwise they don’t interfere with each other Both may appear in a solution plan

Two literals at the same state-level are mutex if Inconsistent support: one is the negation of the other, or all ways of achieving

them are pairwise mutex

Page 7: Chapter 6 Planning-Graph Techniques

7

Mutex

Inconsistent Effects an effect of one negates an effect of the other

E.g., stack(a,b) & unstack(a,b)

add handempty delete handempty (add ~handempty)

Page 8: Chapter 6 Planning-Graph Techniques

8

Mutex

Interference : one deletes a precondition of the other

E.g., stack(a,b) & putdown(a)

deletes holding(a) needs holding(a)

Page 9: Chapter 6 Planning-Graph Techniques

9

Mutex

Competing needs: they have mutually exclusive preconditions Their preconditions can’t be true at the same time

Page 10: Chapter 6 Planning-Graph Techniques

10

Mutex

Inconsistent support : one is the negation of the other

E.g., handempty & ~handempty

or all ways of achieving them are pairwise mutex(from the previous reasons)

Page 11: Chapter 6 Planning-Graph Techniques

11

Valid planA valid plan is a planning graph where: Actions at the same level don’t interfere Each action’s preconditions are made true by the plan Goals are satisfied

Page 12: Chapter 6 Planning-Graph Techniques

12

GraphPlan algorithm Grow the planning graph (PG) until all goals are reachable and not

mutex. (If PG levels off first, fail) Search the PG for a valid plan If non found, add a level to the PG and try again

Page 13: Chapter 6 Planning-Graph Techniques

13

Searching for a solution plan Backward chain on the planning graph Achieve goals level by level At level k, pick a subset of non-mutex actions to achieve current goals. Their

preconditions become the goals for k-1 level. Build goal subset by picking each goal and choosing an action to add. Use one

already selected if possible. Do forward checking on remaining goals (backtrack if can’t pick non-mutex action)

Page 14: Chapter 6 Planning-Graph Techniques

14

Solution Extraction

procedure Solution-extraction(g,j)if j=0 then return the solutionfor each literal l in g

nondeterministically choose an actionto use in state s j–1 to achieve l

if any pair of chosen actions are mutexthen backtrack

g’ := {the preconditions of the chosen actions}

Solution-extraction(g’, j–1)end Solution-extraction

The level of the state sjThe set of goals we are trying to achieve

state-leveli-1

action-level

i

state-level

i

A real action or a maintenance action

Page 15: Chapter 6 Planning-Graph Techniques

15

Plan Graph Search

If goals are present & non-mutex:Choose action to achieve each goalAdd preconditions to next goal set

Page 16: Chapter 6 Planning-Graph Techniques

16

Example» due to Dan Weld (U. of Washington)

Suppose you want to prepare dinner as a surprise for your spouse (who is asleep)

s0 = {garbage, cleanHands, quiet}

g = {dinner, present, garbage}

Action Preconditions Effects

cook() cleanHands dinnerwrap() quiet presentcarry() none garbage, cleanHandsdolly() none garbage, quiet

Also have the maintenance actions: one for each literal

Page 17: Chapter 6 Planning-Graph Techniques

17

Example (continued) state-level 0:

{all atoms in s0} U {negations of all atoms not in s0}

action-level 1:{all actions whose prconditions are satisfied in s0}

state-level 1:{all effects of all of the actions in action-level 1}

Action Preconditions Effectscook() cleanHands dinnerwrap() quiet presentcarry() none garbage, cleanHandsdolly() none garbage, quiet

Also have the maintenance actionsdinner

present

dinner

present

state-level 0 state-level 1action-level 1

Page 18: Chapter 6 Planning-Graph Techniques

18

Example (continued) Augment the graph to indicate mutexes carry is mutex with the maintenance

action for garbage (inconsistent effects) dolly is mutex with wrap

interference ~quiet is mutex with present

inconsistent support each of cook and wrap is mutex with

a maintenance operation

Action Preconditions Effectscook() cleanHands dinnerwrap() quiet presentcarry() none garbage, cleanHandsdolly() none garbage, quiet

Also have the maintenance actions dinner

present

dinner

present

state-level 0 state-level 1action-level 1

Page 19: Chapter 6 Planning-Graph Techniques

19

dinner

present

dinner

present

Example (continued) Check to see whether there’s a

possible plan Recall that the goal is

{garbage, dinner, present} Note that

All are prossible in s1 None are mutex with each other

Thus, there’s a chance that a plan exists

Try to find it Solution extraction

state-level 0 state-level 1action-level 1

Page 20: Chapter 6 Planning-Graph Techniques

20

Example (continued) Two sets of actions for the goals

at state-level 1 Neither works: both sets contain

actions that are mutex

dinner

present

dinner

present

state-level 0 state-level 1action-level 1

Page 21: Chapter 6 Planning-Graph Techniques

21

Example (continued)

Go back anddo moregraphexpansion

Generateanotheraction-leveland another state-level

dinner

present

dinner

present

dinner

present

state-level 0 state-level 1action-level 1 state-level 2action-level 2

Page 22: Chapter 6 Planning-Graph Techniques

22

Example (continued)

Solutionextraction

Twelve combinationsat level 4 Three ways to

achieve garb Two ways to

achieve dinner Two ways to

achieve present dinner

present

dinner

present

dinner

present

state-level 0 state-level 1action-level 1 state-level 2action-level 2

Page 23: Chapter 6 Planning-Graph Techniques

23

Example (continued)

Several of the combinations look OK at level 2

Here’s one of them

dinner

present

dinner

present

dinner

present

state-level 0 state-level 1action-level 1 state-level 2action-level 2

Page 24: Chapter 6 Planning-Graph Techniques

24

Example (continued) Call Solution-

Extraction recursively at level 2

It succeeds Solution whose

parallel length is 2

dinner

present

dinner

present

dinner

present

state-level 0 state-level 1action-level 1 state-level 2action-level 2

Page 25: Chapter 6 Planning-Graph Techniques

25

Observation 1

Propositions monotonically increase(always carried forward by no-ops)

p

¬q

¬r

p

q

¬q

¬r

p

q

¬q

r

¬r

p

q

¬q

r

¬r

A A

B

A

B

Page 26: Chapter 6 Planning-Graph Techniques

26

Observation 2

Actions monotonically increase

p

¬q

¬r

p

q

¬q

¬r

p

q

¬q

r

¬r

p

q

¬q

r

¬r

A A

B

A

B

Page 27: Chapter 6 Planning-Graph Techniques

27

Observation 3

Proposition mutex relationships monotonically decrease

p

q

r

A

p

q

r

p

q

r

Page 28: Chapter 6 Planning-Graph Techniques

28

Observation 4

Action mutex relationships monotonically decrease

p

q

… B

p

q

r

s

p

q

r

s

A

C

B

C

A

p

q

r

s

B

C

A

Page 29: Chapter 6 Planning-Graph Techniques

29

Observation 5Planning Graph ‘levels off’. After some time k all levels are identical Because it’s a finite space, the set of literals never decreases and

mutexes don’t reappear.

Page 30: Chapter 6 Planning-Graph Techniques

30

Termination for unsolvable problems Graphplan records (memoizes) sets of unsolvable goals:

U(i, t) = unsolvable goals at level i after stage t. More efficient: early backtracking Also provides necessary and sufficient conditions for termination:

Assume plan graph levels off at level n, stage t > n If U(n, t-1) = U(n, t) then we know we’re in a loop and can terminate safely.

Page 31: Chapter 6 Planning-Graph Techniques

31

Expressive Languages Negated preconditions Disjunctive preconditions Universally quantified preconditions, effects Conditional effects Iterative/Recursive Actions

Page 32: Chapter 6 Planning-Graph Techniques

32

Comparison with PSP Advantage: the backward-search part of Graphplan—which is the

hard part—will only look at the actions in the planning graph smaller search space than PSP; thus faster

Disadvantage: to generate the planning graph, Graphplan creates a huge number of ground atoms Many of them may be irrelevant

Can alleviate (but not eliminate) this problem by assigning data types to the variables and constants Only instantiate variables to terms of the same data type

Page 33: Chapter 6 Planning-Graph Techniques

33

History Before Graphplan came out, most planning researchers were

working on PSP-like planners POP, SNLP, UCPOP, etc.

Graphplan caused a sensation because it was so much faster Many subsequent planning systems have used ideas from it

IPP, STAN, GraphHTN, SGP, Blackbox, TGP, LPG Many of them are much faster than the original Graphplan