Coalition Formation Among Autonomous Agents

Steven P. Ketchpel[1]

Stanford University, Computer Science Department, Stanford, CA 94305, USA

Abstract. Coalitions of agents can work more effectively than individual agents in many multi-agent settings. Determining which coalitions should form (i.e., what agents should work together) is a difficult problem that is typically solved by some kind of centralized planner. As the number of agents grows, however, reliance on a central authority becomes increasingly impractical. This paper formalizes the coalition formation problem in decision theoretic and game theoretic terms and presents a fully distributed algorithm that can efficiently determine coalitions that will be approximately "stable." Stable coalitions are resistant to attempts of outsiders to break the coalition, because remaining in the coalition maximizes the expected reward for each agent in the coalition. The algorithm is a variant of the "stable marriage matching with unacceptable partners" [6]. The Shapley value ([11], [12]) is suggested as a fair method to divide the coalition's utility among the members.

1 Introduction and Related Work

1.1 Introduction

The proliferation of computer systems has led to a new conception of how computers might work together. The so-called "open systems" structure looks forward to an environment housing a large number of systems of different designs that can work together. Given the broad range of tasks that may be assigned to these systems, flexible schemes of communication and coordination are required. The dynamic formation of coalitions is one such scheme.

Work in DAI has been split into two categories: multi-agent systems and distributed problem solving [9]. The algorithm presented below falls into the multi-agent systems area. It is concerned with the interaction of a large number of self-interested agents. Each agent is "rational" in the economic sense of being a utility maximizer. An independently motivated agent may not be willing to settle for a plan generated by a centralized planner. In many cases the community-optimal plan calls for one or more agents to sacrifice individual utility for the sake of the community. A rational agent would attempt to locate other plans that would maximize its own utility rather than executing the prescribed plan from the centralized planner. In addition, a central planning node is a potential communication bottleneck or system crippling fault point. Therefore, a decentralized solution is preferable, especially in a situation where the agents may be mistrustful of one another.

Agents in a multi-agent planning system may benefit by dynamically forming and dissolving work groups. This benefit may result from one of several reasons: 1) the agents may have partially or fully overlapping goals; 2) the agents may have different abilities, so that by exchanging tasks or resources, the assignment among the larger group may be more efficient; or 3) the agents may place different relative values on present and future gains.

The present work addresses this problem of forming work groups or coalitions. More specifically, if each agent has its own goals, how do agents locate other agents with whom they can beneficially collaborate, and how can they fairly share the joint gain that accrues to the coalition? Formally, we want to partition the set of agents into subsets, each of which is a coalition. Each coalition obtains a certain utility, which is shared among the members of the coalition.

An ideal solution to this problem would have the following characteristics (adapted from [13] and [9]):

