Agents can attempt to resolve conflicts among their plans by considering commitments to particular decompositions and ordering constraints. In order to do this, the agents must be able to identify remaining conflicts (threats) among their plans. Here we present simple algorithms for reasoning about threats between abstract plans and their required conditions.
Formally, for a set of CHiPs with ordering constraints
, a
threat between an abstract plan
and a summary
condition
of another plan
exists iff
may-clobber
. We say that the threat is unresolvable if
must-clobber
and
because there are no decomposition choices or ordering constraints that could be added to resolve the threat.
So, a simple algorithm for identifying threats is to check to see if
each of the summary conditions of
plans in
is
must- or may-clobbered by any other plan. Since the complexity of
checking to see if a particular condition is must- or may-clobbered is
, this algorithm's complexity is
.
In many coordination tasks, if agents could determine that under
certain temporal constraints their plans can be decomposed in any way
() or that under those constraints there is no way they can
be successfully decomposed (
), then they can make
coordination decisions at abstract levels without entering a
potentially costly search for valid plan merges at lower levels.
Here are the formal definitions of
and
:
Definition 13 states that the plans with summary
information under ordering constraints can execute in any
way if and only if all sets of plans
that have summary information
will execute successfully in any history.
is true if
there is some set of plans that could possibly execute successfully.
We could also describe
,
and
,
in the same fashion, but it is not obvious how their addition could further influence search. Exploring these relations may be an interesting topic for future research.
In Figure 13a, the three top-level plans of
the managers are unordered with respect to each other. The leaf plans
of the partially expanded hierarchies comprise . Arrows
represent the constraints in
.
({},{
,
,
}) is false because there are several
conflicts over the use of machines and transports that could occur for
certain executions of the plans as described in Section
3.3 for Figure
8. However,
({}, {
,
,
}) is true because the plans might in some way execute
successfully as shown in Figure 13b. With the ordering
constraints in Figure 13b,
({before(1,0),
before(0,2)},{
,
,
}) is true
because the plans can execute in any way consistent with these ordering constraints without conflict.
Figure 8b is an example where
is false because
must-clobber the
(M2)MuF
summary precondition of
.
![]() |
As shown in Figure 14, the algorithm for determining
for summary conditions is simple in that it only needs to check for threats.
is more complicated because just checking for
an unresolvable threat is not enough. As shown in Figure
15, it is not the case that plan
must clobber
because
could come between and achieve the precondition
of
. Thus,
may-clobbers
in
and in
.
However, obviously
will clobber one or the other, so
is false. In order to determine
is
, an agent must exhaustively search through an exponential number of schedules
to see if not all conflicts can be resolved. Instead of
performing an exponential search to determine
, we use the simple
algorithm in Figure 14 that just checks for
must-clobber relationships. In Section 5.1 we describe
a more flexible search to find conflict-free abstract plans than just
scheduling at an abstract level.
Thus, while the algorithm is sound and complete, the
algorithm is complete but not sound. This also means that determining
is sound but not complete. We will still
make use of both of these algorithms in a sound and complete
planning/coordination algorithm in Section 5.1.
The complexity of these algorithms
is
since the
procedures for determining
must/may-clobber must be run for each of
conditions (
summary conditions in each of
plans represented by
).