Cost-Sharing Mechanisms for Network Design

We consider a single-source network design problem from a game-theoretic perspective. Gupta, Kumar and Roughgarden (Proc. 35th Annual ACM STOC, pp. 365–372, 2003) developed a simple method for a single-source rent-or-buy problem that also yields the best-known approximation ratio for the problem. We show how to use a variant of this method to develop an approximately budget-balanced and group strategyproof cost-sharing method for the problem. The novelty of our approach stems from our obtaining the cost-sharing methods for the rent-or-buy problem by carefully combining cost-shares for the simpler Steiner tree problem. Our algorithm is conceptually simpler than the previous such cost-sharing method due to Pál and Tardos (Proc. 44th Annual FOCS, pp. 584–593, 2003), and improves the previously-known approximation factor of 15 to 4.6.


Introduction
This paper studies the problem of giving good cost-sharing mechanisms for a single-source network design problem. Imagine a general network design problem, where the participants (or agents) want to build a network connecting them to a common source (a server); however, they are autonomous and behave in a selfish (but non-malicious) fashion. Informally, a cost-sharing mechanism builds a network, and allocates the cost incurred among the agents, so that no group of agents is charged too much, thus precluding the possibility of their being unhappy and trying to secede from the system.
The type of problem we consider is where we are given an undirected graph G = (V, E), and a set of demands D ⊆ V that want to connect to a common source r. We want to devise an algorithm that builds a cheap network on the demands D, and also specify what portion of its cost is paid by which of the participants in the network; moreover, this should be done in a manner that ensures that the cost paid by any subset of the participants is "fair".
To make all this precise, let us consider a network design game on a graph G = (V, E). The cost-shares will be specified by a function ξ : 2 V × V → R ≥0 , where ξ(D, i) will specify the cost share paid by the player i ∈ V when the actual set of demands is D ⊆ V . To ensure that players are not penalized when they do not participate in the game, we require that ξ(D, i) = 0 for i ∈ D. For a particular set D of demands, we use OPT(D) to denote the minimum cost network serving the users in the set D, and use Alg(D) to denote the cost (or expected cost, in the case of randomized algorithms) of the network computed by our algorithm. We will be concerned with designing algorithms and cost-sharing functions ξ that satisfy the following properties: 1. (β-approximate budget-balance) For any set of demands D, we require that OPT(D) ≥ i∈D ξ(D, i) ≥ Alg(D)/β for some given parameter β ≥ 1. Equivalently, by multiplying the shares by β, we could require that the cost-shares are at least the total cost of the solution found by the algorithm, but do not exceed β OPT(D). If β = 1, we say that the cost-sharing function ξ is budget-balanced.