* Stability: Each agent is happy with its position, in that there is no way that agents outside a coalition could break the coalition apart by enticing coalition members away with better offers. The excluded agents must lack either the personal incentive to break it apart (i.e., forming a different coalition with some members of the current one would not be to the excluded agents' benefit,) or the means to lure away coalition members (i.e., an agent currently in the coalition would not expect a higher reward if it left). Furthermore, each agent that is included in a coalition prefers being in that coalition to working alone.

* Efficiency: The coalition formation process is efficient in terms of both computational cost and number of communications among the agents. If the added gain of collaborating with the other agents does not outweigh the cost of establishing the coalition, agents will continue to work independently.

* Decentralization: Each agent should take part directly in the calculation and communication. This property is desirable to prevent reliance on a centralized manager, which would increase both the fragility of the system and the potential for bottlenecks.

* Symmetry: No special computational demands should be made on any one agent. All agents play a comparable role, and new agents can be introduced to the community of agents without disrupting the system.

1.3 Related Research

Ephrati and Rosenschein [2] use the Clarke Tax from economic theory to determine which agents will have their goals met, and how much they will be charged for that privilege. Although their agents have individual goals, there is a centralized decision procedure that arbitrates among the goals after obtaining information from all of the agents. The present work builds on previous work [7] which proposes a fully distributed mechanism for exchanging labor among the agents to exploit the different abilities of the agents. The algorithm presented there is based on the contract net [1] but ignores questions of stability. Other market-oriented approaches (e.g., [14]), match producers and consumers of services, but allow only well specified transfers of goods among them, falling short of the notion of forming a collaborative group. Grosz and her colleagues ([4], [5], [10]) formalize the notion of a collaborative plan, but assume the presence of agents that are willing to collaborate and do not address the choice of partners.

The use of decision theory techniques to analyze AI problems dates back to [3]. The Shapley value ([11], [12]) is a tool from game theory which is used here to determine a fair division of the utility among the agents in a coalition.

Gusfield and Irving [6] present the stable marriage algorithm which guarantees stable matchings among a set of men and women with ranked preference lists. They also include a variant of that algorithm called the stable roommate algorithm which is designed for a single class of agents that both makes and receives proposals. The algorithm is quadratic, and is guaranteed to find a stable matching if one exists, but it requires a centralized planner with complete knowledge of all of the agents' preference lists. In order for this approach to work, all of the agents would need to send their preference lists to one agent, thereby introducing a potential bottleneck and failure point. Additionally, agents may have privacy concerns that prevent the disclosure of their entire preference list. The central agent also makes changes in the preference lists, requiring that there be absolute trust in the central planner, because it is making decisions for the agents without consulting them. Therefore, the Gusfield and Irving proposal does not meet the design criteria.

2. The Algorithm

2.1 Overview

This section describes the coalition formation process, which consists of four phases: Communication, Calculation, Offers, and Unification. Figure 1 briefly describes each phase, and Sects. 2.3 through 2.6 provide further details. Taken together, these four phases comprise one round of coalition formation. Each round is limited to joining pairs of entities. Therefore, multiple rounds are required to form larger coalitions. Any coalition that forms in one round is treated as a single entity in subsequent rounds and plays the same role that agents play in the first round. Since some entities may emerge from a given round unpaired, there is the possibility that coalitions may form which have sizes that are not a power of 2.

1. Communication Phase: Each agent gathers the information it needs to determine the compatibility of potential coalition partners.

2. Calculation Phase: Each agent ranks the potential coalition partners, and determines a fair division of the joint utility.

3. Offers Phase: Agents proceed down the preference lists they constructed in Phase 2, extending offers, and accepting or rejecting offers that they receive.

4. Unification Phase: Pairs of agents that accepted each other's offers unify into a single entity for future rounds of formation.

Fig. 1. Phases in coalition formation process

The major contributions of this paper are in the second and third phases, applying the Shapley value for the division of the coalition's utility, and providing a fully distributed algorithm for efficiently creating coalitions of agents.

2.2 Assumptions

Several simplifying assumptions will be made in the definition of the problem. They are:

* Each agent can communicate with every other agent.

* Agents reveal only true information and are obligated to keep the offers they extend to coalition partners.

* Agents are synchronized, with messages being exchanged in discrete "rounds."

* The communication channels are perfect, so that all messages are transmitted faithfully and arrive at their destinations in the time step following the one in which they were sent.

* Utility units are comparable between agents, and further, they are transferrable among agents.

In addition to the above simplifying assumptions, the following restrictions are made to increase the realism of the scenario.

* Communication occurs between two agents at a time. There is no mechanism for broadcasting information to all agents.

* Communication bandwidth is limited. Agents may only send and receive one message at a time. Additional messages are stored in a buffer.

2.3 Communication Phase

Communication among the agents allows them to locate other agents that may have compatible or overlapping goals, or agents that may have complementary skills. During the communication phase, each agent communicates with every other agent to determine how much synergy would be created by the formation of that pair of agents. Several values are needed for the agents to determine the joint utility. Using game theory notation, these values are Click here for Picture , Click here for Picture , and Click here for Picture : the value to agent A alone, the value to B alone, and the maximum value that is guaranteed for the two entities if they work together, even if all of the agents outside the coalition conspire against them. The content of the communication from agent S to agent R, then, consists of two pieces: 1) the precalculated Click here for Picture ; 2) the data that R needs to calculate Click here for Picture .

2.4 Calculation Phase

Once each agent has the requisite information from all of the community members, the calculation phase begins. The field of game theory offers several suggestions for criteria that may be used to divide the group utility. Simply splitting the utility equally among the agents in the coalition does not recognize the possibility that the agents may be making unequal contributions.

The Shapley value takes into account the different contributions of the agents and splits the reward accordingly. Selecting the Shapley value also ensures the sum of the utility shares of the coalition members is exactly the combined utility of the coalition. As a result, no further negotiation about the excess is required; also, it is impossible for the coalition to fail to obtain enough utility to pay all of the member shares, assuming that the agents agree on the values of the game, and that their valuations are the true ones. For the effects of weakening these assumptions, see [8].

