The Price of Stability for Network Design Elliot Anshelevich Joint work with: Dasgupta, Kleinberg, Tardos, Wexler, Roughgarden
Selfish Agents in Networks Traditional network design problems are centrally controlled What if network is instead built by many self-interested agents? Properties of resulting network may be very different from the globally optimum one
A Connection Game Given: G = (V,E), costs c e for all e є E, k vertex pairs (s i,t i ) Each player wants to build a network in which his nodes are connected. Player strategy: select a path connecting s i to t i.
Sharing Edge Costs How should multiple players on a single edge split costs? One approach: no restrictions......any division of cost agreed upon by players is OK. Near-Optimal Network Design with Selfish Agents STOC ‘03 Anshelevich, Dasgupta, Tardos, Wexler. Another approach: try to ensure some sort of fairness. The Price of Stability for Network Design with Fair Cost Allocation FOCS ’04 Anshelevich, Dasgupta, Kleinberg, Tardos, Wexler, Roughgarden.
Arbitrary Sharing Model Player i picks payments for each edge e. e is bought if total payments ≥ c e. Note: any player can use bought edges t1t1 t3t3 t2t2 s1s1 s2s2 s3s3
Nash Equilibrium A Nash Equilibrium (NE) is a set of payments for players such that no player wants to deviate. Player i does not care whether other players connect. When considering deviations, player i assumes that other players’ payments are fixed. t1t1 t3t3 t2t2 s1s1 s2s2 s3s3
Nash Equilibrium A Nash Equilibrium (NE) is a set of payments for players such that no player wants to deviate. Player i does not care whether other players connect. When considering deviations, player i assumes that other players’ payments are fixed. t1t1 t3t3 t2t2 s1s1 s2s2 s3s3
A Simple Example t s 1k t 1, t 2, … t k s 1, s 2, … s k
A Simple Example t s 1k t 1, t 2, … t k s 1, s 2, … s k t s 1k One NE: each player pays 1/k
A Simple Example t s 1k t 1, t 2, … t k s 1, s 2, … s k t s 1k One NE: each player pays 1/k t s 1k Another NE: each player pays 1
The Price of Stability Price of Anarchy = cost(worst NE) cost(OPT) Price of Stability = cost(best NE) cost(OPT) (Min cost Steiner forest) [Koutsoupias, Papadimitriou] [Roughgarden, Tardos] s 1 …s k t 1 …t k 1k Can think of latter as a network designer proposing a solution.
Example 2: No Nash s1s1 t1t1 t2t2 s2s2 all edges cost 1 a b c d
Example 2: No Nash s1s1 t1t1 t2t2 s2s2 all edges cost 1 a b c d We know that any NE must be a tree: WLOG assume the tree is a,b,c.
Example 2: No Nash s1s1 t1t1 t2t2 s2s2 all edges cost 1 a b c d We know that any NE must be a tree: WLOG assume the tree is a,b,c. Only player 1 can contribute to a. Only player 2 can contribute to c.
Example 2: No Nash s1s1 t1t1 t2t2 s2s2 all edges cost 1 a b c d We know that any NE must be a tree: WLOG assume the tree is a,b,c. Only player 1 can contribute to a. Only player 2 can contribute to c. Neither player can contribute to b, since d is a tempting deviation.
Related Work Generalized Steiner forest [e.g. Goemans, Williamson;…] Centralized problem: connect pairs Price of Anarchy [Koutsoupias, Papadimitriou; Roughgarden, Tardos;…] Cost sharing [e.g. Jain, Vazirani] Get players to pay for a tree Players don’t specify edge payment Network creation game [Fabrikant, Luthra, Maneva, Papadimitriou, Shenker; Bala and Goyal; Heller and Sarangi] Players always purchase adjacent edge Players care about distances
Results for Arbitrary Sharing Model NE do not always exist Price of Stability = O(k) Price of Stability = 1 for single source –Directed graphs –max(i), a price beyond which player i would rather not connect at all OPT is an approx. NE Approx. NE can be found
Single Source Games (s i = s for all i) Theorem: In any single source game, there is always a NE that buys OPT. meaning 2 things… There is always a NE The Price of Stability is 1!
Simple Case: MST Easy if all nodes are terminals: Players buy edge above them in OPT. Claim: This is a Nash Equilibrium. ( i unhappy => can build cheaper tree ) Typically we will have Steiner nodes. Who buys the edge above these?
Attempts to Buy Edges Second node won’t pay more than 5 in total Both players must help buy top edge. 1) Can we get a single player to pay? 2) Can we split edge costs evenly?
Greedy Algorithm Given OPT, pay for edges in OPT from the bottom up, greedily, as constrained by deviations. If we buy all edges, we’re done! e In both examples, players were limited by possible deviations.
Proof Idea e If greedy fails to pay for e, we will show that the tree is not OPT. All players have possible deviations. Deviations and current payments must be equal. If all players deviate, all connect, but pay less.
A Possible Pitfall Suppose greedy algorithm cannot pay for e. e Further, suppose 1 & 2 share cost(e’) Consider 1 & 2 both deviating… Player 1 stops contributing to e’ Danger: 2 still needs this edge! e’
Safely Selecting Paths e Shouldn’t allow player 1 to deviate: If only 2 deviates, all players reach the source. Idea: should use the “highest” deviating paths first. e’
Safely Selecting Paths e We may have to select multiple alternate paths. Not trying to find NE, just form contradiction.
Single Source in Polytime Thm: For single source, can find a (1+ε)-approx. NE in polytime on an α-approx. Steiner tree. α = best Steiner tree approx. (1.55) ε > 0, running time depends on ε. Pf Sketch: Greedy algorithm from previous proof either finds a NE or a cheaper tree than it was given. Only take significant improvements.
The Fair Connection Game Can view restricting allowable payments as mechanism design: What sharing rules induce players to form good solutions? Natural choice is fair sharing, or Shapley cost sharing: Players using e pay for it evenly: c i (P) = Σ c e /k e e є P
The Fair Connection Game Can view restricting allowable payments as mechanism design: What sharing rules induce players to form good solutions? Natural choice is fair sharing, or Shapley cost sharing: Players using e pay for it evenly: c i (P) = Σ c e /k e Each player tries to minimize his cost. e є P
Congestion Games This is a congestion game! Usual congestion games have latency/delay/load: cost per player increases as the number of players sharing an edge increases. Fair Connection Game has edge costs: cost per player decreases as the number of players sharing an edge increases.
Related Work Shapley value cost sharing [Feigenbaum, Papadimitriou, Shenker; Herzog, Shenker, Estrin] Price of anarchy in routing and congestion games [Roughgarden, Tardos] Potential games [Monderer, Shapley]
A Simple Example t s 1k t 1, t 2, … t k s 1, s 2, … s k t s 1k One NE: each player pays 1/k t s 1k Another NE: each player pays 1
Contrast with Unfair Cost Sharing Unrestricted Sharing Fair Sharing NE don’t always exist NE always exist P.o.S. = O(k) P.o.S. = O(log(k)) P.o.S. = 1 for P.o.S. = O(log(k)) for single source single source OPT is an approx. NE OPT may be far from NE NE are forests NE can be cyclic Approx. NE can be found ???
Example: High Price of Stability 1 1 k k t ... k-1 0 1
Example: High Price of Stability 1 1 k k t ... k cost(OPT) = 1+ε
Example: High Price of Stability 1 1 k k t ... k cost(OPT) = 1+ε …but not a NE: player k pays (1+ε)/k, could pay 1/k
Example: High Price of Stability 1 1 k k t ... k so player k would deviate
Example: High Price of Stability 1 1 k k t ... k now player k-1 pays (1+ε)/(k-1), could pay 1/(k-1)
Example: High Price of Stability 1 1 k k t ... k so player k-1 deviates too
Example: High Price of Stability 1 1 k k t ... k Continuing this process, all players defect. This is a NE! (the only Nash) cost = … + Price of Stability is H k = Θ(log k)! 1 2 k
To Show The H k Price of Stability is worst case possible. Proof uses the idea of a Potential Game [Monderer and Shapley]. Extend results to many natural generalizations of the Fair Connection Game.
Potential Games A game is a potential game if there exists a function Ф(S) mapping the current game state S to a real value s.t. If player i moves, i’s improvement = change in Ф(S). Such games have pure NE: just do Best Response! The Fair Connection Game is a potential game! We extend analysis to bound Price of Stability.
A Potential Function Define Ф e (S) = c e [1+ 1/2 + 1/3 + … 1/k e ] where k e is # players using e in S. H k Let Ф(S) = Σ Ф e (S) Consider some solution S (a path for each player). Suppose player i is unhappy and decides to deviate. What happens to Ф(S)? e є S e
Tracking Player Happiness Ф e (S) = c e [1+ 1/2 + 1/3 + … 1/k e ] Suppose player i’s new path includes e. i pays c e /(k e +1) to use e. Ф e (S) increases by the same amount. Likewise, if player i leaves an edge e’, Ф e’ (S) exactly reflects the change in i’s payment. e e’e’ c e [1+ 1/2 +… +1/k e ] c e’ [1+ 1/2 +… +1/k e’ ] i
Tracking Player Happiness e e’e’ c e [1+ 1/2 +… +1/k e ]+c e /(k e +1) c e’ [1+ 1/2 +… +1/k e’ ] -c e ’ /k e ’ i Ф e (S) = c e [1+ 1/2 + 1/3 + … 1/k e ] Suppose player i’s new path includes e. i pays c e /(k e +1) to use e. Ф e (S) increases by the same amount. Likewise, if player i leaves an edge e’, Ф e’ (S) exactly reflects the change in i’s payment.
Bounding Price of Stability Consider starting from OPT (central optimum). From OPT, players will settle on some Nash NE. OPT 3/
Bounding Price of Stability Consider starting from OPT (central optimum). From OPT, players will settle on some Nash NE. We have argued that Ф(NE) < Ф(OPT) NE 3/ _
Bounding Price of Stability Consider starting from OPT (central optimum). From OPT, players will settle on some Nash NE. We have argued that Ф(NE) < Ф(OPT) We also know for any S, cost(S) < Ф(S) < H k cost(S). So cost(NE) < Ф(NE) < Ф(OPT) < H k cost(OPT). NE _ __ ___
Extensions: Set Systems ground set E of elements with costs. player i has allowable set S i of subsets from E. player i picks subset, evenly shares element costs. For networking, can model players who want.. to connect multiple terminals. higher connectivity guarantees. E cece sets ij
Extensions: Buy-at-Bulk Costs Total cost of edge may increase with # of users, but marginal cost decreases. (Economies of Scale) If edge cost is c e (j) for j users define Ф e (S) = Σ c e (j)/j. Like before, Ф tracks improvement, within log factor of cost => Price of Stability < log(k). # users edge cost j=1 keke
Extensions All results hold if edges have capacities. Incorporate distance: cost to player i = c i (P i ) + length(P i ) Utility function of player i can depend on both cost and the set S i picked by i –cost to player i = Σ c e (k e )/k e + f i (S i ) –PoS is still within log(k) if c e is concave e є S i
More Questions Cost and Latency Only Latency –Nash exist (same potential argument) –Best NE costs at most OPT w/ twice as many players. –For large class of functions, worst case Price of Stability is realized on 2 parallel links. Best Response Dynamics –Can construct games with k players so that a certain ordering of moves takes 2 O(k) time. Weighted Game
Thank you.
Three Observations 1) The bought edges in a NE form a forest. 2) Players only contribute to edges on their s i -t i path in this forest. 3) The total payment for any edge e is either c(e) or 0.
Price of Anarchy in Multi-Source Games s1s1 t1t1 t2t2 s2s2 s 3 …s k t 3 …t k ε ε ε ε O(k) 1 OPT costs ~1, but it’s not a NE. The only NE costs O(k), so optimistic price of anarchy is almost k.
Result for Multi Source Games Theorem: For any game, there exists a 3-approx NE that buys OPT. Note: this is true even for games where players may have more than 2 terminals We know a NE may not exist, so settle for approximate NE. How bad an approximation must we have if we insist on buying OPT?
Proof Idea Break up OPT into chunks. Use optimality of OPT to show that any player buying a single chunk has no incentive to deviate. Each chunk is paid for by a single player. Each player pays for at most 3 chunks.
Connection Sets A connection set C of player i is a set of edges such that: –C only includes edges on the path P i from s i to t i in OPT. –If OPT is bought, and i pays only for C, then i has no incentive to deviate. Connection set = chunk 1 1 a b
Connection Sets 1 1 a b A connection set C of player i is a set of edges such that: –C only includes edges on the path P i from s i to t i in OPT. –If OPT is bought, and i pays only for C, then i has no incentive to deviate. Connection set = chunk
Main Challenge Form a payment scheme where each player pays for at most 3 connection sets. i pays for edges that no other players would pay for in OPT. Another connection set for each terminal of i
Tree Decomposition Decompose OPT into hierarchical paths, where each path begins at a terminal and ends at a path of higher level
Tree Decomposition Decompose OPT into hierarchical paths, where each path begins at a terminal and ends at a path of higher level
Tree Decomposition Decompose OPT into hierarchical paths, where each path begins at a terminal and ends at a path of higher level
Tree Decomposition Decompose OPT into hierarchical paths, where each path begins at a terminal and ends at a path of higher level
Payment Scheme Connection sets in each path P are paid for by terminals associated with paths entering P
Payment Scheme Connection sets in each path P are paid for by terminals associated with paths entering P
Payment Scheme Connection sets in each path P are paid for by terminals associated with paths entering P
Approximation Algorithm Theorem: For multi-source 2-terminal games, can find a (3+ε)-approx. NE in polytime on an 2-approx. to OPT. For >2 terminals, above approximation becomes (4.65+ε), since need to use best known approx for Steiner tree.
Adding Latency What if we want to model congestion? …marginal cost increases, so not buy-at-bulk. Every edge has increasing delay function d e (k e ). Cost of edge e for player i is c e (k e )/k e +d e (k e ). Total cost of edge is c e (k e ) + k e d e (k e ).
Cost + Latency From earlier proof, we know that if for all S, cost(S) < A Ф(S) < AB cost(S), then the price of stability is < AB. E.g. if c e is concave, d e is polynomial with degree m, then Price of Stability is < (m+1) log(k). With only latency and no edge costs, we have PoS < m+1 for polynomial delays - --
Only Latency Similar to routing games [Roughgarden, Tardos] Comparison between these two games: atomic vs. non-atomic Price of Stabilityvs.Price of Anarchy t s xmxm xmxm t s 1/10/0 t s.5/0 [NE is unique]
Latency In this case Nash Equilibria can be computed. d(x) d(1) d(2) d(3) … All edges capacity 1 Claim: A min cost flow corresponds to a NE. Idea: Since d is increasing, flow will use d(1), then d(2), etc, mirroring a potential function. [Fabrikant, Papadimitriou, Talwar] Convert all edges
Latency Results (with single source) Nash exist (same potential argument) Best NE costs at most OPT w/ twice as many players. For large class of functions, worst case Price of Stability is realized on 2 parallel links.
Best Response Dynamics How long before players settle on a NE? In games with 2 players, O(n) time, since shared segment grows monotonically. Can construct games with k players so that a certain ordering of moves takes 2 O(k) time. Can 3-player games run for exponential time? Can k-player games be scheduled to be polytime?
Weighted Game If some player has more traffic, should pay more… In a weighted game, player i has weight w(i). Players pay for edges proportionally to their weight. No potential function exists. Do NE always exist? Best Response converges for single commodity. Games with at most 2 players per edge have NE. If NE do exist, Price of Stability will be >> log(k)