(cross-monotonicity)
For any A ⊆ D and any i ∈ A, ξ(D, i) ≤ ξ(A, i). I.e., the cost-share of any fixed demand point i should not increase due to other demands entering the system. This property is also known under the name of population-monotone.
It is well-known that the two properties above immediately imply the following desirable property (see, e.g., [8] or Lemma 3.1, for a proof): 3. (fairness) For any A ⊆ D, i∈A ξ(D, i) ≤ OPT(A). I.e., the cost paid by any subset of people should not exceed the optimal cost of connecting them alone and hence they have no incentive to secede. This property is often referred to as competitiveness.
Cross-monotonicity is a key ingredient used in solving the following type of mechanism design problems/games: consider the network design problem with a set of demand nodes D, with each user (or demand) d having an associated utility u d . Since the users have limited utilities, the service provider has to now decide which subset of customers it must serve, in addition to designing the network and deciding how to share the cost between the served customers. A mechanism for solving this problem is called group strategyproof if no subset of users has an incentive to deviate from the protocol (e.g., by misreporting their utility) in the hope of improving the outcome for themselves (e.g., receiving the service at a cheaper cost). Moulin and Shenker [8] show that having a cross-monotone cost-sharing method for a problem naturally gives rise to a group strategyproof mechanism for the problem in the following way. We start with all the customers; if there is some customer whose cost share (computed w.r.t. the current set of customers) exceeds its utility, we drop it from the set, recompute cost shares and repeat. At the end, we are left with the desired set of customers and their cost-shares.
As an example of cross-monotonicity, let us consider the MINIMUM SPANNING TREE game on the complete graph G = (V, E) with edge weights, given by a set of players D and a root r / ∈ D; the objective is to find the cheapest tree MST(D) spanning D and r. It must be emphasized that this game does not allow the use of Steiner vertices in MST(D), and r is not a player, and hence should have no cost-share. It is not difficult to verify that a budget-balanced and fair cost-sharing scheme for this game can be found thus: find an MST, root it at r, and set the cost-share for vertex i ∈ D to be the cost of the edge from i to its parent. However, this scheme is not crossmonotone, and getting a cross-monotone cost-sharing scheme for the minimum spanning tree problem takes more work. Kent and Skorin-Kapov [6] and Jain and Vazirani [9] developed such budget-balanced and crossmonotone cost-sharing schemes for the spanning tree game using a directed branching game; let us denote this cost-sharing scheme by ξ M ST . It is well-known that a min-cost spanning tree is a 2-approximation to the mincost Steiner tree; hence once can infer that the values 1 2 ξ M ST serve also as cross-monotone, 2-approximately budget-balanced cost-shares for the corresponding Steiner tree game.
The Single-Source Rent-or-Buy Game In this paper we will consider the Single-Source Rent-or-Buy Network Design game; this combines features of Steiner tree and shortest paths. The game is defined as follows: we are given a complete undirected graph G = (V, E) with edge costs c e satisfying the triangle inequality, 1 a special source (or root) vertex r, and an integer parameter M ≥ 1. There are also a set of users (also called players or demands) D ⊆ V , each of which is identified with a vertex of the graph. We assume that there is a unique player at each vertex. Our results can be extended (with a slight loss in the performance guarantee) to multiple players at each vertex, each with a weight d j indicating its amount of demand; we sketch how to do this in Section 6.2.
The objective is to connect each player j to the source r via some path P j , on which one unit of bandwidth has been allocated. What makes the game interesting is that aggregating paths is beneficial, in tune with the idea of economies of scale. Hence there are two different actions that can be performed by each edge: either the edge can be bought at cost M c e , but then an arbitrary amount of bandwidth can be sent on that edge (and hence an arbitrary number of paths P j can use it); or bandwidth on the edge can be rented at cost c e per unit bandwidth (and hence if the paths for some set S of players were using the edge, then the edge would cost c e × |S|; in the general weighted case, the cost would be c e times the total weight of the players in S). As usual, any edge can be used for any of the users. Our main theorem is the following: Theorem 1.1 There is a cross-monotone cost-sharing method for the Single-Source Rent-or-Buy network design game that is also β-budget-balanced, where β = 4.6. Furthermore, these cost-shares can be computed in deterministic polynomial time.
This improves on the results of Pál and Tardos [13], who gave a 15-approximate cross-monotone cost-sharing scheme for the problem. They use a primal-dual algorithm to build the network and obtain cost-shares.
We construct the claimed cost-shares based on expected costs in the approximation algorithm of Gupta et al. [5]. Loosely speaking, that algorithm works by randomly reducing the network design problem to computing Steiner trees over subsets of terminals; we show that if we use the function 1 2 ξ M ST to allocate approximate cost-shares to each vertex in this resulting Steiner game, then the expected cost share of a vertex (taken over the random reduction) gives us the cross-monotone cost-shares claimed in Therorem 1.1. However, since the variances of the random variables involved may be large in general, computing these expected costs in polynomial time is non-trivial. (In fact, a similar method to obtain cost-shares was proposed independently by Leonardi and Schäfer [11], who showed a budget-balance factor of 4(1 + ) for any > 0 for their cost-shares; however, they left open the problem of the efficient computation of these costs.) To do this computation, we have to give a new alternative analysis of the algorithm of [5]; this analysis allows us to give a derandomization using a small sample space, which has some additional useful properties that help ensure cross-monotonicity.
As is standard, we often use the symbol e to denote an edge in G. The same symbol will also be used in some places to denote the base of the natural logarithm; since the two usages are sufficiently distinct, we hope this does not cause confusion. Logarithms will be to the base two, unless specified otherwise. The rest of this paper is organized as follows. The basic algorithm and the idea for computing cost-shares are discussed in Section 2; Section 3 proves some basic properties of the cost-sharing scheme, such as cross-monotonicity. Section 4 gives a way of analyzing our algorithm-bounding β, in particular-that is different from the one of [5]. This proof is used as a starting-point in Section 5 to show that our estimate of β from Section 4 changes negligibly in our derandomized algorithm. Finally, further extensions are described in Section 6.

The Algorithm and the Cost-Sharing
We will use an algorithm SimpleCFL suggested by Gupta et al. [5] for the equivalent problem of connected facility location (without facility costs). First, let us recall the algorithm from [5]. Here α > 0 is a constant that will be chosen later. S1. Mark each demand j independently with probability α/M , and let D be the set of marked demands. The algorithm suggests a simple and intuitive idea for the cost-shares: each player pays a cost proportional to the expected cost incurred by it on running the above algorithm. For a given a sequence of coin-tosses, the players in D will pay for buying the MST, where their shares are derived from the cross-monotone cost-sharing scheme ξ M ST for the MST problem given in [6,9]. All other players (players in D \ D ) will pay for renting their shortest paths to F . The cost-shares defined for a particular set of coin-tosses exactly cover the cost of the solution built. From [5] we know that this algorithm is a β-approximation algorithm for some constant β. To get β-approximate cost-shares we divide the above defined shares by β. Formally: where (j, S) is the length of a shortest-path from j to the closest vertex of the set S, and the expectation is over the coin tosses. (Note that the set F = D ∪ {r} depends on the coin tosses.) Outline of the Proof There are two parts to proving the result: we first have to show that the properties of the cost-shares claimed in Theorem 1.1 are indeed satisfied; i.e., they are β-budget-balanced and cross-monotone. These properties are proved in Section 3.
The technically involved part of the proof involves showing that our cost-shares can be computed in (deterministic) polynomial time. A little thought will convince the reader that this is not obvious, even with the results of Gupta et al. [5]. Indeed, we need to estimate the expectations in (2.1) for each of the players, but the random variables in (2.1) do not have small variance in general. Furthermore, it is unclear how to derandomize the proof of [5], since it relies on some severe conditioning. To take care of this problem, we give a proof of the performance guarantee of the SimpleCFL algorithm different from the one given by [5]; this is done in Section 4. Our new proof will yield a somewhat worse constant than that of [5], but allow us to derandomize the algorithm by marking the demands in Step (S1) in t-wise independent fashion for a constant t; this appears in Section 5. Using t-wise independent random choices in Step (S1) allows us to use a polynomial-sized sample space, letting us compute expectations such as those of (2.1) in (deterministic) polynomial time, by considering all the points in the sample space. However, we need to make sure that the properties of the expectation proved in Section 3 (fairness and cross-monotonicity) also hold for the expectation using t-wise independent random choices. Interestingly, the properties of a particular construction of t-wise independent random variables turns out to be crucial, as described in the proof of Theorem 3.5.