The Shapley value is calculated by looking at each of the different dynamics that could lead to the coalition under consideration. The assumption is that agents form a coalition either by being the "founding" member, or else by joining, one at a time, a coalition that already exists. So the set of formation dynamics is simply the permutations of the agents in the coalition. Each agent adds value to a given formation process of the coalition based on the marginal utility gain created by that agent. For example, if agent A is joining agents B, C, and D, and Click here for Picture and Click here for Picture , then A's marginal contribution under this formation ordering is Click here for Picture . If agent A joins a coalition started by B, and then they are joined by agents C and D, A's marginal contribution is Click here for Picture . These are only 2 of the 24 different permutations that might lead to the final coalition ABCD. By averaging A's marginal contribution across all the different formation possibilities, A's Shapley value is obtained. The underlying assumption is that all of the different formation processes are equally likely, and therefore, the marginal contributions for each formation are weighted equally. This calculation ensures that the sum of the Shapley values for all of the members of the coalition will be exactly the coalition's combined utility.

In general, the Shapley value requires looking at all of the permutations, an exponential operation. By limiting the formation to pairs of agents only, the expense of computing the Shapley value is a small constant. Computing the Shapley value for the formation of a two member coalition by agents X and Y requires only Click here for Picture , Click here for Picture , and Click here for Picture . In this degenerate case of two entities forming a coalition, the Shapley value of X is: Click here for Picture

(1)

symmetrically, the Shapley value of Y is: Click here for Picture

(2)

Note that the sum of these two values is Click here for Picture .

Each agent creates a preference ordering among the offers, in order of decreasing utility that it expects to receive, including all of the agents that made an offer yielding a positive utility. There may be cases in which a coalition obtains a combined utility that is less than the individual utility obtainable by one or both of the coalition members. In this case, the agents prefer to remain unattached rather than forming a coalition, so these agents are not listed in the preference lists. They correspond to unacceptable partners in the stable marriage problem.

2.5 Offers Phase

The "stable marriage" algorithm [6] serves as a departure point for the coalition formation algorithm. The stable marriage algorithm with unacceptable partners is a generalization of the stable marriage algorithm where the matching need not be total. An equal number of men and women participate. Each man has a ranked list of preferences among the women, and similarly, each woman has a ranked list of preferences among the men. Certain men may be "unacceptable" to a given woman, so her preference list may include only a subset of the men, and she would prefer being unmatched over a pairing with any "unacceptable" man. Men may also omit women from their preference lists because they are "unacceptable." A matching is a list of pairs of people that are associated. Each person may have at most one partner. A matching is stable if there is no blocking pair, where a blocking pair is defined as follows:

There is a person A such that A prefers some person B to its current partner, and person B prefers A to his or her current state in which he or she is either matched to a lower preference partner or unpaired,

OR

Some person prefers being alone to his or her current partner.

The stable marriage with unacceptable partners algorithm proposed in [6] is Click here for Picture , and guarantees a stable matching.

However, when the two classes ("men" and "women") are conflated to a single class of "agents," certain modifications are required. The efficiency of the modified algorithm is also Click here for Picture , and the modified algorithm is also distributed over symmetric agents. The modified algorithm does not, however, ensure that the matching will be stable, even when stable matchings exist. It will be argued in Sect. 3.2 that the formation process effectively minimizes the impact of this instability by discouraging agents from attempting to break up coalitions.

In the algorithm presented here, each agent lists in its preference list all of the other agents with which it could beneficially collaborate. The agents then extend offers to each other according to their preference lists, accepting offers that improve their positions, declining others, until the situation stabilizes.

Figure 2 gives the pseudo-code implementation of the modified stable marriage algorithm from a centralized point of view. The agents actually execute a somewhat different algorithm, which is shown in Fig. 3. The net result duplicates the behavior of the centralized algorithm, but with a distributed implementation. It is as if the centralized algorithm is called with the agent-list consisting of all the entities in the community.

Both the centralized and distributed algorithms make use of the "Next-Agent-to-Ask" and "Current-Partner" properties of an agent, which correspond to how far down in its preference list an agent is and what its current status is, respectively. In the distributed case, an agent only has access to the values of its own properties. At the termination of either algorithm, the "Current-Partner" property will determine which pairs of entities will form coalitions in that round.

If an agent P accepts the offer of another agent A, P may continue to make offers. Even though P prefers A to its current position, there may be an entity higher in P's preference list that would also like to be paired with P. Therefore, P will ask all of its choices ranked more highly than A before the offers phase terminates. For example, agent A might propose to agent P, and agent P accept but try to better its position. P might extend an offer to a third party S, and leave A if S accepts. If S subsequently leaves P, P will continue down its preference list, potentially asking A to accept on the same terms that A had previously offered, and P spurned.

