Title: Identifying and Resolving Conflicts among Agents with Hierarchical Plans
1Identifying and Resolving Conflicts among Agents
with Hierarchical Plans
- Brad Clement and Ed Durfee
- Artificial Intelligence Laboratory
- University of Michigan
- bradc, durfee_at_umich.edu
- presentation available at http//ai.eecs.umich.ed
u/people/bradc/aaai99/negotiation.ppt
2What does this have to do with negotiation?
- Mechanisms for
- recognizing the need to resolve conflicts
- identifying what needs to be resolved(resource
conflicts) - identifying who should be involved
- finding candidate global solutions for different
settlements - Not a technique specifying how conflicts are
resolved
3Why negotiate plans?
- Coordinating plans with conflicts involves
negotiation. - Plans relate goals to actions.
- Conditions and effects of actions represent
resources. - Values are often placed on actions.
- Understanding changes in intended actions during
negotiation is natural.
DA
A
B
DB
4Plan Coordination
- Low-level plan coordination
- (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
5Why Hierarchical Plans?
- Negotiation is easier at higher levels
- Better solutions may exist at lower levels
crisper coordination
lowercost
negotiation levels
moreflexibility
6Hierarchical 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-gt0,4
0,0-gt1,1
1,3-gt0,4
1,3-gt0,4HI
0,0-gt1,1LO
1,1-gt1,3
0,0-gt1,1HI
1,3-gt0,4LO
0,0-gt0,1
0,0-gt1,0
1,3-gt0,3
1,1-gt1,2
1,3-gt1,4
0,1-gt1,1
1,2-gt1,3
0,3-gt0,4
1,0-gt1,1
1,4-gt0,4
7Summary 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)
- must, may
- always, sometimes
- external preconditions
- external postconditions
1,3-gt0,4HI
1,3-gt0,3
0,3-gt0,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-gt0,4
DA
0
A
1,3-gt0,4HI
1,3-gt0,4LO
1
DB
2
B
8Determining 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
B - before
O - overlaps
CanAnyWay(before, psum, qsum) ØCanAnyWay(overlaps,
psum, qsum) MightSomeWay(overlaps, psum, qsum)
9Determining Temporal Relations
Cross Room
M - meets
10Determining Temporal Relations
0
1
0
A
A
0
1
B
B
2
Conditional Swap
Simple Swap
11Top-Down Search
- search state
- 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
- CAW and ?MSW improve search
- ?CAW and MSW
- synchronize, look deeper, or backtrack
- MSW identifies threats to resolve
blocked
temporal constraints
blocked
12Top-Down Search
Cross Room
2
1
CanAnyWay BeforeCoordination Successful
13Top-Down Search
Simple Swap
Choose B(2,0)-gt(0,0)RtExpand B(2,0)-gt(0,0)RtChoo
se A(0,0)-gt(2,0)RtExpand A(0,0)-gt(2,0)RtBacktrac
kBlock A(0,0)-gt(2,0)RtChoose A(0,0)-gt(2,0)LtSyn
chronization foundCoordination Successful
Conditional Swap
Expand B(2,0)-gt(0,0) Expand A(0,0)-gt(2,0) No
SynchronizationCoordination failed
14Coordinating at Abstract Levels Can Improve
Performance
Total Cost
top-level best
mid-level best
coordination
primitive-level best
Coordination CostExecution Cost
15Negotiating a Global Plan
- Recognize the need to negotiate by identifying
resource conflicts (threats) - Identify who should be involved
- Identify what needs to be negotiated(choices
that can resolve conflicts) - Find global solutions for different concessions
- negotiation during search
- negotiation after decentralized search and
solution sharing - Plug in any negotiation technique?
- Should negotiation problems be recast as plans?
16Contributions
- 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/negotiation - Formalization of concepts and algorithms
- Theory for Coordinating Concurrent Hierarchical
Planning Agents Using Summary Information, AAAI
99
17Work in Progress Future Work
- Evaluating candidate settlements
- Constructing a concurrent hierarchical planner
- Coordinating/negotiating 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, plan execution, and
negotiation
18Difficulty of CAW and MSW Rule Specification
0
1
A
- MSW(overlaps, psum, qsum)
- false if postconditions conflict
- unsound
- false if conflicts with pin and qpre ? qin 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
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)
19Formalizing Concurrent Hierarchical Plans
- General model of concurrent interaction of
hierarchical plans - Formalization of planning concepts and tools
- Provable properties of summary information
- Sound and complete rules for determining temporal
relations - Toolbox for building sound and complete planning
and negotiation mechanisms