Properties of the Cost-Sharing Scheme
Recall that given an instance of the game specified by a set of demands D, a cost-sharing scheme for the game is simply a function ξ(D, i) (with ξ(D, i) = 0 for i ∈ D). We now need to show that the function defined in (2.1) is a cost-sharing scheme with the properties we care about, namely, approximate budget-balance, fairness, and cross-monotonicity. As mentioned in the introduction, it is well-known that these three properties are not independent, and that a cross-monotone and approximately budget balanced cost-sharing is always fair.

Lemma 3.1 If a cost-sharing function ξ is approximately budget balanced and cross-monotone then it is also fair.
Proof: Consider a subset A ⊆ D. By cross-monotonicity, it follows that i∈A ξ(D, i) ≤ i∈A ξ(A, i). Now using the upper bound in the approximate budget-balance property gives us i∈A ξ(A, i) ≤ OPT(A), and completes the proof of the lemma.
We will need the following facts about the cost-sharing scheme ξ M ST :

Theorem 3.2 ([6, 9]) There exists an efficiently computable cost-sharing scheme ξ M ST for the Minimum Spanning Tree game that is budget-balanced and cross-monotone.
Since the spanning tree connects D and r, we will use the notation ξ M ST (D ∪ {r}, i) and ξ M ST (D, i) interchangeably; however, the results of [6,9] will always ensure that ξ M ST (D ∪ {r}, r) = 0.
To prove approximate budget-balance, we will need the following result bounding the performance of the algorithm SimpleCFL; its proof appears in Sections 4 and 5. Note that this is a stronger form of the performance guarantee proved in [5] (albeit with a worse constant), since it requires only constant-wise independence of the random variables. Armed with this result, we are now in a position to prove the properties of the function ξ defined in (2.1), and thus to prove Theorem 1.1.
Notation. In our randomized algorithm, Y j will denote the indicator random variable for demand j getting marked. Given a sample point ω (i.e., the underlying sequence of coin-tosses) in our probability space, Y j (ω) will be the following deterministic quantity: 1, if j gets marked due to this sequence of coin-tosses, and 0 otherwise.
The above two theorems imply that ξ is β-approximately budget-balanced -for any random sample ω, ξ shares exactly the cost of the solution built:

Lemma 3.4 The function ξ is β-approximately budget-balanced.
Proof: Consider the cost-shares β ξ. For a fixed random sample ω, let F ω denote the set of facilities; i.e., Also let c(MST(F ω )) denote the cost of an MST for F ω . ¿From our definition of ξ(D, i), we get the following: using the facts that ξ M ST is a cost-share function and hence ξ M ST (F ω , i) = 0 for i ∈ F ω , and that ξ M ST is budget-balanced and thus i∈Fω ξ M ST (F ω , i) = c(MST(F ω )). Now it is easy to see that the cost-shares β ξ recover the cost of the solution constructed, and hence are at least Alg(D). This is true, as for each element of the sample space ω, M × c(MST(F ω )) + i (i, F ω ) is the cost of the solution which opens facilities at F ω .
To see that i∈D ξ(D, i) ≤ OPT(D), note that the final expression in (3.2) is the expected cost of running SimpleCFL on the set of demands D, and hence Theorem 3.3 implies that the expectation is no more than β OPT(D), and thus i∈D ξ(D, i) ≤ OPT(D).