STABLE (agent-list)

BEGIN

IF agent-list is empty, RETURN.

A := agent from the agent-list.

REPEAT

IF at end of preference-list(A) /*A prefers going solo*/

STABLE(agent-list - A).

RETURN.

END-IF.

A offers to join with the next agent on preference-list(A) call it P.

IF P prefers A to its current status /*whether solo or another partner*/

P accepts A's offer to join.

IF Current-Partner(A) not nil

agent-list := agent-list [[union]] Current-Partner(A).

Current-Partner(Current-Partner(A)) := nil.

END-IF.

Current-Partner(Current-Partner (P)) := nil.

agent-list = agent-list [[union]] Current-Partner(P).

Current-Partner(P) := A.

Current-Partner(A) := P.

STABLE (agent-list - A).

RETURN.

ELSE

P Rejects A's offer.

Advance the position in the preference-list(A) for the next agent to ask.

END-IF.

UNTIL false.

END.

Fig. 2. The centralized version of the modified stable marriage algorithm

The decentralized algorithm requires synchronization among the agents, which is captured in the variable MESSAGE-SYNC of the algorithm in Fig. 3. MESSAGE-SYNC goes through the values: EXTEND-OFFERS, RECEIVE-OFFER/SEND-RESPONSE, RECEIVE-RESPONSE, SEND-DUMP-MESSAGE-1, RECEIVE-DUMP-MESSAGE-1, SEND-DUMP-MESSAGE-2, RECEIVE-DUMP-MESSAGE-2. The round may only end if MESSAGE-SYNC has the EXTEND-OFFERS value.

The restriction of allowing only single messages to be read or sent in a round raises a number of timing issues. For example, since several agents may make offers to a single agent at one time, an agent may not be able to respond to all its offers in a single round. Consequently, an agent may not get a response to its offer in the same round that the offer was extended. An agent is restricted to having a single offer outstanding at a time.

BEGIN.

SWITCH MESSAGE-SYNC

CASE: "EXTEND OFFERS"

IF (Current-Partner is preferred to Next-Agent-to-Ask)

listen for end of phase

ELSE

IF NOT(offer-outstanding)

extend offer to Next-Agent-to-Ask

offer-outstanding := TRUE

ELSE

SEND "I'm not done yet!"

END-IF.

END-IF.

CASE: "RECEIVE OFFER & SEND RESPONSE"

get earliest offer from message buffer, call sender S

IF S is preferred to Current-Partner

DUMP1 := Current-Partner

Current-Partner:= S

SEND "I Accept" to S

ELSE

SEND "I Decline" to S

END-IF.

CASE: "RECEIVE RESPONSE"

IF response in message buffer

get response from message buffer, call Sender S

IF response = "I accept"

IF (S is preferred to Current-Partner)

DUMP2:= Current-Partner

Current-Partner:= S

ELSE

DUMP2:= S

END-IF.

END-IF.

move Next-Agent-to-Ask down 1

offer-outstanding := FALSE

END-IF.

CASE: "SEND DUMP MESSAGE X" (X = 1 or 2)

SEND "I'm no longer interested" to DUMPX

CASE: "RECEIVE DUMP MESSAGE X" (X = 1 or 2)

IF RECEIVE "I'm no longer interested"

Current-Partner:= NIL

END-IF.

END.

Fig. 3. The decentralized version of the modified stable marriage algorithm

Agents recognize the end of an offers phase by listening for silence on the communication channels. It is assumed that any agent can detect the presence of any communication, as though the messages were packets being transmitted on Ethernet. If no offers are extended during the EXTEND-OFFERS phase, then each agent is happy with its current position, and the phase can end. Or, an agent might not be able to extend an offer if it is waiting for a response to an offer it has already extended. In this case, the agent sends a dummy message (to itself, if necessary), preventing the phase from ending.

On first examination, the distributed algorithm of Fig. 3 seems to have the problem that an agent may extend an offer, but as soon as the responding agent accepts, the initiating agent dumps the responder. For example, suppose agent A has the preference list B, C, D (from most preferred to least). Agent B's list is E, A. In this case, it would be possible for A to propose to C (having been declined by B in the previous round), and C is willing to accept. As A is offering to C, however, B (having been dumped by E) may offer to A. Agent A accepts the offer from B, and agent C accepts the offer from agent A. When A receives C's response, A's Current-Partner (which was set to B during EXTEND-RESPONSE) is preferred to the responding agent, so A will send a dumping message to C later that same round. This sequence is not problematic, and corresponds to the serial sequence of A offering to C, C accepting, then B offering to A, and A dumping C to join B.

