Theory for Coordinating Hierarchical Planning Agents Using Summary
Document Sample


Theory for Coordinating
Hierarchical Planning Agents
Using Summary Information
Brad Clement and Ed Durfee
Artificial Intelligence Laboratory
University of Michigan
{bradc, durfee}@umich.edu
Multi-level Coordination & Planning
A DA A DA
B DB B DB
A DA A DA
B DB B DB
blocked temporal
constraints
Hierarchical Planning and
Concurrent Execution
• Hierarchical plans (e.g. HTNs)
– abstract plans as promising classes of long-term activity
– incremental refinement to specific actions
– conditional (contingency) plans
– robust execution systems
(PRS, RAPS, JAM)
• Concurrent execution
– plan merging/coordination
– temporal reasoning and planning
Need to avoid costly, irreversible decisions that result in
failure or backtracking
Need to reason about concurrent interactions of abstract plans
without dealing with entire decompositions
Interleaving Planning, Execution,
and Coordination
• Reason about plans at abstract levels in order to
make safe decisions and avoid backtracking
summarize conditions for potential decompositions
develop mechanisms for determining how plans can
or might interact
coordinate hierarchical plans at abstract levels
commit to safe abstract plans, refine, and execute
Improving Coordination & Planning
• Complete at high level using
summary information to gain
flexibility in execution crisper
• Better solutions lower solutions
coordination coordination
may exist at cost levels
lower levels
• Summary information more
flexibility
aids in pruning
subplans to resolve threats
• New theory deals with concurrent
execution
Reasoning at Abstract Levels
Can Improve Performance
A DA
B DB
Total
Cost
top-level
BFS algorithm mid-level best
lev el co m p u ta tio n execu tio n
best
primitive-level
tim e tim e best
to p 4 60
m id 159 40 Computation Cost
p rim itiv e 2 3 7 5 35 Execution Cost
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
A DA
B B
B DB
B B B B B
CHiP Executions, Histories, and Runs
• Plan execution e = < ts, tf, d >
– preconds hold at ts, postconds at tf, and
inconds within (ts, tf)
– decomposition d is a set of subplan
B B
executions constrained by order
• History h = < E, sI > E={ , , , }
– E - set of plan executions
– sI - initial state before any execution
• Run r : H S sI
– r(h, 0) = sI
– postconds asserted at tf
– inconds asserted just after ts
E={ , , , }
Asserting, Clobbering, Achieving, Undoing
e
• e asserts in/postcondition l at t l l
e e'
• e achieves precondition l of e' l l
e e'
l l
• e clobbers pre/in/postcondition l of e' e e'
e e' l l
e e'
l l
• e undoes postcondition l of e' l l
e' e
l l
• must - for all executions in all histories
• may - for some execution in some history
Summary Information
pre: at(A,1,3)
1,3->0,4HI 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)
• must, may post: at(A,1,3), at(B,1,3),
1,3->0,3 0,3->0,4 at(B,0,3), at(A,0,4), at(A,0,3),
• always, sometimes at(B,0,3), at(B,0,4)
pre: at(A,1,3)
• first, last 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)
• external preconditions pre: at(A,0,3)
in: at(A,0,3), at(B,0,3), at(B,0,4)
• external postconditions post: at(A,0,4), at(A,0,3), at(B,0,3), at(B,0,4)
0 1 2 3 4 pre: at(A,1,3)
1,3->0,4
in: at(A,1,3), at(B,1,3), at(B,0,3),
0 A DA at(B,1,4), at(A,0,3), at(A,1,4),
at(B,0,4), at(A,1,3) 1,3->0,4HI 1,3->0,4LO
1 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),
2 B DB at(B,1,4), at(B,0,4)
Deriving Summary Information
• Recursive procedure bottoming out at primitives
• Derived from those of immediate subplans
• O(n2c2) for n 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) - relation can hold for
any way p and q can be executed
• MightSomeWay(relation, psum, qsum) - relation might hold
for some way p and q can be executed
A DA B - before
B DB O - overlaps
CanAnyWay(before, psum, qsum)
CanAnyWay(overlaps, psum, qsum)
MightSomeWay(overlaps, psum, qsum)
Determining Temporal Relations
among Abstract Plans
• CanAnyWay(order, Psum) - all executions succeed for
all plans with summary info Psum for all histories
MightSomeWay(order, Psum) - all executions succeed
for some set of plans with summary info Psum for some
history
– Psum is a set of summary information for a group of plans
– order is a conjunction of point/interval relation constraints
• CAW and MSW are proven sound and complete
– Proof takes advantage of must-clobber and may-clobber
– Rules identify threats to resolve (resources in contention)
Top-Down Search
• search state blocked
– set of expanded plans
– set of temporal constraints
– set of blocked subplans
• search operators
– expand, block, constrain
CAW used to identify solutions
MSW used to identify failure temporal constraints
CAW and MSW improve search
CAW and MSW
synchronize, look deeper, or backtrack
MSW identifies threats to resolve
blocked
Summary of Contributions
• General model of concurrent interaction of
hierarchical plans
• Formalization of planning concepts
• Proven properties of summary information
• Sound and complete rules for determining
temporal relations
• Toolbox for building sound and complete
planning and coordination mechanisms
Work in Progress & Future Work
• Constructing a concurrent hierarchical planner
• Coordinating overlapping goals
– Adopting other agents’ plans/goals
• Dealing with global plan failure during execution
• Summarizing plan information differently
(probabilistic)
• Handling more expressive plan representations
• Scaling number of agents and difficulty of coordination
• Interleaving planning, execution, and coordination
Complexity of Deriving
Summary Information
# plans n = O(bd)
at level d-1, bd-1 · b2c2 compares
at level d-2, bd-2 · b2(c+bc)2 compares
...
d
... O((bd-i · b2(c+bi-1c)2)) =
i=1
...
depth d O(b2c2 · (bd-i · b2i-2)) =
# conditions c O(b2c2 · (bd+i-2)) =
...
O(b2c2 · b2d-2)) =
O(b2dc2) =
branching factor b O(n2c2)
Difficulty of CAW and MSW
0 1
Rule Specification
• MSW(overlaps, psum, qsum) 0 A
• false if postconditions conflict O - overlaps
– unsound 1
• false if conflicts with pin and
qpre qin or ppost and qin where 2 B
– pin is set of must, always pre: at(A,0,0)
inconds of p not achieved by 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)
inconds of q
post: at(A,0,0), at(A,0,1), at(A,1,1), at(A,1,0),
– ppost is set of postconds of p at(B,0,0), at(B,0,1), at(B,1,1), at(B,1,0)
– qpre is set of must preconds of q
not achieved by in- or pre: at(B,2,0)
postconds of p 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)
– qin is set of must, always
post: at(B,2,0), at(B,2,1), at(B,1,1), at(B,1,0),
inconds of p not achieved by at(A,2,0), at(A,2,1), at(A,1,1), at(A,1,0)
inconds of p
Related docs
Get documents about "