Title: FragmentBased Conformant Planning
1Fragment-Based Conformant Planning
- James Kurien Palo Alto Research Center
- Pandu Nayak Stratify, Inc.
- David E. Smith NASA Ames Research Center
2Motivation 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
3Conformant 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
4Existing Approaches to Conformant Planning
- Select actions for P by considering all Worlds
simultaneously
- Generate a plan in wi and test if it achieves G
in all Worlds
5An 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)
6An 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
7An 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 bombs in p6 and p4
8An 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
- Repair action to unify fragments
- Fragment if bombs in p6 and p4
9An 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
10Fragment-based Conformant Planning
- 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 wi1 includes the
actions that achieved G in w1 wi
11Fragment-based Conformant Planning
Planning Process
12Fragment-based Conformant Planning
Planning Process
13Fragment-based Conformant Planning
Planning Process
14Fragment-based Conformant Planning
Planning Process
15Fragment-based Conformant Planning
Planning Process
16Fragment-based Conformant Planning
Planning Process
- 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
17The FragPlan Algorithm
completed? While (Worlds ? ?) select and remove
world wi from Worlds Choose a plan Pi for
Domain that achieves G in wi Fail if Pi doesnt
achieve G for all w ?completed Extract fragment
Fi from Pi Domain Domain Fi add wi to
completed Return Pi
18Search 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.
19Implementation
- Essentially conformant BlackBox (Kautz Selman
99)
FragPlan
Worlds Specification
Conformant Plan
wi
Fragments
Plan Pi
Planning Domain
PDDL
- 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
20Experimental 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
21Performance 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
2210 Package Bomb in the Toilet with Parallelism
- Space of serialized plans explodes as parallelism
increases - Parallelism renders fragments independent,
yielding linear speedup
23FragPlan 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
24Handling Non-Deterministic Actions
- Action A has n possible outcomes
- Disjunction doesnt ensure conformance
25Handling Non-Deterministic Actions
- Action A has n possible outcomes
- Disjunction doesnt ensure conformance
26Handling Non-Deterministic Actions
- Action A has n possible outcomes
- Disjunction doesnt 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
27Message
- 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
28Motivation 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
29Safe, 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)
-gt ? - Task
- Find a plan P with highest U (in available time)
- Challenge
- Which subsets of G ? S ? Worlds admit a plan?
- Will we have a plan when time runs out?
30SCOPE Safe, Conformant, Optimizing Planning
Engine
- Approach Manipulate the scope of the problem
While (Time ? 0) select constraints from G ? S ?
Worlds FragPlan(constraints)
31SCOPE Safe, Conformant, Optimizing Planning
Engine
- Approach Manipulate the scope of the problem
While (Time ? 0) select constraints from G ? S ?
Worlds FragPlan(constraints) for some time
Balance solving current constraints vs.
exploration
32SCOPE Safe, Conformant, Optimizing Planning
Engine
- Approach Manipulate the scope of the problem
While (Time ? 0) select constraints from G ? S ?
Worlds FragPlan(constraints) for some time
- Strategy Start small and grow
- On success, add constraints guided by U(world x
goal x safety) - Anytime
33SCOPE Safe, Conformant, Optimizing Planning
Engine
- Approach Manipulate the scope of the problem
While (Time ? 0) select constraints from G ? S ?
Worlds 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