2.6 Unification Phase

At the end of the matching phase, any stable pair (that is, any pairing i, j such that Current-Partner(i) = j and Current-Partner(j) = i) forms a coalition. This two unit entity then enters the next round of negotiations as a single "agent," with a designated head of the coalition who serves as the communication link between the coalition and the other entities (which may be single agents or larger coalitions.) If any coalition formed in the previous round, the algorithm repeats. When no coalition forms, the algorithm terminates.

2.7 Securities Exchange Example

This section traces an example of the coalition formation process applied to a simplified finance domain problem. Agents model brokers, where each agent has a collection of "customer orders," that may be either "buy" orders or "sell" orders for a certain security. Agents exploit the difference in customer perceptions of the values of securities in order to make a profit. Thus, the agents buy from customers that have low sale prices, then resell these securities to other customers that place higher values on them. For example, if agent A had an order from a client who wished to buy 100 shares of XYZ at 50, and agent B had an order to sell 60 shares of XYZ at 40, the pair's profit would be 600 (60 shares transferred, difference of 10 per share). Agents A and B need not split the profit evenly. In fact, if everyone were trying to buy XYZ, but only a few sellers were available, then agent B, the selling agent, would deserve the lion's share of the utility resulting from the sale.

For the communication round, the agents need to exchange two values. The first of these values is the utility that the single agent can earn without forming a coalition, and it is trivial to calculate, by matching as many as possible buy orders to sell orders for each available security, using first the highest buy prices with the lowest sale prices for the same security. For the second piece of information exchanged in the communication phase, an agent needs to tell its coalition partner the full set of customer orders it has, including the number of shares and the price for each order. By combining this information with the receiving agent's knowledge about its own customer orders, each agent can carry out the calculation to determine the value of the coalition. The agent just appends the new orders to its current orders, then proceeds as if it were a single agent with all of the coalition's orders. Since agents outside the coalition cannot affect the coalition's utility in the securities exchange domain (because any two agents can bilaterally execute a trade, outside agents may not "interfere"), the maximum obtainable utility is independent of the excluded agents.

Figure 4 shows that agent 0 has customer orders to buy 100 shares of AAA stock, at any price up to 35; buy 200 shares of BBB as high as 60; buy 100 shares of CCC as high as 50. Other customers have placed sell orders with agent 0, hoping to sell 100 shares of CCC, as low as 45, and 80 shares of DDD as low as 45. The holdings of agents 1 through 3 can be explained similarly. The single agent utility values result from the fact that agents 0 and 2 have buy orders and sell orders for the same stock. That is, agent 0 can buy the 100 shares of CCC from his customer who wants to sell at 45, and then turn around and sell the same shares to his customer willing to buy at 50, thereby keeping the difference of 5 points per share on each of 100 shares.

Agent BUY SELL

0 AAA: 100@35 CCC: 100@45

BBB: 200@60 DDD: 80@45

CCC: 100@50

1 DDD: 30@60 BBB: 100@55

EEE: 150@40

2 DDD: 80@35 AAA: 200@30 EEE: 90@55 BBB: 60@50

EEE: 100@50

3 FFF: 75@40 GGG: 200@25

HHH: 100@30

v(0) = 500 CCC: 100@5 (0 -> 0)

v(1) = 0

v(2) = 450 EEE: 90@5 (2 -> 2)

v(3) = 0

Fig. 4. Securities exchange example initial holdings and single agent utilities

At the end of the communication round, the agents integrate the information and determine the utility for each of the coalitions which they might join. They then compute the Shapley values of each of the parties in these coalitions, and order the various potential coalition partners based on the expected share of utility that they will obtain. Figure 5 shows the utility to each coalition, and the breakdown of utility calculated by the Shapley value.

v(01) = 500 (100 CCC@5 0 -> 0)

500 (100 BBB@5 1 -> 0)

450 (30 DDD@15 0 -> 1)

= 1450

Shapley Value to 0 = Click here for Picture *(500) + Click here for Picture *(1450 - 0) = 975

Shapley Value to 1 = Click here for Picture *(0) + Click here for Picture *(1450 - 500) = 475

v(02) = 500 (100 CCC @5 0 -> 0)

450 (90 EEE @5 2 -> 2)

500 (100 AAA @5 2 -> 0)

600 (60 BBB @10 2 -> 0)

= 2050

Shapley Value to 0 = Click here for Picture *(500) + Click here for Picture *(2050 - 450) = 1050

