340 likes | 453 Views
Fragment-Based Conformant Planning. James Kurien Palo Alto Research Center Pandu Nayak Stratify, Inc. David E. Smith NASA Ames Research Center. Motivation: Planning for Spacecraft Recovery. Closed. Open. Stuck. Valve. System failures lead to uncertainty
E N D
Fragment-Based Conformant Planning James Kurien Palo Alto Research Center Pandu Nayak Stratify, Inc. David E. Smith NASA Ames Research Center
Motivation: Planning for Spacecraft Recovery Closed Open Stuck Valve • System failures lead to uncertainty • Internal actions are fairly reliable but do fail • System interactions are complex • Observability is limited • Diagnosis yields multiple states ranked by magnitude of probability • The system must choose actions to respond to the failure • Under certain conditions an action may be damaging or disallowed
w1, w2, … wn P G Conformant Planning • Problem Instance • Let Domain be a description of a planning domain • Let Worlds be a set of initial states of the domain, {w1, w2, … wn} • Let G be a goal description • There are no sensing actions • Task: Find plan P that applied to any wi results in a state entailing G • P is a conformant plan • Challenge: Actions chosen in wi may have undesirable effects in wj
Existing Approaches to Conformant Planning • Generate a plan in wi and test if it achieves G in all Worlds • Select actions for P by considering all Worlds simultaneously
An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again • Example Problem • 1 toilet • 6 packages • A bomb is in p1, p2, p3, p5 or (p4 & p6)
Fragment if bomb in p1 An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again
An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again • Fragment if bomb in p1 • Fragment if bombs in p6 and p4
An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again • Fragment if bomb in p1 • Repair action to unify fragments • Fragment if bombs in p6 and p4
An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again • Every conformant plan P must contain a fragment that achieves the goal in each world • Each world has plans that are fragments of some P • Approach: Grow a set of fragments into a conformant plan
Fragment-based Conformant Planning • Intuition For each wi in Worlds • Generate a plan for Domain to achieve G in wi • Add the planned actions to Domain • Step 2 ensures the plan for wi+1 includes the actions that achieved G in {w1… wi}
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess • Search will be required • The fragment chosen for w1 may not allow a plan for w2 • The fragment chosen for w2 may disrupt the plan for w1
The FragPlan Algorithm completed= While (Worlds ) selectand remove world wi from Worlds Choose a plan Pi for Domain that achieves G in wi Fail if Pi doesn’t achieve G for all wcompleted Extract fragment Fi from Pi Domain = Domain + Fi add wi to completed ReturnPi
w1 First world selected W1 fragments F1 F2 F3 w2 F1 F2 F3 w3 F1 F2 F3 Search Strategies • Chronological Backtracking • Probing • Extend fragments to as many worlds as possible, then restart • On failure, discard all fragments and empty completed • Effective even when a small subset of worlds are very difficult • Fits well with deterministic planner we use to choose Pi for wi • Bubbling • Find difficult worlds. Solve first by moving them up the stack.
Search Control Fragment Extraction BlackBox Graph to WFF Graph Builder SAT (satz) Plan Graph WFF Implementation • Essentially conformant BlackBox (Kautz & Selman 99) • No actions with conditional outcomes in current implementation • Planning graph cannot represent conditional outcome • Conditional extension (Gazen & Knoblock 1997) not applicable • No non-deterministic actions FragPlan Worlds Specification Conformant Plan wi Fragments Plan Pi Planning Domain PDDL
Experimental Setup • FragPlan tested on a number of domains • Several variations of the bomb in the toilet problem • Modified ringworld with no uncertain outcomes • Logistics domain with uncertainty • Compared to performance quoted in the literature • CMBP, C-Plan, GTP from (Castellini, Giunchiglia, & Tacchella 2001) • HSCP from (Bertoli, Cimatti, & Roveri 2001) • FragPlan performance averaged over 30 probing runs
Performance on Bomb in the Toilet Problems • HSCP dominates on serial instances • FragPlan is balanced • HSCP, CMBP, GPT do not produce parallel plans • C-Plan does poorly on serial instances of this problem
10 Package Bomb in the Toilet with Parallelism • Space of serialized plans explodes as parallelism increases • Parallelism renders fragments independent, yielding linear speedup
) • ( N K FragPlan Performance on Many Worlds • Independent sources of uncertainty yield many worlds • K bombs in N packages worlds • N rooms with window open, closed or locked 3n worlds • Less planning, more checking • Fragment for n independent events is often a plan for each • If n is high, a few fragments yield a conformant plan. • In effect the plan is only checked on the remaining worlds • Constant space usage, except for fragments
Effect 1 A or Effect 2 Worlds {w1 w2 } Handling Non-Deterministic Actions • Action A has n possible outcomes • Disjunction doesn’t ensure conformance
Effect 1 Effect 1 P A’ A or Effect 2 Effect 2 P Worlds {w1,P w1,P w2,P w2,P} Worlds {w1 w2 } Handling Non-Deterministic Actions • Action A has n possible outcomes • Disjunction doesn’t ensure conformance
Effect 1 Effect 1 P A’ A or Effect 2 Effect 2 P Worlds {w1,P w1,P w2,P w2,P} Worlds {w1 w2 } Handling Non-Deterministic Actions • Action A has n possible outcomes • Disjunction doesn’t ensure conformance • Algorithm changes • Implement conditional effects • Generate plan Pi for one execution in wi using A • Substitute A’/A in Pi . • Split completed worlds and wi • Check Pi in all worlds, as before
Message • Performs well on both serial and parallel problems • More scalable than other possible worlds approaches • Memory usage is constant as the number of worlds increases • Computation is less susceptible to explosive growth • Probing is effective • Constructive approach • Always have a plan • Conformance increases in an anytime manner • Can delete and add worlds and re-use partial results
Initial State Uncertainty • Internal actions are fairly reliable • Systems are complex • Observability is limited • Failures yield multiple diagnoses Closed Open Stuck Valve Motivation: Planning for Spacecraft Recovery • Complex Plan Utility Function • No safe, conformant plan may exist • Safety always desired, often dominates • Certain goals dominate at critical junctures • A failure may force all actions to be unsafe • Time for planning not known a priori • We must have some plan Given: Utility function on goals, safety, and worlds Return: Best plan the available time allows
Safe, Conformant Planning with Optimization • Problem Instance • Let Domain be a description of a planning domain • Let Worlds be a set of initial states of the domain, {w1, w2, … wn} • Let G be a set of goals • Let S be a set of safety constraints • Let U be a function from (world x goal x safety) -> • Task: • Find a plan P with highest U (in available time) • Challenge: • Which subsets of {GSWorlds} admit a plan? • Will we have a plan when time runs out?
SCOPE – Safe, Conformant, Optimizing Planning Engine • Approach: Manipulate the scope of the problem While (Time 0) selectconstraints from{GSWorlds} FragPlan(constraints)
SCOPE – Safe, Conformant, Optimizing Planning Engine • Approach: Manipulate the scope of the problem While (Time 0) selectconstraints from{GSWorlds} FragPlan(constraints) for some time Balance solving current constraints vs. exploration
SCOPE – Safe, Conformant, Optimizing Planning Engine • Approach: Manipulate the scope of the problem While (Time 0) selectconstraints from{GSWorlds} FragPlan(constraints) for some time • Strategy: Start small and grow • On success, add constraints guided by U(world x goal x safety) • Anytime
SCOPE – Safe, Conformant, Optimizing Planning Engine • Approach: Manipulate the scope of the problem While (Time 0) selectconstraints from{GSWorlds} FragPlan(constraints) for some time • Strategy: Start small and grow • On success, add constraints guided by U(world x goal x safety) • Anytime • Strategy: Start big, shrink • Failures reveal difficult constraint combinations • On failure, remove constraints guided by U, difficulty