Details of the limited-independence marking
Before presenting the specific type of t-wise independent random marking that we will use, it would be useful to see how β depends on α; recall that α was a parameter used to determine the marking probability in Step (S1) of the algorithm SimpleCFL. We show first in bound (4.17) of Section 4.2 that under fully-independent marking. We then show in Section 5.2 that this bound changes negligibly if t is a sufficiently large constant: if t = a log(1/ ) where a is an absolute constant, then the r.h.s. of (3.3) gets multiplied at most by (1 + ). Thus, setting α = 1.296, we will be able to guarantee that β ≤ 4.6.
In order to prove that the expectation using t-wise independent random marking is cross-monotone, we need a particular choice of random marking. Let F be a field of size ≥ n, with |F| chosen large enough so that α|F|/M /|F| is sufficiently close to α/M ; in particular, suppose |F| ≥ Ω(M log n), say. Let the elements of the field be {a 1 , a 2 , ..., a |F| }, and let the vertices V of the graph be labeled by the first n elements {a 1 , a 2 , . . . , a n }. Let S be any pre-specified subset of F with |S| = α|F|/M . To get a sample, generate ω = (x 0 , x 1 , . . . , x t−1 ) uniformly at random from F t , and define Y i to be 1 if t−1 j=0 x j a j i lies in S, and Y i = 0 otherwise. By construction, we have Pr [ Y i = 1 ] ∼ α/M . In particular, since |F| ≥ Ω(M log n), we have 3) and the few sentences following it, we see that this replacement of α by α + o(1) impacts β only by an additive o(1) factor. Therefore, in all our arguments below, we will assume that Pr [ Y i = 1 ] = α/M for all i ∈ D. It is well-known that the Y i generated as above are all t-wise independent; see, e.g., [1,7]. Note that the above distribution is generating n coin tosses Y i , while we need only |D| of them; however, we can just ignore all the Y j for j / ∈ D.
For a fixed ω ∈ F t , let F ω denote the set of facilities; i.e., Theorem 3.5 Assuming that the random marking is done using the t-wise independent random variables explained above, or using independent random variables, then the function ξ is cross-monotone, i.e., ξ(A, i) ≥ ξ(D, i) for any A ⊆ D.

Proof:
The particular type of t-wise independent distribution that we use has the following natural but crucial property: for any choice of ω ∈ F t , if the set of marked demands in the run of SimpleCFL on A is A (ω) and the set of marked demands in the run on D is D (ω), then A (ω) ⊆ D (ω). (To our knowledge, this crucial property need not necessarily hold for all t-wise independent distributions.) Define the joint probability p(F, E) to be the probability of selecting an element of the sample space ω such that the marked demands in the run of SimpleCFL on A is F and on D it is E. Note that p(F, E) > 0 only if F ⊆ E. A joint probability with this property can also be defined for the case when the marking is fully independent.
With this additional property, we can prove that the scheme ξ is cross-monotone. To see this, note that where the inequality uses the fact that the support of p(F, E) is only on pairs with F ⊆ E, and the crossmonotonicity of ξ M ST .

A New Analysis of the Performance of SimpleCFL
Suppose first that the marking is done fully independently in Step (S1); we now give a way of analyzing Sim-pleCFL that is different from the one of [5]. We will then use this proof in Section 5 to show that our estimate of β changes negligibly when we conduct a t-wise independent marking for a large-enough (but constant) value of t. Recall that a solution to the Connected Facility Location Problem with demands D is given by the facilities F and the Steiner tree on them, with the cost being j∈D (j, i(j)) + M c(T ). Of the two terms in the sum, the former cost is referred to as the connection cost, and the latter is the Steiner cost. Let OPT be an optimal solution with facilities F * and tree T * , and let C * and S * = M c(T * ) be the connection and Steiner costs in OPT; also let Z * = C * + S * .
The bound for the Steiner cost S is the same as in [5]: we consider the optimal solution OPT, and compute the expected cost assuming that we construct the Steiner tree in Step (S2) using the paths of the optimal solution. We present the formal proof in Lemma 4.1; part (a) of this lemma will only be required in Section 5. The random variables Y j are as defined in Section 3.1.  Proof: Consider the optimal solution OPT: it connects each j ∈ D to a facility i * (j) ∈ F * via a shortest path, and hence pays a connection cost of C * = j∈D (j, i * (j)). Let F be as defined in Step (S2). Define a graph connecting F thus: buy all the edges in T * , and then for each j ∈ F , buy the edges in the shortest path from j to i * (j) used by OPT. Note that we pay M c e for each edge e in Step (S2), and hence pay M c(T * ) = S * for edges of T * . For the random paths we add, the expected cost of the path between j and i Thus, the expected total cost of this graph that connects up F is at most Since we buy a minimum spanning tree in Step (S2), the expected buying cost of our tree T is at most twice the expression just seen; i.e., at most proving part (a) of the Lemma. Since E[ Y j ] = α/M , we get part part (b) of the lemma.
Massaging the optimal solution: Before we proceed to bound the connection costs, let us modify OPT to get another solution OPT , which costs more than OPT, but which has some more structure that allows us to complete the argument. The new solution has the following properties: P1. OPT opens facilities at F ⊆ F * , and these are connected by a cycle T instead of a tree T * ; each demand j is now connected to the facility i (j), which is not necessarily its closest facility.
P2. The number of demands assigned to a facility in F , except perhaps the root r, is a multiple of M . (We will call this the mod-M constraint).

