210 likes | 362 Views
Exploiting Domain Knowledge with a Concurrent Hierarchical Planner. Brad Clement and Ed Durfee University of Michigan Artificial Intelligence Laboratory. Exploit Domain Knowledge by Structuring Hierarchical Plans. Domain expert specifies how goals/subgoals can be achieved by providing
E N D
Exploiting Domain Knowledge with a Concurrent Hierarchical Planner Brad Clement and Ed Durfee University of Michigan Artificial Intelligence Laboratory
Exploit Domain Knowledge by Structuring Hierarchical Plans • Domain expert specifies how goals/subgoals can be achieved by providing • choices of methods that can achieve higher level goal/task under different contexts, • task networks that describe a partial ordering of a group of tasks representing higher level method, and • primitive actions that are directly executable • Robust execution systems (PRS, RAPS, JAM, etc.) • HTN Planners (NOAH, NONLIN, etc.)
HTN Planners A C B B A C • Top-down • Resolve conflicts by • choosing decomposition methods • adding ordering constraints • binding variables • Efficiency depends on these decisions and • choosing tasks to expand • selecting conflicts to resolve • Solution is a consistent primitive plan on A B on B C on A B on B C
Reason at Abstract Levels to Make Better Decisions • Until recently, decisions were blind to conditions underneath.FAF (“fewest alternatives first”) is a most-constrained-variable heuristic. • expand the task with the least number of decomposition methods • bind the variable with the least number of values • ExCon (external condition) heuristic reasons about conditions at abstract level. (Tsuneto, Hendler, & Nau 1998) • expand tasks that can achieve or threaten an external condition • Summarize conditions of potential refinements at abstract levels to reason about task interactions. • resolve all threats at abstract level • prune inconsistent choices at abstract levels • make refinement choices based on threats among abstract plans
Concurrent Hierarchical Planning evacuate evacuate evacuate evacuate noswitch oneswitch twoswitches noswitch oneswitch twoswitches cw ccw go tofarthest switch & goto farthest go to safe loc move move move move move move move move
Concurrent Hierarchical Planning evacuate evacuate evacuate evacuate noswitch oneswitch twoswitches noswitch oneswitch twoswitches A C B cw ccw B A C on A B go tofarthest switch & goto farthest go to safe loc on B C on A B on B C move move move move move move move move
Planning at Abstract Levels • Resolve conflicts at high level to minimize search time • Better solutions may exist at lower levels crisper solutions lowerplanningcost planning levels
Concurrent Hierarchical Plans (CHiPs) • pre, in, & postconditions - sets of literals for a set of propositions • type - and, or, primitive • subplans - execute all for and, one for or; empty for primitive • order - conjunction of point or interval relations B - before DA A B B DB B B B B B B
Summary Information pre: at(A,1,3)in: at(A,1,3), at(B,1,3), at(B,0,3), at(A,0,3), at(B,0,4), at(A,1,3) post: at(A,1,3), at(B,1,3),at(B,0,3), at(A,0,4), at(A,0,3),at(B,0,3), at(B,0,4) 1,3->0,4HI • external preconditions • external postconditions • internal conditions • must, may • always, sometimes 1,3->0,3 0,3->0,4 pre: at(A,1,3)in: at(A,1,3), at(B,1,3), at(B,0,3)post: at(A,0,3), at(A,1,3), at(B,1,3), at(B,0,3) pre: at(A,0,3)in: at(A,0,3), at(B,0,3), at(B,0,4)post: at(A,0,4), at(A,0,3), at(B,0,3), at(B,0,4) pre: at(A,1,3)in: at(A,1,3), at(B,1,3), at(B,0,3), at(B,1,4), at(A,0,3), at(A,1,4), at(B,0,4), at(A,1,3)post: at(A,1,3), at(B,1,3),at(B,0,3), at(A,0,4), at(A,0,3), at(A,1,4), at(B,0,3),at(B,1,4), at(B,0,4) 0 1 2 3 4 1,3->0,4 DA 0 A 1,3->0,4HI 1,3->0,4LO 1 DB 2 B
e' e' e e' Asserting, Clobbering, Achieving, Undoing e l l e • easserts in/postcondition l at t • eachieves precondition l of e' • eclobbers pre/in/postcondition l of e' • eundoes postcondition l of e' • must - for all executions in all histories • may - for some execution in some history l l e l l e e e' l l e e' l l l l e' l l
Deriving Summary Information • Recursive procedure bottoming out at primitives • Derived from those of immediate subplans • O(n2c2) for n non-primitive plans in hierarchy and c conditions in each set of pre, in, and postconditions • Proven procedures for determining must/may - achieve/undo/clobber • Properties of summary conditions are proven based on procedure
Determining Temporal Relations • CanAnyWay({relation}, {psum, qsum}) - relationcan hold for any wayp and q can be executed • MightSomeWay({relation}, {psum, qsum}) - relationmight hold for some wayp and q can be executed B - before O - overlaps CanAnyWay({before}, {psum, qsum}) ØCanAnyWay({overlaps}, {psum, qsum}) MightSomeWay({overlaps}, {psum, qsum})
Concurrent Hierarchical Planner • Derive summary information for hierarchy expanded to primitive level (iteratively expand for infinite recursion of methods) • Expand hierarchy from the top down • After each expansion, try to resolve threats • add ordering constraints • bind variables • check CAW and MSW
Searching for CHiPs • search state • set of expanded plans • set of temporal constraints • set of blocked subplans • set of variable bindings • search operators • expand, block, constrain, bind blocked temporal constraints
DA A DB B Reasoning at Abstract Levels Can Improve Performance Total Cost top-level best mid-level best primitive-level best Computation CostExecution Cost
level #plans #conds /plan #operations toderive summ. info. #test operations /solution candidate solutionspace 0 1 O(bdc') O(1) 1 O(b2(bd-1c')2) = O(b2dc'2) ... 1 b O(bd-1c') O(b2(b(d-1)c')2) = O(b2dc'2) O(b!) O(bb2(bd-2c')2) = O(b2d-1c'2) 1 2 b ...... 2 b2 O(bd-2c') O(b4(b(d-2)c')2) = O(b2dc'2) O(b2!) O(b2b2(bd-3c')2) = O(b2d-2c'2) ................................. d-2 .......... bd-2 O(b2c') O(b2(d-2)(b2c')2) = O(b2dc'2) O(bd-2!) O(bd-2b2(bc')2)= O(bd+2c'2) ............ d-1 bd-1 3c'+b3c'= O(bc') O(b2(d-1)(bc')2)= O(b2dc'2) O(bd-1!) O(bd-1b2c'2) = O(bd+1c'2) ... ... ....... d bd 3c' O(b2dc'2) O(bd!) O(1) 1 2 b 1 2 b O(b2d-ic'2) i bi O(bd-ic') O(b2dc'2) O(bi!) • Summary information for each plan grows exponentially up the hierarchy • Number of plan steps per level grows exponentially down the hierarchy • Complexity of testing an ordering of plans is constant throughout hierarchy • Number of orderings of plans grows exponentially down hierarchy • Resolving threats is NP-complete (reduced from Hamiltonian Path)
Search Heuristics • Prune inconsistent global plans (MightSomeWay) • “Expand most threats first” (EMTF) • expand subplan involved in most threats • focuses search on driving down to source of conflict • “Fewest threats first” (FTF) • search plan states with fewest threats first • or subplans involved in most threats are blocked first • Branch & bound - abstract solutions help prune space where cost is higher
NEO Domain Experiments • Compare different strategies of ordering search states and ordering expansions • FAF-FAF • DFS-ExCon • FTF-EMTF • FTF-ExCon • 4 - 12 locations • 2 - 4 transports • no, partial, & complete overlap in locations visited
FTF-EMTF found solutions for 23 problems, 14 optimal • FTF-ExCon found solutions for 19 problems, 12 optimal • FAF-FAF found solutions for 22 problems, 14 optimal • DFS-ExCon found solutions for 6 problems, 3 optimal (not shown)
Future Work • What properties of plan hierarchies benefit which heuristics? • For different domains, how can the hierarchies be restructured to take advantage of different heuristics? • How beneficial is it to prune inconsistent and more costly choices at abstract levels?
Contributions • Complexity analysis showing that resolving conflicts at higher levels is much easier than at lower levels • FTF and EMTF heuristics that take advantage of summary information • Sound and complete concurrent hierarchical planner • Preliminary experiments showing that these techniques can greatly improve the search for optimal plans