European Journal of Operational Research 154 (2004) 84–97 www.elsevier.com/locate/dsw
Discrete Optimization
Minimum cost spanning tree games and population monotonic allocation schemes Henk Norde a
a,*
, Stefano Moretti b, Stef Tijs
a
Department of Econometrics and Operations Research and CentER, Faculty of Economics and Business Administration, Tilburg University, P.O. Box 90153, 5000 LE Tilburg, The Netherlands b Institute for Applied Mathematics, National Research Council, Via de Marini 6, 16149 Genova, Italy Accepted 2 September 2002
Abstract In this paper we present the Subtraction Algorithm that computes for every classical minimum cost spanning tree game a population monotonic allocation scheme. As a basis for this algorithm serves a decomposition theorem that shows that every minimum cost spanning tree game can be written as nonnegative combination of minimum cost spanning tree games corresponding to 0–1 cost functions. It turns out that the Subtraction Algorithm is closely related to the famous algorithm of Kruskal for the determination of minimum cost spanning trees. For variants of the classical minimum cost spanning tree games we show that population monotonic allocation schemes do not necessarily exist. Ó 2002 Elsevier B.V. All rights reserved. Keywords: Minimum cost spanning tree games; Population monotonic allocation schemes
1. Introduction The objective in minimum cost spanning tree problems is the construction of a network of minimal cost which provides for every node in the network a connection with the source. Examples of minimum cost spanning tree problems are the problem of building a network of computers that connects every computer with some server or the problem of building a drainage system that connects every house in a city with the water purifier. Another example of a minimum cost spanning tree problem is the problem of carpooling. Suppose that three employees of a firm consider the possibility of carpooling in order to reduce their daily travel cost. The cost of driving a car from one employee to another or from one employee to the firm are given in Fig. 1. Here 1, 2, and 3 denote the employees and 0 denotes the firm. A minimum cost spanning tree in this network is {01, 12, 13} with cost 18. This tree corresponds to the plan of carpooling in which employees
*
Corresponding author. Tel.: +31-13-466-3245/9111; fax: +31-13-466-3280/3072. E-mail address:
[email protected] (H. Norde).
0377-2217/$ - see front matter Ó 2002 Elsevier B.V. All rights reserved. doi:10.1016/S0377-2217(02)00714-2
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
85
Fig. 1. The cost of driving and a minimum spanning tree.
2 and 3 drive their car in solitude to employee 1 where all employees take one car in order to drive together to the firm. Having solved the problem of finding a minimum cost spanning tree the employees are confronted with the problem of how to divide the cost of 18 among the employees in a fair way. At this stage cooperative game theory enters the scene. The employees consider the minimum cost spanning tree game ðN ; cÞ (Bird, 1976), where N ¼ f1; 2; 3g and c : 2N n f;g ! R is the characteristic function which computes for every S 2 2N n f;g the cost cðSÞ of a network of minimal cost connecting every employee in S with the firm. So cð123Þ ¼ 18 and, e.g., cð23Þ ¼ 15 since {02, 23} is a minimum spanning tree for S ¼ f2; 3g. One way of dividing the joint costs cðNP Þ in a fair way is by means of a core allocation (Gillies, 1953), which P is a vector ðxi Þi2N that is efficient, i.e. i2N xi ¼ cðN Þ, and gives no subgroup an incentive to deviate, i.e. i2S xi 6 cðSÞ for every S 2 2N n f;g. Bird (1976) showed how to compute a core element of a minimum cost spanning tree game (see also Granot and Huberman (1981)). First one has to find a minimum spanning tree by means of PrimÕs Algorithm (Prim, 1957), which forms in every step of the algorithm an edge between a node which is not connected yet with the source and the source or a node which is already connected with the source. Secondly the Bird rule assigns the cost of an edge that forms in some step of the algorithm to the node which gets a connection with the source in that same step. In the example of Fig. 1 PrimÕs Algorithm first forms edge 01, then 12, and finally 13 and the Bird rule yields the core allocation x ¼ ð7; 5; 6Þ. Suppose now that a fourth employee is asking whether he can join the car-poolers 1, 2, and 3. The cost of driving from employee 4 to the other employees and to the firm are given in Fig. 2, as well as a minimum spanning tree for the new situation. Application of the Bird rule to this new situation yields the allocation x ¼ ð5; 6; 6; 3Þ. In the new situation employee 2 has to pay 6, whereas in the old situation he only paid 5. Therefore, if the employees use the Bird rule in order to divide joint costs, employee 2 will veto the entrance of employee 4. The central question in this paper is whether every minimum cost spanning tree game has a population monotonic allocation scheme (pmas) (Sprumont, 1990), which is an allocation scheme that provides a core
Fig. 2. The cost of driving and a minimum spanning tree in the new situation.
86
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
element for the game and all its subgames and which, moreover, satisfies a monotonicity condition in the sense that players do not have to pay more in larger coalitions. We will answer this question in the affirmative and we will provide the Subtraction Algorithm, that computes for every minimum cost spanning tree game a pmas. We will show that this algorithm is closely related to KruskalÕs algorithm for finding a minimum spanning tree (Kruskal, 1956). The Subtraction Algorithm is based upon a decomposition theorem, which shows that every minimum cost spanning tree game can be written as a nonnegative combination of minimum cost spanning tree games with 0–1 cost functions. Another approach has been followed by Kent and Skorin-Kapov (1996). They established the existence of a pmas for minimum cost spanning tree games by considering the dual of the LP-problem, corresponding to the problem of finding a minimum spanning tree for the grand coalition. This paper is organized as follows. Some preliminaries are introduced in Section 2. In Section 3 the decomposition theorem is provided and Section 4 focuses on minimum cost spanning tree games with 0–1 cost functions. The Subtraction Algorithm is presented in Section 5 and Section 6 concludes with examples that show that variants of the classical minimum cost spanning tree games do not necessarily have a pmas.
2. Preliminaries In this section we introduce some terminology on graphs and cooperative games. A complete weighted graph is a tuple hN 0 ; wi where (i) N 0 ¼ f0; 1; . . . ; ng; (ii) w : E ! Rþ , where E ¼ fS : S N 0 ; jSj ¼ 2g. Elements of N 0 are called nodes. Node 0 is called the source and N ¼ f1; . . . ; ng the set of players. Elements of E are called edges and for an l 2 E the nonnegative number wðlÞ represents the weight or cost of edge l. If wðlÞ 2 f0; 1g for every l 2 E the cost function w is called simple. The carrier CaðwÞ of w is the set of edges with positiveP cost, i.e. CaðwÞ ¼ fl 2 E : wðlÞ > 0g. A subset C of E is called a network. The cost of network C is wðCÞ ¼ l2C wðlÞ. A path from i to j in C is a sequence of nodes i ¼ i0 ; i1 ; . . . ; ik ¼ j such that fis ; isþ1 g 2 C for every s 2 f0; . . . ; k 1g. A network C is a spanning network for S (S N ) if for every l 2 C we have l S [ f0g and if for every i 2 S there is a path in C from i to 0. A cooperative (cost) game is a tuple ðN ; cÞ where N ¼ f1; . . . ; ng is the set of players and c : 2N n f;g ! R its characteristic (cost) function. A population monotonic allocation scheme or pmas (Sprumont, 1990) of the game ðN ; cÞ is a table x ¼ fxS;i gS22N nf;g;i2S with the properties P (i) i2S xS;i ¼ cðSÞ for all S 2 2N n f;g; (ii) xS;i P xT ;i for all S; T 2 2N n f;g and i 2 N with i 2 S T . A pmas provides a cost allocation vector for every coalition in a monotonic way, i.e. the cost allocated to some player does not increase if the coalition to which he belongs becomes larger.
3. Minimum cost spanning tree games The main aim of this section is to provide a decomposition theorem for minimum cost spanning tree games: every minimum cost spanning tree game is a nonnegative combination of minimum cost spanning tree games which correspond to simple cost functions. First we recall the definition of minimum cost spanning tree games (see Bird, 1976).
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
87
Definition 1. Let hN 0 ; wi be a complete weighted graph. The minimum cost spanning tree (mcst) game ðN ; cÞ, corresponding to hN 0 ; wi, is defined by cðSÞ ¼ minfwðCÞ : C is a spanning network for Sg for every S 2 2N n f;g. In an mcst game the number cðSÞ is the cost of a cheapest network, which connects every member of S with the source and which uses only vertices in S [ f0g. Always a cheapest network without cycles, i.e. a tree, can be chosen. Example 1. Consider the complete weighted graph hN 0 ; wi with N 0 ¼ f0; 1; 2; 3g and cost function w as depicted in Fig. 3. If S ¼ f2; 3g then a minimum cost spanning network for S is C ¼ f02; 03g with cost 13, whereas a minimum cost spanning network for N is C ¼ f01; 12; 13g with cost 12. Proceeding in this way we find that the mcst game ðN ; cÞ, corresponding to hN 0 ; wi, is given by cð123Þ ¼ 12; cð12Þ ¼ 5; cð13Þ ¼ 8; cð1Þ ¼ 1;
cð2Þ ¼ 5;
cð23Þ ¼ 13; cð3Þ ¼ 8:
If no confusion can occur about the set of nodes N 0 ¼ f0; 1; . . . ; ng and hence about the set of players N ¼ f1; . . . ; ng we will denote the complete weighted graph hN 0 ; wi shortly by its cost function w and the mcst game ðN ; cÞ by its characteristic function c. If the cost of all edges in CaðwÞ are lowered by the cost of an edge in CaðwÞ with minimal cost we are left with a cost function with smaller carrier. The following lemma establishes a relation between the corresponding mcst games. Lemma 1. Let w be a cost function with CaðwÞ 6¼ ; and let a :¼ minfwðlÞ : l 2 CaðwÞg. Let w0 be the simple cost function defined by w0 ðlÞ :¼ 1 if l 2 CaðwÞ and w0 ðlÞ :¼ 0 otherwise. Let w00 be the cost function defined by w00 ðlÞ :¼ wðlÞ aw0 ðlÞ for every l 2 E. Finally, let c, c0 and c00 be the mcst games corresponding to w, w0 and w00 respectively. Then we have w ¼ aw0 þ w00 and c ¼ ac0 þ c00 . Proof. It follows by definition that w ¼ aw0 þ w00 . In order to prove that c ¼ ac0 þ c00 , i.e. cðSÞ ¼ ac0 ðSÞ þ c00 ðSÞ for every S 2 2N n f;g, let S 2 2N n f;g. Let C0 be a minimum cost spanning network for S in w0 without cycles, i.e. C0 is a minimum cost spanning tree for S in w0 . Write C0 ¼ L0 [ L1 where L0 :¼ fl 2 C0 : w0 ðlÞ ¼ 0g and L1 :¼ fl 2 C0 : w0 ðlÞ ¼ 1g. Clearly, jC0 j ¼ jL0 j þ jL1 j. Since C0 is a tree we also have jC0 j ¼ jSj. Hence c0 ðSÞ ¼ w0 ðC0 Þ ¼ jL1 j ¼ jSj jL0 j. It suffices to show that there exists a minimum cost spanning tree C00 for S in w00 with L0 C00 . Since then 00 C contains at most jC00 n L0 j ¼ jSj jL0 j edges in Caðw0 Þ and hence w0 ðC00 Þ 6 jSj jL0 j ¼ w0 ðC0 Þ. Therefore C00 is also a minimum cost spanning tree for S in w0 . Having w ¼ aw0 þ w00 and the fact that C00 is a minimum
Fig. 3. The cost function of Example 1.
88
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
cost spanning tree for S in both w0 and w00 we may conclude that C00 is also a minimum cost spanning tree for S in w. So, cðSÞ ¼ wðC00 Þ ¼ aw0 ðC00 Þ þ w00 ðC00 Þ ¼ ac0 ðSÞ þ c00 ðSÞ. In order to show that there is a minimum cost spanning tree C00 for S in w00 with L0 C00 take an arbitrary minimum cost spanning tree C for S in w00 . If L0 C we are ready. If L0 6 C choose an l 2 L0 n C. Since C [ flg contains a cycle C, whereas C0 , and hence L0 , do not contain cycles, we can find an edge l0 2 C with ~ :¼ ðC [ flgÞ n fl0 g. Since w00 ðlÞ ¼ 0 and w00 ðl0 Þ P 0 we find that also C ~ is a minimum cost l0 62 L0 . Define C 00 0 0 ~ spanning tree for S in w . Moreover jC \ L j ¼ jC \ L j þ 1. Repeating this argument results in the tree C00 with the desired properties. Now we are able to prove the main theorem of this section. Theorem 1. Let w be a cost function with CaðwÞ 6¼ ; and let c be the corresponding mcst game. Then there exists a sequence of simple cost functions w1 ; . . . ; wk , with CaðwÞ ¼ Caðw1 Þ Caðw2 Þ Caðwk Þ, and positive numbers a1 ; . . . ; ak such that k X aj wj : w¼ j¼1
Moreover, if c1 ; . . . ; ck are the mcst games corresponding to w1 ; . . . ; wk respectively, we have k X a j cj : c¼ j¼1
Proof. The proof is by induction to jCaðwÞj. If jCaðwÞj ¼ 1 then CaðwÞ has a unique element, say l . Defining a :¼ wðl Þ and the simple cost function w1 by w1 ðl Þ :¼ 1 and w1 ðlÞ :¼ 0 if l 6¼ l we clearly have w ¼ a1 w1 . Moreover, if c1 is the mcst game corresponding to w1 one easily verifies that c ¼ a1 c1 . Now let m 2 N; m P 2 and suppose that the theorem has been proved for every cost function w with jCaðwÞj 6 m 1. Consider a cost function w with jCaðwÞj ¼ m. According to Lemma 1 there is a simple cost function w1 , namely the simple cost function with same carrier as w, a positive number a1 and a cost function w00 with Caðw00 Þ CaðwÞ such that w ¼ a1 w1 þ w00 . Moreover, if c1 and c00 are the mcst games corresponding to w1 and w00 respectively we have c ¼ a1 c1 þ c00 . Application of the induction hypothesis to w00 finishes the proof. Example 2. Consider the cost function w and corresponding mcst game c of Example 1. Application of Theorem 1 yields w ¼ a1 w1 þ a2 w2 þ a3 w3 þ a4 w4 þ a5 w5 þ a6 w6 where a1 ¼ 1; a2 ¼ 3; a3 ¼ 1; a4 ¼ 2; a5 ¼ 1 and a6 ¼ 2, and the simple cost functions w1 ; . . . ; w6 are specified by Edge l
01
02
03
12
13
23
w1 ðlÞ w2 ðlÞ w3 ðlÞ w4 ðlÞ w5 ðlÞ w6 ðlÞ
1 0 0 0 0 0
1 1 1 0 0 0
1 1 1 1 1 0
1 1 0 0 0 0
1 1 1 1 0 0
1 1 1 1 1 1
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
89
Computing the mcst games c1 ; . . . ; c6 corresponding to w1 ; . . . ; w6 respectively we get Coalition S
1
2
3
12
13
23
123
c1 ðSÞ c2 ðSÞ c3 ðSÞ c4 ðSÞ c5 ðSÞ c6 ðSÞ
1 0 0 0 0 0
1 1 1 0 0 0
1 1 1 1 1 0
2 1 0 0 0 0
2 1 1 1 0 0
2 2 2 1 1 0
3 2 1 1 0 0
One easily verifies that
P6
i¼1
ai ci coincides with the mcst game c, as computed in Example 1.
4. Simple cost functions In this section we will focus on simple cost functions. We will show that an mcst game corresponding to a simple cost function has a population monotonic allocation scheme. Using Theorem 1 we obtain as a corollary that every mcst game has a population monotonic allocation scheme. Let w be a simple cost function and let S 2 2N n f;g be a coalition. Two nodes i and j in S [ f0g are ðw; SÞ-connected if there exists a sequence of nodes i ¼ i0 ; . . . ; ik ¼ j in S [ f0g with wðfis ; isþ1 gÞ ¼ 0 for every s 2 f0; . . . ; k 1g. A ðw; SÞ-component of S [ f0g is a maximal subset of S [ f0g with the property that any two nodes in this subset are ðw; SÞ-connected. The number of ðw; SÞ-components is denoted by nðw; SÞ. Clearly the collection of ðw; SÞ-components form a partition of S [ f0g. Lemma 2. Let w be a simple cost function and let c be the corresponding mcst game. Then we have cðSÞ ¼ nðw; SÞ 1 for every S 2 2N n f;g. Proof. Let S 2 2N n f;g. If nðw; SÞ ¼ 1 then S [ f0g is the unique ðw; SÞ-component. Therefore C ¼ fl 2 E : l S [ f0g; wðlÞ ¼ 0g is a spanning network for S with wðCÞ ¼ 0. Hence cðSÞ ¼ 0 ¼ nðw; SÞ 1. Now suppose nðw; SÞ P 2. Let C0 ; C1 ; . . . ; Ck (k P 1) be all ðw; SÞ-components. Clearly S [ f0g ¼ [ki¼0 Ci and nðw; SÞ ¼ k þ 1. Without loss of generality we may assume that 0 2 C0 . For every i 2 f1; . . . ; kg select some node ni 2 Ci . Consider the network C ¼ fl 2 E : l S [ f0g; wðlÞ ¼ 0g [ ffni ; 0g : i 2 f1; . . . ; kgg: The network C is a spanning network for S: nodes in C0 are connected with source 0 via edges in C of zero cost, nodes in Ci with i 2 f1; . . . ; kg are connected with the source via node ni . Moreover wðCÞ ¼ k. It suffices to show that for any spanning tree C0 for S we have wðC0 Þ P k, since then C is a minimum cost spanning network for S in w and hence we have cðSÞ ¼ wðCÞ ¼ k ¼ nðw; SÞ 1. So, let C0 be a spanning tree for S. Define, for every i 2 f0; . . . ; kg, Ci :¼ C0 \ fl 2 E : l Ci ; wðlÞ ¼ 0g. Since C0 , and hence Ci , does not contain cycles we have jCi j 6 jCi j 1 for every i 2 f0; . . . ; kg. Write C0 ¼ L0 [ L1 where L0 :¼ fl 2 C0 : wðlÞ ¼ 0g and L1 :¼ fl 2 C0 : wðlÞ ¼ 1g. Since L0 [ki¼0 Ci we have jL0 j 6
k X i¼0
jCi j 6
k X i¼0
jCi j ðk þ 1Þ ¼ jSj þ 1 ðk þ 1Þ ¼ jSj k:
90
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
Therefore wðC0 Þ ¼ jL1 j ¼ jC0 j jL0 j ¼ jSj jL0 j P k:
Example 3. Consider the complete weighted graph hN 0 ; wi with N 0 ¼ f0; . . . ; 8g and simple cost function w specified by fl 2 E : wðlÞ ¼ 0g ¼ f01; 23; 24; 34; 45; 67g. Let c be the corresponding mcst game. The edges with zero cost are depicted in Fig. 4. Clearly, f0; 1g, f2; 3; 4; 5g, f6; 7g and f8g are all ðw; N Þ-components. Therefore cðN Þ ¼ nðw; N Þ 1 ¼ 4 1 ¼ 3. If we consider for example coalition S ¼ f2; 3; 5; 6g we get that f0g, f2; 3g, f5g and f6g are all ðw; SÞ-components. Therefore we also have cðSÞ ¼ nðw; SÞ 1 ¼ 4 1 ¼ 3. In order to show that an mcst game corresponding to a simple cost function has a pmas we need some more notation. A bijection p : f1; . . . ; ng ! f1; . . . ; ng is called a permutation of N ¼ f1; . . . ; ng. The set of all permutations of N is denoted by PN . If w is a simple cost function, S 2 2N n f;g and i 2 S then the ðw; SÞcomponent to which i belongs is denoted by Ci ðw; SÞ. Definition 2. Let w be a simple cost function and let p 2 PN . The vector xp;w ¼ ðxp;w S;i ÞS22N nf;g;i2S is defined in the following way: 8 0 if 0 2 Ci ðw; SÞ > > < 0 if 0 62 Ci ðw; SÞ and pðiÞ 6¼ min pðjÞ xp;w j2Ci ðw;SÞ S;i ¼ > > : 1 if 0 62 Ci ðw; SÞ and pðiÞ ¼ min pðjÞ j2Ci ðw;SÞ
N
for every S 2 2 n f;g; i 2 S. The vector xp;w provides for every coalition S 2 2N n f;g a division of the cost cðSÞ in the following way: all members of the ðw; SÞ-component containing the source 0 do not have to pay anything whereas the (unit) cost of all other ðw; SÞ-components is allocated to the member in the component with the lowest index according to p. Example 4. Consider the simple cost function w of Example 3 and let p 2 PN be given by pð1Þ ¼ 2, p;w p;w pð2Þ ¼ 7, pð3Þ ¼ 5, pð4Þ ¼ 3, pð5Þ ¼ 6, pð6Þ ¼ 8, pð7Þ ¼ 1 and pð8Þ ¼ 4. Then xp;w N ;1 ¼ xN ;2 ¼ xN ;3 ¼ p;w p;w p;w p;w p;w p;w xN ;5 ¼ xN ;6 ¼ 0 and xN ;4 ¼ xN ;7 ¼ xN ;8 ¼ 1. Moreover, for S ¼ f2; 3; 5; 6g we get xS;2 ¼ 0 and xp;w S;3 ¼ p;w xp;w ¼ x ¼ 1. S;5 S;6 In the following lemma we prove that the vector xp;w is a pmas for the mcst game corresponding to simple cost function w.
Fig. 4. The cost function of Example 3.
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
91
Lemma 3. Let w be a simple cost function, c the corresponding mcst game, and p 2 PN . Then xp;w is a pmas for c. Proof. Let S 2 2N n f;g. Every ðw; SÞ-component which does not contain the source 0 contains precisely one player i 2 S with xp;w S;i ¼ 1. Therefore X p;w xS;i ¼ nðw; SÞ 1 ¼ cðSÞ: i2S p;w Now let i 2 N and S; T 2 2N n f;g be such that i 2 S T . In order to show that xp;w S;i P xT ;i it suffices to p;w p;w p;w show that xT ;i ¼ 1 implies xS;i ¼ 1. So, assume xT ;i ¼ 1, i.e. 0 62 Ci ðw; T Þ and pðiÞ ¼ min pðjÞ: j2Ci ðw;T Þ
Obviously we have Ci ðw; SÞ Ci ðw; T Þ, which implies 0 62 Ci ðw; SÞ and pðiÞ ¼ min pðjÞ: j2Ci ðw;SÞ
Therefore
xp;w S;i
¼ 1.
As a corollary we get the main theorem of this paper. Theorem 2. Every mcst game has a pmas. Proof. The theorem follows directly from Theorem 1, Lemma 3 and the observation that if x1 ¼ ðx1S;i ÞS22N nf;g;i2S is a pmas for c1 and x2 ¼ ðx2S;i ÞS22N nf;g;i2S for c2 then ax1 þ bx2 :¼ ðax1S;i þ bx2S;i ÞS22N nf;g;i2S is a pmas for ac1 þ bc2 for every a P 0 and b P 0.
5. Algorithms Two famous algorithms for the determination of a minimum cost spanning tree are the algorithm of Prim (Prim, 1957) and the algorithm of Kruskal (Kruskal, 1956). In order to describe both algorithms briefly let w be a cost function and let S 2 2N n f;g. A minimum cost spanning tree for S can be obtained in the following two ways. Prim’s Algorithm: In the first step form an edge of minimal cost between a node in S and the source 0. In every subsequent step form an edge of minimal cost between a node in S which is not connected yet with the source, directly or indirectly, and the source or with a node in S which is already connected with the source, directly or indirectly. In every step of the algorithm there is precisely one node in S which gets a connection with the source, so the algorithm stops after precisely jSj steps. Kruskal’s Algorithm: In the first step form an edge between nodes in S [ f0g of minimal cost. In every subsequent step form an edge between nodes in S [ f0g of minimal cost which does not form a cycle with the edges which have already been formed. The algorithm also stops after precisely jSj steps. The algorithm of Prim has proven its use in cost allocation. If one assigns the cost of an edge, which is formed in some step of the algorithm, to the player who gets a connection with the source, directly or indirectly, in that same step then one obtains a core element of the corresponding mcst game (see Bird, 1976 for more details). In the following example we will demonstrate that such a procedure does not necessarily generate a pmas of the corresponding mcst game.
92
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
Example 5. Consider the complete weighted graph hN 0 ; wi with N 0 ¼ f0; 1; 2; 3g and cost function w as depicted in Fig. 5. Application of PrimÕs Algorithm for N ¼ f1; 2; 3g yields the formation of edge 01 first, followed by the formation of edge 13 and edge 23. The cost of edge 01 is assigned to player 1, the cost of edge 13 to player 3 and the cost of edge 23 to player 2. Following the same procedure for all other coalitions we get the following table S
1
2
3
123 12 13 23 1 2 3
6 6 6 6
8 17 17 17
13 13 8 18
This table does not provide a pmas of the corresponding mcst game: in coalition S ¼ f2; 3g player 3 has to pay 8 which is strictly less than the amount 13 which he has to pay in the larger coalition N ¼ f1; 2; 3g. A basis for an algorithm that finds a pmas in any mcst game is provided by Theorem 1 and Lemma 3. First decompose a cost function w with CaðwÞ 6¼ ; as a positive combination of simple cost functions w1 ; . . . ; wk , with a strictly decreasing carrier Caðw1 Þ Caðwk Þ: w¼
k X
aj wj
j¼1
(the number aj , j 2 f1; . . . ; kg, is precisely the number a which is computed at the jth step of the Subtraction Algorithm presented below in line 2 of the pseudocode). Theorem 1 tells us that the same decomposition is true for the mcst games c and c1 ; . . . ; ck , corresponding to w and w1 ; . . . ; wk respectively: c¼
k X
a j cj :
j¼1
Subsequently, fix some permutation p 2 PN . Compute, for every i 2 f1; . . . ; kg the vector xp;wi . According to Lemma 3 the vector xp;wi is a pmas for ci for every i 2 f1; . . . ; kg. Consequently the vector xp;w :¼
k X
aj xp;wj
j¼1
Fig. 5. The cost function of Example 5.
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
93
is a pmas for mcst game c (see lines 3–8 of the pseudocode of the Subtraction Algorithm where at the jth step of the algorithm the vector aj xp;wj is added to the current value of x). For the sake of completeness note that for w ¼ 0 the vector xp;w :¼ 0 is a pmas for the corresponding minimum cost spanning tree game c ¼ 0. A formal description of this algorithm is given below. Subtraction Algorithm for the computation of a pmas of an mcst game. Initialisation: Let hN 0 ; wi be a complete weighted graph and let p 2 PN . Define x ¼ fxS;i gS22N nf;g;i2S by xS;i :¼ 0 for every S 2 2N n f;g; i 2 S. Algorithm: WHILE w 6¼ 0 (1) DO a :¼ minfwðlÞ : l 2 E; wðlÞ > 0g (2) FOR every S 2 2N n f;g; i 2 S: (3) BEGIN (4) IF 0 62 Ci ðw; SÞ and (5) pðiÞ ¼ minj2Ci ðw;SÞ pðjÞ (6) THEN xS;i :¼ xS;i þ a (7) END (8) FOR every l 2 E with wðlÞ > 0: (9) wðlÞ :¼ wðlÞ a (10) END (11) In the following example we illustrate the Subtraction Algorithm.
Example 6. Consider the complete weighted graph of Example 5 and let p 2 PN be given by pðiÞ ¼ i for every i 2 N . In every step of the Subtraction Algorithm some of the coefficients xS;i will be raised by some amount a. Which coefficients xS;i will be raised? Coefficient xS;i will be raised if there is no path in S [ f0g of zero cost from i to source 0 (0 62 Ci ðw; SÞ), and if there is no path in S [ f0g of zero cost from i to some node j 2 S with pðjÞ < pðiÞ. In the first step of the algorithm a ¼ 6, the cost of edge 01. Since all edges have positive cost all coefficients xS;i will be raised by 6. At the end of step 1 the cost of every edge will be lowered by 6, so wð01Þ ¼ 0. In the second step of the algorithm a ¼ 2, the cost of edge 23. Since edge 10 is a path from 1 to source 0 of cost zero all coefficients xS;1 with 1 2 S will not be raised in this step (and in subsequent steps), whereas all other coefficients are raised by 2. At the end of step 2 the cost of every edge with positive cost will be lowered by 2, so wð23Þ ¼ wð01Þ ¼ 0. In the third step of the algorithm a ¼ 5, the cost of edge 13. Since edge 32 is a path of zero cost which connects player 3 with player 2, which has a lower index according to p (pð2Þ < pð3Þ), the coefficients x123;3 and x23;3 will not be raised in this and further steps. All coefficients, which remain to be raised, are increased by 5 and at the end of step 3 the cost of every edge with positive cost will be lowered by 5, so wð13Þ ¼ wð23Þ ¼ wð01Þ ¼ 0. In step 4 we have a ¼ 4, the cost of edge 02. Since player 2 is ðw; 123Þ-connected with the source, via path 23, 31, 10, and player 3 is ðw; 13Þ-connected with the source, via path 31, 10, the corresponding coefficients will not be raised anymore, whereas all coefficients, which remain to be raised, are increased by 4. At the end of step 4 the cost of every edge with positive cost will be lowered by 4, so wð02Þ ¼ wð13Þ ¼ wð23Þ ¼ wð01Þ ¼ 0. In step 5 we have a ¼ 1, the cost of edge 03. Since edge 20 is a path from 2 to source 0 of zero cost the coefficients x12;2 , x23;2 , and x2;2 will not be raised any further. The only coefficient, which remains to be raised, x3;3 , is increased by 1. At the end of step 5 every edge with positive cost is lowered by 1, so wð02Þ ¼ 0.
94
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
In step 6 we have a ¼ 3, the cost of edge 12. Since edge 30 is a path from 3 to source 0 of zero cost coefficient x3;3 will not be raised anymore. The cost of the only edge with positive cost, edge 12, is lowered by 3 and the algorithm stops. The pmas of the corresponding mcst game, created in the Subtraction Algorithm, is given by S
1
2
3
S
1
2
3
123 12 13 23 1 2 3
6 6 6 6
6þ2þ5 6þ2þ5þ4 6þ2þ5þ4 6þ2þ5þ4
6þ2 6þ2þ5 6þ2 6þ2þ5þ4þ1
123 12 13 23 1 2 3
6 6 6 6
13 17 17 17
8 13 8 18
¼
Note that this scheme coincides with the one in Example 5, except for the fact that coefficients x123;2 and x123;3 have been interchanged. Note moreover that player 2 in coalition f1; 2; 3g has to pay the cost of edge 13, although he does not belong to this edge. In every step of the Subtraction Algorithm a multiple of a simple cost function is subtracted from the current cost function w. Moreover, the same multiple of the pmas of the mcst game corresponding to this simple cost function is added to the current table x. Note moreover that in every step of the Subtraction Algorithm at least one edge gets zero cost. Hence the Subtraction Algorithm stops after at most ð1=2ÞjN jðjN j þ 1Þ steps. Nevertheless, a pmas fxS;i gS22N nf;g;i2S contains jN j2jN j1 coordinates. So, in every step of the algorithm an exponential number of coordinates has to be raised. Remark. Consider a complete weighted graph hN 0 ; wi where, in order to simplify arguments, all edges have different positive cost. Let p 2 PN and let xp;w be the pmas generated by the Subtraction Algorithm. Let y ¼ ðxp;w N ;i Þi2N be the corresponding core allocation for the grand coalition N . Moreover, let C ¼ fl1 ; . . . ; ln g be the unique minimum cost spanning tree for N with wðl1 Þ < wðl2 Þ < < wðln Þ. So, according to KruskalÕs Algorithm, edge l1 forms in the first step, edge l2 in the second step, etc. Let i1 2 N be the unique player which is connected via network C1 ¼ fl1 g with the source 0 or with some node j 2 N with pðjÞ < pði1 Þ, let i2 be the unique player in N n fi1 g which is connected via network C2 ¼ fl1 ; l2 g with the source 0 or with some node j 2 N with pðjÞ < pði2 Þ, etc. Note that in Example 6 we have l1 ¼ 01, l2 ¼ 23, l3 ¼ 13, and i1 ¼ 1, i2 ¼ 3 and i3 ¼ 2. One easily verifies that yik ¼ wðlk Þ for every k 2 f1; . . . ; ng. Stated differently, the Subtraction Algorithm allocates the cost of an edge which forms in some step of KruskalÕs Algorithm to the player which gets a connection with the source or with a player with a lower index according to p. 6. Variants of mcst games In this final section we will consider some variants of minimum cost spanning tree games. One variant is the class of monotonic minimum cost spanning tree games which are characterized by the fact that coalitions are allowed to use networks which contain nodes outside the coalition (Steiner trees). Two other variants are obtained by considering directed weighted graphs. Here the aim of coalitions is to construct a directed network such that every player in the coalition is connected with the source via a directed path. This approach leads to the class of directed minimum cost spanning tree games and monotonic directed minimum cost spanning tree games. For any of these new classes of games we will present an example that does not have a pmas.
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
95
First we consider the class of monotonic minimum cost spanning tree games. Definition 3. Let hN 0 ; wi be a complete weighted graph. The monotonic minimum cost spanning tree game ðN ; cmon Þ, corresponding to hN 0 ; wi, is defined by cmon ðSÞ ¼ minfwðCÞ : C is a spanning network for some coalition T Sg for every S 2 2N n f;g. In the following example we present a monotonic minimum cost spanning tree game without a pmas. Example 7. Consider the complete weighted graph hN 0 ; wi with N 0 ¼ f0; 1; 2; 3; 4; 5; 6g and cost function w as depicted in Fig. 6. All edges that are depicted have cost 1, whereas all other edges have cost 10. A minimum cost spanning tree for S ¼ f1; 2; 3g is f04; 05; 14; 24; 35g so cmon ð123Þ ¼ 5. A minimum cost spanning tree for S ¼ f1; 2g is f04; 14; 24g so cmon ð12Þ ¼ 3. In a similar way one gets cmon ð13Þ ¼ cmon ð23Þ ¼ 3. If cmon has a pmas fxS;i gS22N nf;g;i2S then 10 ¼ 2cmon ð123Þ ¼ 2ðx123;1 þ x123;2 þ x123;3 Þ 6 x12;1 þ x13;1 þ x12;2 þ x23;2 þ x13;3 þ x23;3 ¼ x12;1 þ x12;2 þ x13;1 þ x13;3 þ x23;2 þ x23;3 ¼ cmon ð12Þ þ cmon ð13Þ þ cmon ð23Þ ¼ 9; which yields a contradiction. In fact, we have shown that cmon is not even totally balanced. Megiddo (1978) already noted that monotonic minimum cost spanning tree games do not have to be totally balanced. In order to provide the definition of directed minimum cost spanning tree games and monotonic directed minimum cost spanning tree games we need some more terminology. A complete directed weighted graph is a tuple hN 0 ; wi where (i) N 0 ¼ f0; 1; . . . ; ng; (ii) w : D ! Rþ , where D ¼ fði; jÞ : i; j 2 N 0 ; i 6¼ jg. Elements of D are called directed arcs. A directed path from i to j in network C D is a sequence of nodes i ¼ i0 ; i1 ; . . . ; ik ¼ j such that ðis ; isþ1 Þ 2 C for every s 2 f0; . . . ; k 1g. Network C is a spanning network for S (S N ) if for every ði; jÞ 2 C we have fi; jg S [ f0g and if for every i 2 S there is a directed path in C from i to 0. Definition 4. Let hN 0 ; wi be a complete directed weighted graph. The directed minimum cost spanning tree game ðN ; cÞ, corresponding to hN 0 ; wi, is defined by cðSÞ ¼ minfwðCÞ : C is a spanning network for Sg
Fig. 6. The cost function of Example 7.
96
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
for every S 2 2N n f;g, whereas the monotonic directed minimum cost spanning tree game ðN ; cmon Þ, corresponding to hN 0 ; wi, is defined by cmon ðSÞ ¼ minfwðCÞ : C is a spanning network for some coalition T Sg for every S 2 2N n f;g. We conclude this section with two examples that show that directed minimum cost spanning tree games and monotonic directed minimum cost spanning tree games do not necessarily have a pmas. Example 8. Consider the complete directed weighted graph hN 0 ; wi with N 0 ¼ f0; 1; 2; 3; 4; 5; 6g and cost function w as depicted in Fig. 7. All directed arcs which are depicted have cost 0 whereas all other directed arcs have cost 1. Let ðN ; cÞ be the directed minimum cost spanning tree game, corresponding to hN 0 ; wi, and suppose that x ¼ fxS;i gS22N nf;g;i2S is a pmas for c. A minimum cost spanning network for N is obtained by taking all directed arcs with cost 0 and directed arc ð1; 0Þ. So cð123456Þ ¼ 1. Now consider S ¼ f1; 3; 4g. We have 2 ¼ cð134Þ ¼ x134;1 þ x134;3 þ x134;4 6 x14;1 þ x3;3 þ x14;4 ¼ x14;1 þ x14;4 þ x3;3 ¼ cð14Þ þ cð3Þ ¼ 1 þ 1 ¼ 2; and hence x134;3 ¼ x3;3 ¼ cð3Þ ¼ 1. Since also cð13Þ ¼ cð4Þ ¼ 1 we get in a similar way that x134;4 ¼ 1. Therefore x134;1 ¼ cð134Þ x134;3 x134;4 ¼ 0 and hence, by population monotonicity, xN ;1 6 x134;1 ¼ 0. By considering respectively coalitions 234, 356, 456, 512 and 612 we get via Panalogous arguments that the numbers xN ;2 ; . . . ; xN ;6 are all nonpositive. This contradicts however that i2N xN ;i ¼ cðN Þ ¼ 1. Example 9. Consider the complete directed weighted graph hN 0 ; wi with N 0 ¼ f0; 1; 2; 3; 4; 5; 6g and cost function w as depicted in Fig. 8. All directed arcs which are depicted have cost 0, whereas all other directed arcs have cost 1. Let cmon be the monotonic directed minimum cost spanning tree game corresponding to hN 0 ; wi. A minimum cost spanning network for S ¼ f1; 2; 3g is fð1; 4Þ; ð2; 4Þ; ð3; 5Þ; ð4; 0Þ; ð5; 0Þg so
Fig. 7. The cost function of Example 8.
Fig. 8. The cost function of Example 9.
H. Norde et al. / European Journal of Operational Research 154 (2004) 84–97
97
cmon ð123Þ ¼ 2. A minimum cost spanning network for S ¼ f1; 2g is fð1; 4Þ; ð2; 4Þ; ð4; 0Þg so cmon ð12Þ ¼ 1. In a similar way one gets cmon ð13Þ ¼ cmon ð23Þ ¼ 1. Since 2cmon ð123Þ > cmon ð12Þ þ cmon ð13Þ þ cmon ð23Þ we conclude in a similar way as in Example 7 that cmon has no pmas. In Moretti et al. (2001) a special subclass of directed minimum cost spanning tree problems is considered, which show up in considering the problem of connecting houses in the mountains with a water purifier. It is shown that the games corresponding to these problems always have a pmas.
Acknowledgements We are indebted to two anonymous referees for useful comments.
References Bird, C.G., 1976. On cost allocation for a spanning tree: A game theoretic approach. Networks 6, 335–350. Gillies, D.B., 1953. Some theorems on n-person games, Ph.D. Dissertation, Princeton University Press, Princeton, New Yersey. Granot, D., Huberman, G., 1981. On minimum cost spanning tree games. Mathematical Programming 21, 1–18. Kent, K.J., Skorin-Kapov, D., 1996. Population monotonic cost allocations on MSTs, Discussion Paper, State University of New York at Stony Brook. Kruskal, J.B., 1956. On the shortest spanning subtree of a graph and the traveling salesman problem. In: Proceedings of the American Mathematical Society 7, pp. 48–50. Megiddo, N., 1978. Cost allocation for Steiner trees. Networks 8, 1–6. Moretti, S., Norde, H., Pham Do, K.H., Tijs, S., 2001. Connection problems in mountains and monotonic allocation schemes, CentER Discussion Paper 2001-12, Tilburg University. Prim, R.C., 1957. Shortest connection networks and some generalizations. Bell Systems Technical Journal 36, 1389–1401. Sprumont, Y., 1990. Population monotonic allocation schemes for cooperative games with transferable utility. Games and Economic Behavior 2, 378–394.