Lemma 4.2
There is a solution OPT with the properties above, which has connection cost C ≤ C * + S * and Steiner cost S ≤ 2S * . Hence, the total cost of OPT is Z ≤ C * + 3S * .
Proof: Modifying the assignment of demands to nodes in F * to satisfy the mod-M constraint is fairly simple. Given the tree T * , we process this in a two-pass fashion. The first pass goes bottom-up, starting at the leaves which must all be in F * , and making sure that each node satisfies the mod-M property by sending some b < M demand from the node to its parent in the tree. OPT has nodes that are not in F * , and hence cannot be facilities in F . We eliminate these nodes during a top-down pass, where we distribute their demand among their children.
The details are as follows.
Given the tree T * , we process this in a two-pass fashion. The first pass goes bottom-up, starting at the leaves which must all be in F * . Consider a vertex all of whose descendants satisfy the mod-M property, and let x be the demand currently assigned to it. If x = aM + b, where b < M , we send b units of demand from x to its parent. The number of demands assigned to each is now a multiple of M . Furthermore, the increase in connection cost is b < M times the distance between x and its parent; this ensures that every node (except possibly r) has demands that are a multiple of M .
Of course, we may now have demands gathering at nodes of OPT that are not in F * ; handling this is fairly simple in a top-down fashion. We will send some of the demand back down the tree from parents to children; however, we maintain the invariant that at most M units of demand will be sent down an edge. Let a vertex v ∈ F * have aM demand (and let us assume we have handled all its ancestors). Since at least (a − 1)M of this demand must have been collected in the bottom-up pass, and each child could have only sent < M demand upwards, there must be ≥ a children of v sending demands to it. We choose any a of these children and send back M units of demand along those edges.
To complete the argument, note that the net demand sent along an edge of T * was either b units upwards, or M −b units downwards, and hence the cost of this movement can be changed to S * , thus obtaining that C ≤ C * + S * . Furthermore, since we finally do not use any new facilities, and can even close the facilities with no demands assigned to it, F ⊆ F * . Finally, the cycle property is obtained by taking an Eulerian tour of T * and replacing it by a cycle by short-cutting repeated vertices using the metric property. This at most doubles the Steiner cost, giving S ≤ 2S * .

Back to Bounding the Connection Cost:
From now on, we shall only consider the modified solution OPT . For simplicity, by making copies of nodes if necessary, we can assume that each node in F has been assigned M demands. Recall that T is a cycle which contains r. (See Figure 1.) Starting from r, let us name the facilities on T in (say) clockwise order r = f 0 , f 1 , . . . , f k , f k+1 = r. (Hence referring to f l makes sense for all l, since we can just consider l mod (k + 1).) Let D l be the set of demands assigned to f l , and hence |D l | = M for l = 0 by assumption (P2). Let us abuse notation and add r to D 0 . Let P l be the portion of the cycle T joining f l and f l+1 , and let c(P l ) denote the length of P l , and hence S = M k l=0 c(P l ). Let C l be the total connection cost of the demands in D l in the solution OPT (with C = k l=0 C l ). Our algorithm chooses, in Step (S3), the cheapest assignment of demands to nodes in F . Thus, to bound the expected connection cost, it suffices to bound the expected connection cost of an arbitrary experiment that assigns demands to nodes in F . We present one such experiment next in Section 4.1,  Figure 1: The transformed instance OPT and analyze it; in Section 4.2, we present and briefly analyze an improved experiment. We have chosen this approach since there are several details to be handled in Section 4.2; handling these seems easier if we start with the simpler approach of Section 4.1 as a warmup.

