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 ).