graph-based planning
DESCRIPTION
Graph-based Planning. Brian C. Williams Sept. 25 th & 30 th , 2002 16.412J/6.834J. Outline. Introduction The Graph Plan Planning Problem Graph Construction Solution Extraction Properties Termination with Failure. Graph Plan. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/1.jpg)
Graph-based Planning
Brian C. Williams Sept. 25th & 30th, 2002 16.412J/6.834J
![Page 2: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/2.jpg)
Outline Introduction The Graph Plan Planning Problem Graph Construction Solution Extraction Properties Termination with Failure
![Page 3: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/3.jpg)
Graph Plan Graphplan was developed in 1995 by
Avrim Blum and Merrick Furst, at CMU. Recent implementations by other
researchers have extended the capability of Graphplan to reason with temporally extended actions, metrics and non-atomic preconditions and effects.
![Page 4: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/4.jpg)
Approach: Graph Plan1. Constructs compact encoding of state space from
operators and initial state, which prunes many invalid plans – Plan Graph.
2. Generates plan by searching for a consistent subgraph that achieves the goals.
PropositionInit State
ActionTime 1
PropositionTime 1
ActionTime 2
![Page 5: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/5.jpg)
Plan graphs focus towards valid plans Plan graphs exclude many plans that are
infeasible. Plans that do not satisfy the initial or goal state. Plans with operators that threaten each other.
Plan graphs are constructed in polynomial time and are of polynomial in size.
The plan graph does not eliminate all infeasible plans.
Plan generation still requires focused search.
![Page 6: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/6.jpg)
Example: Graph and Solution noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
carry
dolly
cook
wrap
cleanH
quiet
noGarb
cleanH
quiet
dinner
present
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 7: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/7.jpg)
Outline Introduction The Graph Plan Planning Problem Graph Construction Solution Extraction Properties Termination with failure
![Page 8: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/8.jpg)
8
GraphPlan Planning Problem• State
• A consistent conjunction of propositions (positive literals)• E.g., (and (cleanhands)(quiet) (dinner) (present)(noGarbage))• Doesn’t commit to the truth of all propositions
• Initial State• Problem state at time i = 0
• E.g., (and (cleanHands) (quiet))
• Goal State• A partial state, represented by a conjunction of literals.
• E.g., (and (noGarbage) (dinner) (present))• The planner must put the system in a final state that satisfies
the conjunction.
![Page 9: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/9.jpg)
9
GraphPlan Planning ProblemActions• E.g., (:operator carry
:precondition :effect (:and (noGarbage) (not (cleanHands)))
• Preconditions: propositions that must be true to apply operator.• A conjunction of propositions (no negated propositions).
• Effects: Propositions that operator changes, given preconditions.• A conjunction of propositions (adds) and their negation (deletes).
carry noGarb cleanH
• Parameterized schemas and objects are used to compactly encode actions.
Add Edge
Delete Edge
![Page 10: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/10.jpg)
10
GraphPlan Planning Problem
(:operator cook :precondition (cleanHands):effect (dinner))
(:operator carry :precondition :effect (:and (noGarbage) (not (cleanHands)))
Action Execution at time i: If all propositions of :precondition appear in the state at i,Then state at i+1 is created from state at i, by
adding to i, all “add” propositions in :effects, removing from i, all “delete” propositions in :effects.
carry noGarb cleanH
cook dinner
cleanHands
![Page 11: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/11.jpg)
11
GraphPlan Planning Problem• Noops
• Every proposition has a no-op action, which maintains it from time i to i+1.
• E.g., (:operator noop-P :precondition (P) :effect (P))
Noop-P P P
![Page 12: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/12.jpg)
Example: Dinner Date ProblemInitial Conditions: (and (cleanHands) (quiet))
Goal: (and (noGarbage) (dinner) (present))
Actions:(:operator carry :precondition
:effect (and (noGarbage) (not (cleanHands)))
(:operator dolly :precondition :effect (and (noGarbage) (not (quiet)))
(:operator cook :precondition (cleanHands) :effect (dinner))
(:operator wrap :precondition (quiet) :effect (present))
+ noops
![Page 13: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/13.jpg)
dinner
present
cook
wrap
carry
cleanH
quiet
noGarb
cleanH
dinner
present
Prop at 1 Action at 1 Prop at 2 Action at 2 Prop at 2
noop-dinner
noop-present
• Sets of concurrent actions performed at each time [i]• Uses model of concurrency as interleaving.
• If actions a and b occur at time i, then it must be valid toperform either a followed by b, OR b followed by a.
A Plan in GraphPlan <Actions[i] >
![Page 14: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/14.jpg)
A Complete Consistent PlanGiven that the initial state holds at time 0, a plan is a solution iff:
• Complete:• The preconditions of every operator at time i, is satisfied by a proposition at time i.
• The goal propositions all hold in the final state.
• Consistent:• The operators at any time i can be executed in any order, without one of these operators undoing the:
•preconditions of another operator at time i. •effects of another operator at time i.
![Page 15: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/15.jpg)
dinner
present
cook
wrap
carry
cleanH
quiet
noGarb
cleanH
dinner
present
Prop at 1 Action at 1 Prop at 2 Action at 2 Prop at 3
(noop dinner)
(noop present)
Example of a Complete Consistent Plan
Initial Conditions: (and (cleanHands) (quiet))
Goal: (and (noGarbage) (dinner) (present))
![Page 16: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/16.jpg)
GraphPlan Algorithm Phase 1 – Plan Graph Expansion
Creates graph encoding pairwise consistency and reachability of actions and propositions from initial state.
Graph includes, as a subset, all plans that are complete and consistent.
Phase 2 - Solution Extraction Graph treated as a kind of constraint satisfaction problem
(CSP). Selects whether or not to perform each action at each time
point, by assigning CSP variables and testing consistency.
![Page 17: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/17.jpg)
Outline Introduction The Planning Problem Graph Construction Solution Extraction Properties Termination with failure
![Page 18: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/18.jpg)
Graph Properties
A Plan graph compactly encodes the space of consistent
plans, while pruning . . .
1. partial states and actions at each time i that are not reachable from the initial state.
2. pairs of actions and propositions that are mutually inconsistent at time i.
3. plans that cannot reach the goals.
![Page 19: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/19.jpg)
Constructing the planning graph…(Reachability) Initial proposition layer
Contains propositions in initial state.
![Page 20: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/20.jpg)
Example: Initial State, Layer 0
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 21: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/21.jpg)
Constructing the planning graph…(Reachability) Initial proposition layer
Contains propositions in initial state Action layer i
If all action’s preconditions are consistent in i-1 Then add action to layer i
Proposition layer i+1 For each action at layer i Add all its effects at layer i+1
![Page 22: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/22.jpg)
Example: Add Actions and Effects noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 23: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/23.jpg)
Constructing the planning graph…(Reachability) Initial proposition layer
Write down just the initial conditions Action layer i
If all action’s preconditions appear consistent in i-1 Then add action to layer i
Proposition layer i+1 For each action at layer i Add all its effects at layer i+1
Repeat until all goal propositions appear
![Page 24: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/24.jpg)
Can a solution exist? noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
Do all goalpropositionsappear?
![Page 25: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/25.jpg)
Constructing the planning graph…(Consistency) Initial proposition layer
Write down just the initial conditions Action layer i
If action’s preconditions appear consistent in i-1 (non-mutex) Then add action to layer i
Proposition layer i+1 For each action at layer i Add all its effects at layer i+1
Identify mutual exclusions Actions in layer i Propositions in layer i + 1
Repeat until all goal propositions appear non-mutex
![Page 26: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/26.jpg)
26
Mutual Exclusion: Actions Actions A,B are mutually exclusive at level i
if no valid plan could possibly contain both at i:
They Interfere A deletes B’s preconditions, or A deletes B’s effects, or Vice versa or
OR . . . .
![Page 27: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/27.jpg)
What causes the exclusion? noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 28: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/28.jpg)
noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
What causes the exclusion?
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 29: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/29.jpg)
noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
What causes the exclusion?
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 30: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/30.jpg)
noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
What causes the exclusion?
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 31: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/31.jpg)
31
Mutual Exclusion: Actions Actions A,B are mutually exclusive at level i
if no valid plan could possibly contain both at i:
They Interfere A deletes B’s preconditions, or A deletes B’s effects, or Vice versa or
They have competing needs: A & B have inconsistent preconditions
![Page 32: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/32.jpg)
Layer 0: complete action mutexs noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 33: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/33.jpg)
33
Mutual Exclusion: Proposition Layer
Propositions P,Q are inconsistent at i if no valid plan could possibly contain both at i If at i, all ways to achieve P exclude all ways to
achieve Q
P
Q
A1
A2
M
N
![Page 34: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/34.jpg)
Layer 1: add proposition mutexs noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
None!
![Page 35: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/35.jpg)
Can a solution exist? noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
Do all goalpropositionsappear non-mutex?
![Page 36: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/36.jpg)
Outline Introduction The Planning Problem Graph Construction Solution Extraction Properties Termination with failure
![Page 37: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/37.jpg)
37
Graphplan Create plan graph level 1 from initial state Loop
If goal propositions of the highest level (nonmutex)
Then search graph for solution If solution found, then return and terminate
Else extend graph one more level
A kind of double search: forward direction checks necessary
(but insufficient) conditions for a solution, ...
Backward search verifies...
![Page 38: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/38.jpg)
38
Searching for a SolutionRecursively find consistent actions achieving all goals at
t, t-1, . . . : For each goal proposition G at time t
For each action A making G true at t If A isn’t mutex with previously chosen action at t, Then select it
Finally, If no action of G works, Then backtrack on previous G.
Finally If action found for each goal at time t, Then recurse on preconditions of actions selected, t-1, Else backtrack.
![Page 39: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/39.jpg)
Searching for a solution noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
Select action achieving Goal noGarb
![Page 40: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/40.jpg)
Searching for a solution noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
Select action achieving Goal dinner,
Consistent with carry
Backtrack on noGarb
![Page 41: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/41.jpg)
Searching for a solution noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
Select action dolly
Backtrack on noGarb
![Page 42: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/42.jpg)
Searching for a solution noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
Select action achieving Goal dinner,
Consistent with dolly
![Page 43: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/43.jpg)
Searching for a solution noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
Select action achieving Goal present,
Consistent w dolly, cook
![Page 44: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/44.jpg)
Searching for a solution noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
cleanH
quiet
1 Prop 1 Action 2 Prop 2 Action 3 Prop
Recurse on preconditions of dolly, cook & wrap
All satisfied by initial state
![Page 45: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/45.jpg)
Avoiding redundancy No-ops are always favoured.
guarantees that the plan will not contain redundant actions.
![Page 46: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/46.jpg)
Suppose the Plan Graph was Extended
noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
carry
dolly
cook
wrap
cleanH
quiet
noGarb
cleanH
quiet
dinner
present
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 47: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/47.jpg)
Can a valid plan use carry? noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
carry
dolly
cook
wrap
cleanH
quiet
noGarb
cleanH
quiet
dinner
present
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 48: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/48.jpg)
Using carry at level 2 is valid noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
carry
dolly
cook
wrap
cleanH
quiet
noGarb
cleanH
quiet
dinner
present
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 49: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/49.jpg)
Using carry at level 2 is valid noGarb
cleanH
quiet
dinner
present
carry
dolly
cook
wrap
carry
dolly
cook
wrap
cleanH
quiet
noGarb
cleanH
quiet
dinner
present
1 Prop 1 Action 2 Prop 2 Action 3 Prop
![Page 50: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/50.jpg)
Outline Introduction The Planning Problem Graph Construction Solution Extraction Properties Termination with failure
![Page 51: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/51.jpg)
Plan Graph Properties Propositions monotonically increase
once they are added to a layer they are never removed in successive layers;
Mutexes monotonically decrease once a mutex has decayed it can never reappear;
Memoized sets (to be discussed) monotonically decrease if a goal set is achievable at a layer
Then it will be achievable at all successive layers.
The graph will eventually reach a fix point, that is, a level where facts and mutexes no longer change.
![Page 52: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/52.jpg)
Fix point Example: Door Domain
A B
![Page 53: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/53.jpg)
Fix point Example: Door DomainMove from room A to room B pre: robot is in A and the door is open add: robot is in B del: robot is in A
Open door pre: door is closed add: door is open del: door is closed
Close door pre: door is open add: door is closed del: door is open
![Page 54: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/54.jpg)
noop
noop
Move
Move
Open
noop
Close
noop
In(B)
In(A)
Closed
Opened
Layer 4
N
Move
Move
Open
In(A)
Closed
Layer 1
Open
noop
noop
In(A)
Closed
Opened
Layer 2
In(B)
noop
noop
Move
Open
noop
Close
In(A)
Closed
Opened
Layer 3
Layer 4 is the fixed point (called level out) of the graph
![Page 55: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/55.jpg)
Graph Search Properties Graphplan may need to expand well beyond the
fix point to find a solution. Why?
![Page 56: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/56.jpg)
Gripper ExampleMove from one room to another pre: robot in the first room add: robot in the second room del: robot in the first room
Pick a ball up in a gripper pre: robot has a free gripper and is in same room as ball add: robot holding the ball del: gripper free, ball in room.
Drop a ball in a room pre: robot holding the ball, robot in destination room add: ball in destination room, gripper free. del: ball being held.
![Page 57: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/57.jpg)
Gripper Example In Gripper, the fix point occurs at layer 4,
all facts concerning the locations of the balls and the robot are pairwise non-mutex after 4 steps.
The distance to the solution layer depends on the number of balls to be moved. For large numbers of balls Graphplan searches
copies of the same layers repeatedly. For example, for 30 balls
the solution layer is at layer 59, 54 layers contain identical facts, actions and mutexes.
![Page 58: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/58.jpg)
Search Properties (cont) Plans do not contain redundant steps.
By preferring No-ops
Graphplan guarantees parallel optimality. The plan will take as short a time as possible.
Graphplan doesn’t guarantee sequential optimality Might be possible to achieve all goals at some layer with
fewer actions at that layer.
Graphplan returns failure if and only if no plan exists.
![Page 59: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/59.jpg)
Outline Introduction The Planning Problem Graph Construction Solution Extraction Properties Termination with failure
![Page 60: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/60.jpg)
Simple Termination If the fix point is reached and either:
One of the goals is not asserted or Two of the goals are mutex
Then Graphplan can return "No solution" without any search at all.
Else there may be higher order exclusions which Graphplan cannot detect
Requires more sophisticated additional test for termination.
![Page 61: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/61.jpg)
Why Continue After the Fix Point? facts, actions and mutexes no longer change after the fix
point, N-ary exclusions DO change.
New layers add time to the graph. Time allows actions to be spaced so that N-ary mutexes have
time to decay.
While new things can happen between two successive layers progress is being made.
Track n-ary mutexes. Terminate on their fix point.
![Page 62: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/62.jpg)
Memoization and Termination A goal set at a layer may be unsolvable
Example, in Gripper. If a goal set at layer k cannot be achieved,
Then that set is memoized at layer k. To prevent wasted search effort
Checks each new goal set at k against memos of k for infeasibility.
If an additional layer is built and searching it creates no new memos, then the problem is unsolvable.
![Page 63: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/63.jpg)
Recap: Graph Plan Graphplan was developed in 1995 by Avrim Blum
and Merrick Furst, at CMU. Graphplan searches a compact encoding of the
state space from the operators and initial state, which prunes many invalid plans, violating reachability and mutual exclusion.
Recent implementations by other researchers have extended the capability of Graphplan to reason with temporally extended actions, metrics and non-atomic preconditions and effects.
![Page 64: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/64.jpg)
Appendix
![Page 65: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/65.jpg)
Termination Test If the Graph leveled off at layer n, and a search
stage, t >n, has passed in which the memoized sets at n+1 are the same as at layer n, Then Graphplan can output "No Solution".
Layer n
Layer n + 1
Layer t
Stn = St
n+1 Where Smk = the sets of goals found
unsolvable at layer k during search from m
![Page 66: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/66.jpg)
Termination Property Claim: Graphplan returns with failure iff the problem
is unsolvable.
Proof: If the problem is unsolvable Graphplan returns with failure. The number of sets found unsolvable at layer n from layer t will never be smaller than the number at n from layer t+1, and there is a finite maximum number of goal sets. This means that, if the problem is unsolvable, eventually two successive layers will contain the same memoized sets.
![Page 67: Graph-based Planning](https://reader034.vdocument.in/reader034/viewer/2022051119/56812c55550346895d90de9c/html5/thumbnails/67.jpg)
If Graphplan outputs "No Solution," then the problem is unsolvable. Suppose the fix point is at layer n and Graphplan has completed an
unsuccessful search from layer t > n. A plan to achieve any set unsolvable at layer n+1 must, one step
earlier, achieve some set unsolvable at layer n. Suppose Graphplan returns "No Solution" but the problem is
solvable:
If Stn = St
n+1 then S' and S'' must both be in Stn+1. This means that some set
in Stn+1 will need to be achieved in n+1. this situation is contradictory.
Layer n
Layer N + 1
Layer q
S’ in Stn S’’ in St
n+1
Layer q + 1
Solution Layer q
S’’S’