Next: Preparing Multi-Agent Knowledge Up: An Architecture to Support Collective Memory Previous: Individual Agents

Adaptation, Communication, Cooperation, and Coordination

Communication is the central mechanism of cooperation, coordination and adaptation in a community of interacting agents.

The agents use a connection-oriented communication protocol, i.e. communication between agents is similar to a telephone conversation. One agent can ``call" another and either establishes a connection or gets a ``busy" signal (only two agents can participate in a single negotiation). Once a connection is established, communication is limited to a small number of request and response types. Either agent can terminate the conversation. Agents do not have to be in the same location to engage in communication.


 boxfig91

Two agents are said to cooperate if they act or work together to achieve some common purpose. Communication is used to request cooperation; an agent's response depends on whether the request is anticipated or unanticipated. An agent always agrees to cooperate on an anticipated request but cooperation is not guaranteed otherwise.

Cooperation is not guaranteed for unanticipated requests since agents have their own private agendas and attitudes about cooperation. For the present, we only assume that agents are neither ``lazy" nor ``contrary." This means that an agent will be cooperative when she has no current plan or when she has the same plan; in other situations, it is indeterminate whether the agent will wish to cooperate. This attitude falls in the middle of the spectrum of possibilities which ranges from totally cooperative to malevolent (Rosenschien & Genesereth, 1985). Even if an agent is willing to cooperate, she may be unable to do so. However, an agent who is unwilling or unable to assist can propose an alternative.

We use the term `coordination' to refer to an appropriate sequencing of actions for cooperating agents. Coordination is achieved via the WAIT operator and communication. An agent is in an idle state while a WAIT operator is at the top of her plan -- she is waiting for one of two events: her request to be completed or communication indicating that joint action can occur. If she remains idle too long, she will become frustrated and inquire about the status of her request. This makes the WAIT operator a means of coordinating cooperating agents. Agents use communication to determine whether they are cooperating and if so, whether they need to push a WAIT operator onto the plan. Thus, after communication and through the use of WAIT operators, the involved agents are coordinated in their current plans (or they discover that they are not cooperating).

An example of communication, cooperation and coordination between two heavy lifters, named HL1 and HL2, is shown in Figure 1. At time 11, the next operator in HL1's plan is SIGN which initiates the first communication. This is an unanticipated request for HL2, but she chooses to change her current (unshown) plan to cooperate with HL1. Since HL2 must move into the correct room first, she responds that HL1 must wait; thus, HL1 has a WAIT operator to the top of her plan at time 12. At time 13, the next operator in HL2's plan is SIGN which initiates the second dialogue. This is an anticipated request for HL1 since the request matches the WAIT operator on the top of HL1's plan. The agents are now coordinated, so HL1 removes the WAIT operator and the two agents proceed to unload the heavy box from the hand-truck.


Next: Preparing Multi-Agent Knowledge Up: An Architecture to Support Collective Memory Previous: Individual Agents

Andrew Garland
Thu Apr 9 13:39:29 EDT 1998