Shapley Value to 2 = Click here for Picture *(450) + Click here for Picture *(2050 - 500) = 1000

v(03) = 500 (100 CCC@5 0 -> 0)

Shapley Value to 0 = Click here for Picture *(500) + Click here for Picture *(500 - 0) = 500

Shapley Value to 3 = Click here for Picture *(0) + Click here for Picture *(500 - 500) = 0

v(12) = 1350 (90 EEE @15 1 -> 2)

Shapley Value to 1 = Click here for Picture *(0) + Click here for Picture *(1350 - 450) = 450

Shapley Value to 2 = Click here for Picture *(450) + Click here for Picture *(1350 - 0) = 900

v(13) = 0

Shapley Value to 1 = Click here for Picture *(0) + Click here for Picture *(0 - 0) = 0

Shapley Value to 3 = Click here for Picture *(0) + Click here for Picture *(0 - 0) = 0

v(23) = 450 (90 EEE @5 2 -> 2)

Shapley Value to 2 = Click here for Picture *(450) + Click here for Picture *(450 - 0) = 450

Shapley Value to 3 = Click here for Picture *(0) + Click here for Picture *(450 - 450) = 0

Fig. 5. Utility of two agent coalitions and Shapley values

Figure 5 exhibits two interesting properties of the Shapley value. First, the v(03) shows that including an agent that makes no contribution to the pair (such as agent 3, whose orders are for stocks that none of the other agents can obtain) does not decrease the utility obtained by the other agents in the coalition. Since agent 0 can obtain 500 alone, its group share can not drop below 500. A second interesting point is shown by the coalition of agents 1 and 2. In this case agent 2 is compensated for its option of transferring the 90 shares of EEE stock between its own customers, even though this option is never exercised (i.e., all of the stock that agent 2's customer bought came from agent 1's selling customer.)

Figure 6 gives the preference lists of the four agents, and shows one possible set of formation dynamics for the first round. Since the first step of the algorithm presented in Fig. 2 involves selecting an arbitrary agent from the agent list, there are other dynamics that would work equally well, yielding the same results.

Preference Lists

0: 2, 1

1: 0, 2

2: 0, 1

3:

Agent Selected Action Effects

3 3 makes no offers 3 goes solo

1 1 offers 975 to 0 0 accepts

0 0 offers 1000 to 2 2 accepts, 1 dumped

1 1 offers 900 to 2 2 rejects

1 1 makes no offers 1 goes solo

2 2 offers 1050 to 0 0 accepts.

Final Matching

Agent 0 with Agent 2 obtaining 1050

Agent 1 solo obtaining 0

Agent 2 with Agent 0 obtaining 1000

Agent 3 solo obtaining 0

Fig. 6. Preference lists and formation dynamics

Once the coalition for the first round has been formed, the process repeats. Agents 0 and 2 now behave like a single entity, and one of them is designated the head of the coalition to serve as the contact for future coalition negotiation. In the second round, agent 1 would be added to the coalition of 0 and 2. A third round would result in no new coalitions, so the process would end, with agents 0, 1, and 2 in a coalition, and 3 relegated to a solo role.

3. Evaluation

3.1 Computational Complexity

The modified stable marriage algorithm is, like the stable marriage algorithm upon which it is based, a quadratic algorithm. No agent ever approaches the same agent as the initiating agent twice. There are at most Click here for Picture approaches, since in the worst case each agent approaches every other agent. Each invocation of STABLE results in at least one approach, or the removal of one agent from the agent-list, and an agent who voluntarily leaves the agent-list by going solo will never be added back to the agent list. Handling each approach takes only a constant number of operations to process. Therefore, each round of coalition formation is Click here for Picture . The entire coalition formation process can require at most n rounds, since each round decreases the number of entities by at least one. The whole process is, therefore, Click here for Picture .

3.2 Modified Algorithm is not Stable

As mentioned above, the modified stable marriage algorithm does not maintain the property of stability. There are certain preference orderings for which no algorithm can produce a stable matching, but the algorithm of Fig. 2, or its distributed version in Fig. 3, occasionally leaves unstable pairings even when stable ones exist. The problem can be seen when one agent A is paired to a highly rated choice and therefore rejects the first overture of the second agent, B. If A is dumped, and returns to B, B may be paired with an agent rated more highly than A and reject A. If B is subsequently dumped, it cannot go back to A, since B already asked A, and A refused. Therefore, both A and B are solo when they prefer to be paired with each other.

