180 likes | 262 Views
Top-Down Search for Coordinating the Hierarchical Plans of Multiple Agents. Brad Clement and Ed Durfee Artificial Intelligence Laboratory University of Michigan {bradc, durfee}@umich.edu. Why Coordinate Plans?. Limited resources Individual goals and separately constructed plan libraries
E N D
Top-Down Search for Coordinating the Hierarchical Plans of Multiple Agents Brad Clement and Ed Durfee Artificial Intelligence Laboratory University of Michigan {bradc, durfee}@umich.edu
Why Coordinate Plans? • Limited resources • Individual goals and separately constructed plan libraries • Avoid conflicts andcostly, irreversible decisions • Why not globally replan? 0 1 2 3 4 DA A 0 1 B DB 2
Plan Coordination • Low-level plan merging • (Georgeff ‘83, Ephrati & Rosenchein ‘94, etc.) • High-level plan effect localization (Lansky ‘90) • Combine approaches for multilevel coordination • coordinate hierarchical plans at multiple levels • need to reason about interactions at abstract level
Why Hierarchical Plans? • Coordination is easier at higher levels • Better solutions may exist at lower levels crisper coordination lowercost coordination levels moreflexibility
0 1 2 3 4 A DA 0 1 B DB 2 Hierarchical Plans • Conditions (pre, in, & post) often specified only for primitives • Need refinement info at abstract level • Robust plan execution systems (PRS, RAPS, JAM) 0,0->0,4 0,0->1,1 1,3->0,4 1,3->0,4HI 0,0->1,1HI 0,0->1,1LO 1,1->1,3 1,3->0,4LO 0,0->0,1 1,1->1,2 0,0->1,0 1,3->0,3 1,3->1,4 0,1->1,1 1,2->1,3 0,3->0,4 1,0->1,1 1,4->0,4
Approach • Reason at abstractlevels first • Need information at abstract level about potential refinements • derive summary information for abstract plans • Determine “safe” or impossible temporal relations among plans • Search by expanding agents’ plans from the top down
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 • must, may • always, sometimes • external preconditions • external postconditions 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
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 • CAW and MSW improve search • CAW and MSW don’t tell us much DA A CanAnyWay(before, psum, qsum) ØCanAnyWay(overlaps, psum, qsum) MightSomeWay(overlaps, psum, qsum) DB B B - before O - overlaps
0 1 2 3 4 CanAnyWay B iB M iM A DA 0 MightSomeWay none 1 B DB 2 Determining Temporal Relations Cross Room M - meets
CanAnyWay none CanAnyWay none MightSomeWay B iB M iM MightSomeWay B iB M iM Determining Temporal Relations 0 1 0 A A 0 1 B B 2 Conditional Swap Simple Swap
Difficulty of CAW and MSW Rule Specification 0 1 • MSW(overlaps, psum, qsum) • false if postconditions conflict • unsound • false if conflicts with pin and qpreqin or ppost and qin where • pin is set of must, always inconds of p not achieved by inconds of q • ppost is set of postconds of p • qpre is set of must preconds of q not achieved by in- or postconds of p • qin is set of must, always inconds of p not achieved by inconds of p A 0 O - overlaps 1 B 2 pre: at(A,0,0)in: at(A,0,0), at(A,0,0), at(A,0,1), at(A,0,1), at(A,1,1), at(B,0,0), at(B,0,1), at(B,1,1), at(B,1,0)post: at(A,0,0), at(A,0,1), at(A,1,1), at(A,1,0), at(B,0,0), at(B,0,1), at(B,1,1), at(B,1,0) pre: at(B,2,0)in: at(B,2,0), at(B,2,0), at(B,2,1), at(B,2,1), at(B,1,1), at(A,2,0), at(A,2,1), at(A,1,1), at(A,1,0)post: at(B,2,0), at(B,2,1), at(B,1,1), at(B,1,0), at(A,2,0), at(A,2,1), at(A,1,1), at(A,1,0)
Top-Down Search • search state • set of and plans (one for each agent) • set of temporal constraints • set of blocked subplans • search operators • expand • block • constrain • DFS implementation blocked temporal constraints blocked
A DA B DB Top-Down Search Cross Room 2 1 CanAnyWay BeforeCoordination Successful
0 1 4 A 0 0 3 3 A 1 5 2 B 2 1 B Top-Down Search Simple Swap Choose B(2,0)->(0,0)RtExpand B(2,0)->(0,0)RtChoose A(0,0)->(2,0)RtExpand A(0,0)->(2,0)RtBacktrackBlock A(0,0)->(2,0)RtChoose A(0,0)->(2,0)LtSynchronization foundCoordination Successful Conditional Swap Expand B(2,0)->(0,0) Expand A(0,0)->(2,0) No SynchronizationCoordination failed
DA A DB B Coordinating at Abstract Levels Can Improve Performance BFS algorithm Total Cost top-level best mid-level best primitive-level best Computation CostExecution Cost
Summary • Procedure for deriving summary information • can be applied in hierarchical planning (HTNs) • Rules for determining temporal plan relations at abstract levels • General top-down search algorithm for coordination • Motivated formalization of concepts • Theory for Coordinating Concurrent Hierarchical Planning Agents Using Summary Information, AAAI ‘99
Formalizing Concurrent Hierarchical Plans • General model of concurrent interaction of hierarchical plans • Provable properties of summary information • Sound and complete rules for determining temporal relations • Toolbox for sound and complete planning and coordination mechanisms
Some Unresolved Issues • Coordinating overlapping goals • Adopting other agents’ plans/goals • Dealing with global plan failure • Summarizing plan information differently (probabilistic) • Handling more expressive plan representations • Interleaving planning, plan execution, and coordination • Scaling number of agents and difficulty of coordination