250 likes | 370 Views
Local Search Techniques for Temporal Planning in LPG. Paper by Gerevini, Serina, Saetti, Spinoni Presented by Alex. Overview of Problem. What problem are they solving? Temporal planning (duh) More specifically? What kinds of action restrictions?. Overview of Techniques.
E N D
Local Search Techniques for Temporal Planning in LPG Paper by Gerevini, Serina, Saetti, Spinoni Presented by Alex
Overview of Problem • What problem are they solving? • Temporal planning (duh) • More specifically? What kinds of action restrictions?
Overview of Techniques • In general, what techniques do they use? • Local search, variation of Walksat • Mix of Graphplan and POP • Complicated heuristics
Outline • Search Space • Local search and heuristics • Search operators • Various cost metrics • Experiments
Search Space • What is an A-graph? • Noop propagation • What is it? • Why is it important?
LA-graphs • Same thing, except … • One non-noop per layer
And TA-graphs • What is a TA-graph? • Triple (LA-graph, Time-assign’t, Ordering Cs) • What do the time assignments represent? • Earliest time a fact can become true • Earliest time an action can finish executing
How does it fit into Graphplan? • Only permanent action mutexes – meaning? • What good are action mutexes in an LA-graph? • How much of Graphplan is left?
POP Threats Promotion Demotion Causal Link Least Commitment LPG Mutexes LA-graph ordering Action-Effect edge Topological Sort (as opposed to total order of LA-graph) POP & LPG
Solution State • What constraints does a TA-graph have to obey to be a solution? • Logical constraints (are goals and action preconditions satisfied) • Temporal/Ordering constraints • Time assign’ts consistent with orderings • Ordering constraints imply mutex actions don’t co-occur
Local Search: Operators • Every search operator fixes an “inconsistency” in the partial plan • What kinds of inconsistencies are there? • How do you fix inconsistencies?
Local Search: Walksat • Proposition with k clauses and n variables • With probability p, pick a variable at random from an unsatisfied clause and flip its value • With prob. 1-p, flip value of variable that maximizes number of satisfied clauses
WalkPlan • For a given inconsistency, if there is a move that increases plan quality, do it. • Otherwise, • with probability p, pick a move at random • With probability 1-p, pick best move • Do random restarts after too many moves
Questions about WalkPlan • How do they pick the inconsistency to fix? • Why do they change the Walksat algorithm? • Where do they start search after a random restart?
Heuristics E(a) = b * Execution_Cost(a) + c * Temporal_Cost(a) + d * Search_Cost(a)
Relaxed Plan • When adding (or removing) action a, find relaxed plan for unsupported preconditions of a (or the preconditions that used to be supported by a, if removing a). • In what way(s) is it relaxed?
Experiments • Impressive, no? • Are there any criticisms? caveats? • Is it fair to compare separately along the time and quality axes? I.e., is a quickly-generated but very crappy plan better than a more slowly-generated but decent plan?
Comments Too much low-level detail (code) Why the spikes in the graphs?
Future Work Gplan, TabuPlan, … Add learning, or dynamically change heuristics More expressive temporal action language Handle Universally Quantified Effects