There are two reasons that instability is to be avoided. The first is that in many cases the unstable solution is not Pareto optimal. Indeed, in the example above, if agents A and B were to form a coalition, they would be better off, without causing any other agents to be worse off. A second reason to avoid instability is that a non-stable solution will probably not be executed as planned. The blocking pair of the non-stable solution would have the incentive to leave their current coalitions and form a new coalition together. Since there is no "enforcement" mechanism that would prevent this defection, it is rational for the two agents to form their own coalition. The algorithms outlined in Fig. 2 and Fig. 3 minimize the ill effects of the instability from the second reason, because an agent is never forced to go solo unless it has been rejected by every agent with which it would like to form a coalition. Therefore, an agent would be less likely to search for ways to break up coalitions since it had already been rejected by every potential partner, so the efforts are likely to be wasted.

3.3 Simulation Results

The centralized approximation of the modified stable matching algorithm was implemented to determine the effectiveness of the matchings that were obtained. In the simulated environment, each pair of agents in the agent pool had a utility that they received if they formed a coalition with each other. The utility values for the coalitions were randomly assigned, from the even numbers in the range of 0 to 998, which the agents split equally. This simulation covered only one "round," so final coalitions were pairs of agents. The results obtained by the modified stable marriage approach are compared to those obtained by exhaustively generating all of the possible pairings and choosing the matching that yielded the highest total utility to the community. There was no restriction that the matching chosen by the exhaustive search must be stable.

The results are shown in Fig. 7. The x-axis indicates the number of agents that were involved in the negotiation. System memory limitations caused the naive exhaustive search algorithm to fail on problems with more than 12 agents. The y-axis shows the amount of utility that the average agent obtained, averaged over 100 runs. The maximum value that any agent could achieve is 499. Comparing the results of the exhaustive algorithm which examined all of the possible pairings with the modified stable marriage algorithm which examines only a subset of the search space shows, as expected, that the stable marriage approach does not do as well in absolute terms. The modified stable marriage algorithm does obtain a substantial fraction of the optimal utility, however, as Table 1 shows. The "Efficiency" column shows the utility obtained by the stable algorithm as a percentage of the optimal values obtained for the same data.

Click here for Picture

Fig. 7. Performance compared to optimal

Table 1. Efficiency compared to optimal

                                          

# of Agents Optimal Stable Efficiency

4 340.3 319.5 0.939

5 326.6 309.0 0.946

6 377.4 358.6 0.950

7 363.3 347.1 0.956

8 406.6 379.3 0.933

9 388.7 373.9 0.962

10 422.7 391.9 0.927

11 404.2 393.7 0.974

12 437.5 401.6 0.918

                                          

As the size of the agent pool increases, the tradeoff between computational effort and quality of the resulting matching favors the modified stable marriage approach, since exhaustive search is growing exponentially, but the modified stable marriage is growing only quadratically. Figure 8 shows that the stable marriage approach retains its ability to find high quality solutions even as the problem size grows very large. In fact, as the number of agents increases, the utility that the average agent obtains nears the absolute maximum of 499, which is not necessarily reachable in every problem instance. Moreover, run times show only a modest increase as the size of the agent set increases, and even sets as large as 350 agents could be handled in less than 1 second using the modified stable marriage algorithm.

Click here for Picture Fig. 8. Performance compared to "Best of 30 random matchings"

Figure 8 compares the stable marriage approach with the simple approach of picking several different pairings at random, and then choosing the one of that set which yields the highest utility for the community. These results are averaged over 100 runs, where each run included selecting 30 different random pairings. The random algorithm took approximately as long to evaluate these 30 different options as the stable marriage method did to come up with its solution for the largest problem sizes. The random approach performed well at small problem sizes, which is unsurprising since there are fewer than 30 different matchings with 4 agents, so the best-of-30 approach is equivalent to an exhaustive search. As the problem size increased, however, the random approach did not perform as well, while the stable marriage algorithm improved noticeably.

The saw-toothed nature of these graphs is due to the coalitions of pairs. Where the number of agents is odd, one agent is forced to go solo, and receives no utility. The "odd one out" pulls down the average by increasing the number of agents without increasing the utility.

4. Conclusions

4.1 Summary

The algorithm presented here for coalition formation uses game theory to address a problem that has has not received much attention in DAI. Since there are cases where agents can bilaterally form coalitions and it is rational for them to do so, it is necessary to plan for this process of coalition formation and perhaps even encourage it as a viable scheme of organizing agents. The proposed variant of the stable marriage algorithm creates an efficient environment for the search through possible coalitions, and results in the formation of coalitions that are close to the theoretical optimal under the given conditions. The Shapley value is one possible fairness criterion that is easy to compute (for the two agent case), and removes the need for further negotiation about the division of the coalition's utility.