A Candidate Assignment
Here we consider the following experiment: if D l ∩ F = ∅, then we assign all the demands in D l to the element in D l ∩ F that is closest to f l . Else we have to assign these demands to some other open facility (i.e., "go outside D l "). In this case, consider the smallest t > 0 such that D l+t ∩ F = ∅; let s = l + t. Note that r ∈ D 0 , and so t ≤ k. We now send all the demands in D l to the facility in D s closest to f s . If we assign demands in D l to a marked node in D l+t , then a path for each demand in D l goes through f l , P l , P l+1 , . . . , P l+t−1 , and then from f l+t to the element in D l+t ∩ F closest to it. We will bound the expected cost of these paths, which in turn will bound the expected connection cost of SimpleCFL.
Let us define some random variables. Let X i be the indicator variable that D i ∩ F = ∅ in our algorithm. (Note that X 0 = 0 with probability 1.) Let A i be the distance from f i and the closest element of D i ∩ F ; if D i ∩ F is empty, then A i can be set to 0. By the above arguments, the assignment cost of the M demands in D l is at most Indeed, the first term is the distance traveled by the demands in D l to reach f l , the second term expresses the fact that demands use P i (and pay M c(P i )) if and only if D l , . . . , D i all do not intersect F , and the third term implies that we incur a cost of M A i if we assign demands in D l to the closest member of D i ∩ F .
Note that X i and X j are independent for i = j, and that E[ Now, Note that the coefficients of a j decrease as j increases, and hence subject to the constraints (4.7), the expectation is maximized when all the a j 's are equal to C i /M . This yields q). (4.8) Let C l be the expected connection cost of the demands in D l in our current experiment. Combining the aboveseen facts with the inequality (4.6), we get that for l > 0, Note that C 0 = C 0 ; adding this to the sum of (4.9) over all l, the total expected connection cost is However, q ≤ 1/e α , and hence the second term is at most 1/(e α − 1). Now using Lemma 4.2 to replace C by C * + S * and S by 2S * , we see that the expected connection cost of our algorithm can be bounded by: Adding with (4.4), the total expected cost is at most C + S ≤ 2(1 + α)C * + (2 + 2e α e α −1 ) · S * . Since the optimal cost is Z * = C * + S * , we choose α ≈ 1.35 to minimize the approximation ratio, and get the following result.

Theorem 4.3 The algorithm
SimpleCFL is a β = 4.7-approximation algorithm for CFL.
If we were to use an 1.55-approximation for Steiner tree [14] to buy edges in Step (S2), we would be getting an improved approximation ratio of 4.2 for CFL, while the analysis of [5] gets a 3.55 approximation. However, we need to use the 2-approximation algorithm of the MST, as there is a cross-monotone cost-sharing function ξ M ST for the MST problem.

A More Refined Assignment
We now present an improved 4.6-approximation. The idea behind the improvement is a natural one: instead of always going clockwise to look for the closest cluster D l with a facility in it, we can look both clockwise and counter-clockwise for the closest cluster with a facility, breaking ties randomly. As one might expect, we show that this decreases the cost (see (4.17)), since it is no longer the case that a cluster with a facility in its neighboring counter-clockwise cluster goes several hops in the clockwise direction to find a (farther) facility.
More formally, let us modify the experiment of Section 4.1 to assign the demands to facilities in F as follows. Choose just one global "tie-breaker" bit TB at random. When D l ∩ F = ∅ and we go outside D l , instead of always going around the cycle in a clockwise order, consider the smallest t > 0 such that either D l+t or D l−t has an non-empty intersection with F ; let D s be the corresponding set with D s ∩ F = ∅. If both D l+t and D l−t intersect F , then we break the tie randomly using TB: if TB = 0, then we choose D l−t (i.e., set D s to be D l−t ); else if TB = 1, we set D s to be D l+t . The same bit TB is used by all groups D l . Note that r ∈ D 0 , and so t ≤ k/2 . We now send all the demands in D l to the facility in D s closest to f s . Let the random variables X i and A i be as in Section 4.1. We will not go over the analysis of this experiment in the same level of detail, but let us point out some of the salient ideas: for some facility in D i to be used by ≥ κ groups of larger index (say), we must have: (i) X i = 0, and (ii) either all 2κ groups D i+1 , . . . , D i+2κ do not intersect F , or only the last one does and we choose D i with probability half. Like in (4.10), the expected total cost will again be a non-negative linear combination of the values {C i } and {c(P i )}. Using the idea outlined in this paragraph, as well as expressions analogous to (4.8) and (4.9) in the previous analysis, we can verify that the coefficient of C i (in this linear combination) will be at most Analyzing the coefficient of c(P i ) needs more work. Assume without loss of generality that k/2 ≤ i ≤ k; the complementary case is similar. Given a set T of indices, let U (T ) denote the event that X j = 1 for all j ∈ T ; informally, the "U " denotes "unmarked". We consider when the demands in group D l will use the path P i ; we will do so by considering the cases l ≤ i and l > i.
Case I: l ≤ i. Let A l be the event that the demands in group D l use the path P i . For A l to hold, the following event B l should also happen: Now, if k + 1 − l ≥ l, it is easy to see by symmetry (since TB is equally likely to be 0 or 1) that Pr A l B l ≤ 1/2; thus we have if k + 1 − l ≥ l, then Pr [ A l ] ≤ q 2(i−l)+1 /2. (4.14) Next, suppose k + 1 < 2l. Define an event C l : C l ≡ U ({j : i + 1 − l ≤ |j − l| ≤ k − l}). We have Pr A l (B l ∧ C l ) = 1/2, by symmetry. Also, a moment's thought reveals that Pr A l (B l ∧ C l ) = 1 − (1 − q)/2 = (1 + q)/2.

Thus we have
Comparing with (4.14), we see that if l ≤ i, then Pr [ A l ] ≤ q 2(i−l)+1 · (1/2) · (1 + q 2(k−i)+1 ). Summing over all l ≤ i, we get that the total contribution of all D l , l ≤ i, to the coefficient of c(P i ) in the expected connection cost, is at most We now move to the next case.
Case II: i < l ≤ k. Let A l be as in Case I. Now define B l ≡ U ({j : |j − l| ≤ l − (i + 1)}). Once again, B l is a necessary condition for A l . Also note that Pr [ B l ] = 0 if k + 1 − l ≤ l − (i + 1); thus, we can restrict attention to those l > i such that l ≤ l 0 . = (k + i + 1)/2 . Now, since l > i, it is easy to see that Pr A l B l ≤ 1/2; also, Pr [ B l ] = q 2(l−i−1)+1 . Summing over all l ∈ [i + 1, l 0 ], we get a total contribution of Adding with (4.16), the coefficient of c(P i ) in the expected connection cost is seen to be at most So, the total expected connection cost is at most 2C + e α e 2α −1 · S . Using Lemma 4.2 to replace C by C * + S * and S by 2S * , the expected connection cost is at most Adding with (4.4), the total expected cost is at most Since the optimal cost is Z * = C * + S * , we choose α = 1.296 to minimize the approximation ratio to get the following result.

Theorem 4.4 The algorithm
SimpleCFL is a β = 4.6-approximation algorithm for CFL.

Analysis of the Limited-Independence Marking
We start with some useful derandomization tools in Section 5.1, and then analyze the limited-independence marking in Section 5.2.

Derandomization tools
We will use the following theorem, which appears as Lemma 2.3 in [2]:
• For each group D j , let Z j,1 , Z j,2 , . . . , Z j,M be the respective indicator random variables for the demands in D j getting marked by our algorithm, when these demands are considered in nondecreasing order of distance from f j .
• Let A be any set of ordered pairs {(j, k)}. Then, N (A) is the indicator random variable for the event "for all (j, k) ∈ A, Z j,k = 0". Also, T (A) denotes (j,k)∈A Z j,k . ("N " stands for "none", and "T " for "total".) We now give two types of upper-bounds on E [N (A)]: Lemma 5.2 Let t 1 and t 2 be any even positive integers such that t 1 , t 2 ≤ t (recall that the marking is done in a t-wise independent manner). The following hold for any set A of ordered pairs {(j, k)}. Proof: The upper bounds that are claimed to hold always on N (A) in (i) and (ii), easily follow from the fact that t 1 and t 2 are even. Bound (5.18) follows from the statement and proof of Theorem 2 in [3]. Bound (5.19) follows from Theorem 5.1, using the fact that the "tµ + t 2 " term in Theorem 5.1 is at most 2tµ if t ≤ µ.

The analysis
Let be an arbitrary positive constant lying in (0, 1). We now prove that if the demands are marked in t-wise independent fashion where t = a log(1/ ) for a suitably large constant a, then the expected approximation ratio is at most (1 + ) times what it is, in our analysis of independent marking in Section 4.2. The random bit (tiebreaker) TB introduced in Section 4.2 is still chosen independently of the marking; this only multiplies the size of our small sample space by a factor of 2.
By Lemma 4.1(a), we get that for the Steiner cost, we can continue to use the bound (4.4) even under t-wise independent marking; it is the connection cost that needs work. We now show that the expected total connection cost under the algorithm of Section 4.1 changes very little under limited-independence marking; we then briefly sketch the small modifications required for the algorithm of Section 4.2.
Recall the algorithm of Section 4.1. The total connection cost is a random variable that is the sum of three quantities: (i) the deterministic value l C l , which represents the cost of all demands in each D l first getting routed to f l ; (ii) the value that corresponds to unsuccessfully traveling through some D l , and (iii) the total cost paid in traveling from f i to the closest marked demand in D i , once D i is identified as the closest cluster. We will only show that the expected total cost of (iii) gets multiplied by at most (1 + ) due to our t = a log(1/ )-wise independent marking; the argument for the term (ii) is analogous, and, in fact, simpler. Specifically, we will show the following. Let i be the index of some arbitrary but fixed D i . We show that the expected value of the random variable gets multiplied by at most (1 + ). (Since i is fixed, we have not subscripted φ as φ i ; this remark also holds for some other definitions below.) We now show how to use Lemma 5.2 to upper-bound E [φ]. Let a 1 , a 2 , . . . , a M be the distances of the demands in D i from f i , written in nondecreasing order. Then, expanding the "(1 − X i )A i " part of φ, we see that Fix u arbitrarily, and let z u .
We aim to show that E [z u ] is multiplied by at most (1 + ) in our t-wise independent marking, as compared to the fully-independent marking.
Now let a 1 be a sufficiently large constant. Define a 2 to be the smallest even integer that is at least 2e log(1/ ), t 1 to be the smallest even integer that is at least 2ea 1 log(1/ ), and t 2 to be the largest even integer that is at most a 1 log(1/ )/4. There are two cases: a 1 log(1/ ) ≤ i − 1, or a 1 log(1/ ) > i − 1; we start with the harder first case.
Case I: a 1 log(1/ ) ≤ i − 1. Break up the expression for z u into two sums, one for "small" j and the other for "larger" j: Thus, by Lemma 5.2, z u is always bounded by the sum of the following two random variables: If we expand the expectations of these two random variables using the linearity of expectation, we get terms each of which is a product of some of the random variables Z ·,· ; importantly, the number of factors in each such term is at most 1 + a 2 + t 1 and 1 + a 2 + t 2 respectively. Thus, if we choose t = 1 + a 2 + t 1 (recall that t 1 ≥ t 2 ), then the expectations of these two random variables become i.e., at most Similarly, the expression (5.23) is at most Thus, if the demands are marked in t-wise independent fashion, then On the other hand, under fully-independent marking, Recalling the definitions of a 1 , a 2 , t 1 and t 2 , it is easy to verify that if a 1 is chosen as a sufficiently large constant, then the former value is at most (1 + ) times the latter. This completes the analysis of Case I.
Case II: a 1 log(1/ ) > i − 1. We follow the above analysis; we need not consider the case of larger j. Now, under limited-independence marking, the bound on E [z u ] is simpler: it is at most Once again, this is at most (1 + ) times the r.h.s. of (5.24).
Modifications required for the algorithm of Section 4.2. We now sketch the few modifications required. Conditional on T B = 1, the demands in D l will get routed to: • D l , iff X l = 0; • D l+t for some t > 0, iff X l (1 − X l+t ) t−1 j=1 (X l+j X l−j ) holds; and to Similar remarks hold conditional on T B = 0. The expected connection cost is 1/2 times the cost conditional on T B = 1, plus 1/2 times the cost conditional on T B = 0. Consider the case where T B = 1. The total connection cost can then be verified to still be a non-negative linear combination of terms of the form: "a product of some X j 's, multiplied by at most one term of the form (1 − X l )A l ". Furthermore, it remains true of the total connection cost that the expected values of: (a) the coefficient of any c(P i ), and (b) the total term multiplying any term of the form (1 − X l )A l , are both Θ(M ). Using these observations, the above type of analysis can be seen to hold for the algorithm of Section 4.2 also.  The cost analysis is very similar to that of Theorem 2, and we only sketch the important ideas here. Let O * , C * and S * denote the facility opening costs, connection costs and Steiner costs of the optimal solution. Note that opening the same set of facilities as OPT is also a feasible solution to the facility location instance in Step (F2) with expected cost (O * + C * ), and hence we pay in expectation, where ρ F L is the approximation guarantee of the algorithm used in Step (F2). Now a proof along the lines of Lemma 4.1 implies that there is a Steiner tree connecting these facilties with expected cost (S * + C * + A 1 ), and hence the tree we construct in Step F3 costs at most ρ ST times that, which is Finally, we have to bound the connection costs of Step (F4): one can use an analysis very similar to Section 4.2, but in addition to the expected cost of 2C * + 2e e−1 S * paid there, one also has to pay an additional cost to go from the marked demands in D to the facilties in F : this costs A 1 in expectation. Hence the expected assignment cost in Step (F4) is Now using the best known approximation factors of ρ F L = 1.52 [12] and ρ ST = 1.55 [14], we get a 8.94approximate algorithm for the case of non-zero cost for opening facilities. (A better performance can be obtained by choosing α carefully.) To get cross-monotonic cost shares, we can instead use the ρ F L = 3 approximate Facility Location algorithm of Pál and Tardos [13] and its accompanying cross-monotone cost sharing scheme ξ F L , the MST heuristic with ρ ST = 2 for Steiner tree (and use its cross-monotone cost-sharing scheme ξ M ST as well). This gives us an approximation factor of β = 16; now setting the cost-share of each demand j to be can give us a β-approximate cross-monotone cost sharing scheme for CFL with facility costs as well.

Handing Non-Uniform Demands
The discussion in the previous sections assumed that each of the demands j ∈ D had a weight d j = 1; i.e., it wanted to send just one unit of demand to the root. Moreover, we assumed that there was only one player at each vertex in D. Let us briefly indicate how these assumptions can be discharged; in this section, we do not attempt to optimize the constants, sacrificing the performance guarantees in favor of sketching the main ideas.
Let us note that handling the assumption of a single player at every vertex is simple: if there were n v players at vertex v, we create n v new vertices, attach each of them to v using zero-cost edges, and place a unique player from v on each of the new vertices.
To handle arbitrary weights d j for demand j, we first take care of the following two special cases separately, which ensure that the values of d j all lie within a multiplicative factor of n 2 of each other.

Heavy Vertices
If the weight d j of vertex j is at least M , we can deterministically mark the vertex j in Step S1. It can be shown that OPT would have connected these vertices up in its Steiner tree as well, and hence this causes no loss in quality.

Light Vertices
If the weight d j of node j is at most M/n 2 , then we do not mark j at all in Step S1: note that the total weight j∈V d j of such nodes is at most n · M/n 2 = M/n. The expected cost of the Steiner tree can only go down due to this change, and a slight variant on the proof of Theorem 4.4 will show that the expected assignment cost only increases by a factor of (1 + 1/n)-essentially, throwing back the demand of M/n in any subtree can only cause an increase of a factor of (1 + 1/n) in the expected assignment cost.
Having performed these operations, we can now rescale and assume that the weights d j lie in [n, n 3 ], and that the parameter M is greater than n 3 . We round the weights d j down to the closest integer d j : this decreases each weight by at most a (1 + 1/n) factor, and hence alters only the lower order terms of our performance guarantee. And finally, we replace the player at j by d j players: a long but straight-forward reworking of the proofs in Section 4 shows that the algorithm is a constant-factor approximation even with general weights, and gives us the desired cost-shares.