Effects of Various Coordination Strategies on Coordination Computation, Communication and Reliability

In a dynamic multi-agent environment, agents can coordinate at different levels of plan abstraction to achieve their goals while satisfying various performance measures such as low computational complexity, low coordination and communication overhead and high plan reliability. The following examples use a simple multi-agent domain to illustrate the various tradeoffs that agents can make between these conflicting objectives.

A Simple Dynamic Multi-agent Domain


Figure 1

In this domain,there are two agents A and B who are tasked with transporting evacuees from unsafe nodes to certain safe nodes (see Figure 1). Agent A (colored red in the simulation), initially at node 1, has to transport evacuees from nodes 2, 6, and 5 (unsafe nodes) to node 1 (safe node). Agent B (colored blue in the simulation) initially at node 7, has to transport evacuees from nodes 4, 3, and 8 (unsafe nodes), to node 7 (safe node). The edges between the nodes represent links that the agents can use to move between nodes. Dashed edges represent links that must be destroyed by one of the agents after it has used that link for transporting the evacuees. Specifically, A is tasked with destroying links (2,6) and (6,5), while B is tasked with destroying link (3,6). Only one agent can traverse a link at a given time, but nodes are large enough to hold both A and B. Agents A and B are capable of two kinds of primitive actions. The first kind is called MOV and it is used to transport evacuees between two nodes. MOV(Q,X,Y) is used to denote the transport of evacuees by agent Q from node X to node Y along the link connecting them. The other action called MOVD is used to effect a MOV and then destroy the link that was traversed.

The Agents' Plans


Figure 2

We assume, at the outset, that the agents know enough about the topology of their environment to formulate several alternative plans (routes that allow them to collect their evacuees and destroy their assigned links). The reason why an agent would want alternative plans is that it could be the case that some of the links are unusable, but it will not know this until it arrives at a node connected to that link. For example, if A suspects that link (2,6) could be unusable, then it might formulate a conditional plan of the form: first MOV(A,1,2) then if (2,6) is usable (MOVD(A,2,6)< MOVD(A,6,5) < MOV(A,5,1)) else (MOV(A,2,1) < MOV(A,1,5) < MOV(A,5,6) < MOVD(A,6,5) < MOV(A,5,1)) where < denotes precedence. This kind of conditional plan can be captured with a Hierarchical Task Network (HTN) representation as in Figure 2(a), where A's overall plan A-EVAC is comprised of the first move A12 (the primitive actions an agent can execute directly are shaded) followed by some plan to evacuate from 6 and 5 (A-EVAC-6-5). A-EVAC-6-5 can be accomplished either the short way (A-SHORT-EVAC) along the route 2-6-5-1, or the long way (A-LONG-EVAC) with route 2-1-5-6-5-1. Similarly, if B suspects link (3,6), it could have the HTN plan in Figure 2(b).

From the HTNs for A and B, it is clear that they have to coordinate their tasks. One scenario which can arise if they do not coordinate is the following: Assume that A, having evacuated from node 2, traverses link (2,6) and destroys it on its way to node 6. B, having reached node 3, discovers that link (3,6) is unusable. It then has to fall back on its ``longer'' evacuation route B-LONG-EVAC, but it will fail in its mission because link (2,6) was already destroyed by agent A. This situation could have been averted if agent A had waited until agent B had committed itself to a specific route on its way to node 8. The tradeoff that is possible here is between an efficient simultaneous joint plan (A and B both evacuate via their shorter routes) with some probability of failure (when link (3,6) is unusable) and a less efficient but more robust joint plan (A sits idle at 2 until B chooses its route) which can tolerate the lack of link (3,6) without causing B to fail. It is the task of the distributed coordination process to discover the potential for conflict and tradeoffs in this situation and resolve it in an acceptable fashion.

Brief Overview of Approach

In our approach, the coordination process is distributed between the task agents and a coordinator agent. As described above, the task agents have hierarchical plans and their own preferences with respect to the refinement of abstract plans into detailed plans at runtime. The coordinator, while not aware of these preferences, has the ability to compute the coordination implications of various sets of agent choices. The coordinator requests task agents for their plan refinements when it discovers potential conflicts during an incremental coordination process and proposes temporal constraints on their execution, which are acted upon by the agents, until all the agents have been coordinated.

The Applet and User Controls

In order to run this applet, you will need the Java Plug-in for running Java applets. After the applet has been loaded, two windows should appear: a simulator window and an event window. A brief description of each window follows.

The applet is slow to load up. Please allow it half a minute after it has downloaded. Two windows will appear. Nothing happens in the box below.
</COMMENT>

Five Scenarios

The execution times and the waiting times (for plan synchronization, coordination etc.) for the three agents A, B and C (Coordination agent) are summarized below.

Execution and Waiting Times for the Agents in Scenarios 1-5
Scenario Execution Time Waiting Time
A B C A B C
1 440 820 3 824 3 0
2 440 1000 3 1004 3 0
3 440 820 8 14 14 4
4 440 200 8 14 14 4
5 440 1000 46 630 29 210


Pradeep Pappachan
Last modified: Mon May 22 10:49:08 EDT 2000