4.2 Areas for Future Work

By combining portions of Irving's stable roommate algorithm with the approach suggested here, it may be possible to unite the strong points of both methods and design a fully distributed algorithm that finds a stable match whenever one exists. Further work could also be done to handle the case where no stable matching exists. Although the Shapley value is fair for determining the contribution of the two entities that make up the coalition, the division of utility within a single entity may require a different mechanism. Also, the calculation of the Shapley value used here assumes that the two agents agree on v(AB), and that this value is, in fact, the correct one. The calculation of a fair value is not as easy if these assumptions do not hold. For one possible solution to these last two problems, see [8].

Underlying the application of the stable marriage problem to the coalition formation problem is the assumption that coalitions may form by merging two groups at a time. If the utility is a non-decreasing function of the number of agents, this strategy will allow the proper coalitions to form. The securities exchange domain meets this condition, since adding a new agent to a coalition never drags down the utility of the group. However, by restricting negotiations to only bilateral negotiations, many cases of beneficial collaboration may be missed. For example, consider the three agent exercise where the group of three obtains a large utility reward, but any pair of agents has a negative group utility value. In this instance, there will be no incentive for any two agents to get together, so all collaboration will be blocked, and the potential utility gain from the grand coalition will go unrealized. Analysis should be carried out to determine what classes of domains meet this criterion.

4.3 Acknowledgments

This work would not have been possible without the guidance and support of the numerous people who made considerable contributions. Steven Brenner, Barbara Grosz, Victor Milenkovic, Jeff Rosenschein, Dan Roth, and Stuart Shieber deserve mention for thought-provoking discussions and providing valuable references.

References

1. Davis, R., Smith, R.G.: Negotiation as a metaphor for distributed problem solving. Artificial Intelligence 20 (1983) 63-109

2. Ephrati, E., Rosenschein, J.S.: The Clarke Tax as a consensus mechanism among automated agents. In: Proceedings of the Ninth National Conference on Artificial Intelligence. The AAAI Press, Cambridge MA, 1991, pp. 173-178

3. Feldman, J., Sproull, R.: Decision Theory and Artificial Intelligence II: The Hungry Monkey. In: Allen, J.F., Hendler, J., Tate, A. (eds.) Readings in Planning. Morgan Kaufmann, San Mateo CA, 1990, pp. 207-224

4. Grosz, B., Sidner, C.L.: Plans for discourse. In: Cohen, P.R., Morgan, J.L., Pollack, M.E. (eds.) Intentions in Communication. Bradford Books at MIT Press, Cambridge MA, 1990, pp. 417-444

5. Grosz, B., Kraus, S.: Collaborative plans for group activities. In: Proceedings of the Thirteenth International Joint Conference on Artificial Intelligence. Morgan Kaufmann, San Mateo CA, 1993, pp. 367-375

6. Gusfield, D., Irving, R.W.: The Stable Marriage Problem: Structure and Algorithms. MIT Press, Cambridge MA, 1989

7. Ketchpel, S.P.: Deal Making Among Agents of Different Abilities. Unpublished manuscript, 1991

8. Ketchpel, S.P.: Forming Coalitions in the Face of Uncertain Rewards. In: Proceedings of the Twelfth National Conference on Artificial Intelligence. To appear.

9. Kraus, S., Wilkenfeld, J., Zlotkin, G.: Multiagent Negotiation Under Time Constraints. CS-TR-2975, University of Maryland, 1992.

10. Lochbaum, K.E., Grosz, B., Sidner, C.L.: Models of plans to support communication: An initial report. In: Proceedings of the Eighth National Conference on Artificial Intelligence. The AAAI Press, Cambridge MA, 1990, pp. 485-490

11. Raiffa, H.: The Art and Science of Negotiation. Belknap Press of Harvard University Press, Cambridge MA, 1982

12. Rapoport, A.: N-person game theory; concepts and applications. University of Michigan Press, Ann Arbor MI, 1970

13. Rosenschein, J.S.: Personal communication, 1993

14. Wellman, M.: A general-equilibrium approach to distributed transportation planning. In Proceedings of the Tenth National Conference on Artificial Intelligence. The AAAI Press, Cambridge MA, 1992, pp. 282-289


[1] Author's e-mail address: ketchpel@cs.stanford.edu. The work was performed while the author was at Harvard University.