The Shortest Path problem in graphs with selfish edges.

Slides:



Advertisements
Similar presentations
6.896: Topics in Algorithmic Game Theory Lecture 21 Yang Cai.
Advertisements

Single Source Shortest Paths
Algorithmic Mechanism Design: an Introduction VCG-mechanisms for some basic network optimization problems: The Minimum Spanning Tree problem Guido Proietti.
The selfish-edges Shortest-Path problem. The selfish-edges SP problem Input: an undirected graph G=(V,E) such that each edge is owned by a distinct selfish.
October 31, Algorithms and Data Structures Lecture XIII Simonas Šaltenis Nykredit Center for Database Research Aalborg University
November 14, Algorithms and Data Structures Lecture XIII Simonas Šaltenis Aalborg University
1 Theory I Algorithm Design and Analysis (10 - Shortest paths in graphs) T. Lauer.
SECOND PART: Algorithmic Mechanism Design. Implementation theory Imagine a “planner” who develops criteria for social welfare, but cannot enforce the.
1 Greedy 2 Jose Rolim University of Geneva. Algorithmique Greedy 2Jose Rolim2 Examples Greedy  Minimum Spanning Trees  Shortest Paths Dijkstra.
Jim Anderson Comp 122, Fall 2003 Single-source SPs - 1 Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph.
Shortest Paths Definitions Single Source Algorithms –Bellman Ford –DAG shortest path algorithm –Dijkstra All Pairs Algorithms –Using Single Source Algorithms.
SECOND PART: Algorithmic Mechanism Design. Mechanism Design MD is a subfield of economic theory It has a engineering perspective Designs economic mechanisms.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
The selfish-edges Minimum Spanning Tree (MST) problem.
Combinatorial Auction. Conbinatorial auction t 1 =20 t 2 =15 t 3 =6 f(t): the set X  F with the highest total value the mechanism decides the set of.
A Truthful 2-approximation Mechanism for the Steiner Tree Problem.
Shortest Paths Definitions Single Source Algorithms
Vickery Prices and Shortest Paths: What is an edge worth? Authors: John Hershberger and Subhash Suri Presenter: Ali Ebnenasir.
Vickrey Prices and Shortest Paths What is an Edge Worth? By John Hershberger and Subhash Suri Carlos Esparza and Devin Low 3/5/02.
SECOND PART: Algorithmic Mechanism Design. Implementation theory Imagine a “planner” who develops criteria for social welfare, but cannot enforce the.
SECOND PART: Algorithmic Mechanism Design. Mechanism Design MD is a subfield of economic theory It has a engineering perspective Designs economic mechanisms.
SECOND PART: Algorithmic Mechanism Design. Suggested readings Algorithmic Game Theory, Edited by Noam Nisan, Tim Roughgarden, Eva Tardos, and Vijay V.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Theory of Computing Lecture 7 MAS 714 Hartmut Klauck.
Dijkstra's algorithm.
SECOND PART on AGT: Algorithmic Mechanism Design.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
1 GRAPHS - ADVANCED APPLICATIONS Minimim Spanning Trees Shortest Path Transitive Closure.
9/10/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURE 8 Greedy Graph.
Jim Anderson Comp 122, Fall 2003 Single-source SPs - 1 Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph.
Algorithms: Design and Analysis Summer School 2013 at VIASM: Random Structures and Algorithms Lecture 3: Greedy algorithms Phan Th ị Hà D ươ ng 1.
SECOND PART: Algorithmic Mechanism Design. Mechanism Design Find correct rules/incentives.
SECOND PART on AGT: Algorithmic Mechanism Design.
All-Pairs Shortest Paths & Essential Subgraph 01/25/2005 Jinil Han.
Algorithmic Mechanism Design: an Introduction Approximate (one-parameter) mechanisms, with an application to combinatorial auctions Guido Proietti Dipartimento.
Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph. Want to compute a shortest path for each possible.
The single-source shortest path problem (SSSP) input: a graph G = (V, E) with edge weights, and a specific source node s. goal: find a minimum weight (shortest)
CSE 2331 / 5331 Topic 12: Shortest Path Basics Dijkstra Algorithm Relaxation Bellman-Ford Alg.
The Minimum Spanning Tree (MST) problem in graphs with selfish edges.
Partial Soluti on and Entropy Tadao Takaoka Department of Computer Science University of Canterbury Christchurch, New Zealand.
Beyond selfish routing: Network Games. Network Games NGs model the various ways in which selfish agents strategically interact in using a network They.
1 Chapter 4 Minimum Spanning Trees Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
The Shortest-Path problem in graphs with selfish-edges.
En tropy as Computational Complexity Computer Science Replugged Tadao Takaoka Department of Computer Science University of Canterbury Christchurch, New.
Lecture 13 Algorithm Analysis
SECOND PART on AGT: Algorithmic Mechanism Design.
Graphs Part II Lecture 7. Lecture Objectives  Topological Sort  Spanning Tree  Minimum Spanning Tree  Shortest Path.
Combinatorial Auction. A single item auction t 1 =10 t 2 =12 t 3 =7 r 1 =11 r 2 =10 Social-choice function: the winner should be the guy having in mind.
One-parameter mechanisms, with an application to the SPT problem.
15.082J & 6.855J & ESD.78J September 30, 2010 The Label Correcting Algorithm.
Local Connection Game. Introduction Introduced in [FLMPS,PODC’03] A LCG is a game that models the creation of networks two competing issues: players want.
Second case study: Network Creation Games (a.k.a. Local Connection Games)
Network Formation Games. NFGs model distinct ways in which selfish agents might create and evaluate networks We’ll see two models: Global Connection Game.
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
Network Formation Games. NFGs model distinct ways in which selfish agents might create and evaluate networks We’ll see two models: Global Connection Game.
Algorithms and Data Structures Lecture XIII
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Data Structures – LECTURE 13 Minumum spanning trees
Algorithms and Data Structures Lecture XIII
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
The Shortest-Path problem in graphs with selfish-edges
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
CSE 417: Algorithms and Computational Complexity
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Data Structures and Algorithm Analysis Lecture 8
Presentation transcript:

The Shortest Path problem in graphs with selfish edges

Review VCG-mechanism: pair M= where g(r) = arg max y  X  i v i (r i,y) p i (g(r)) = -  j≠i v j (r j,g(r - i )) +  j≠i v j (r j,g(r)) VCG-mechanisms are truthful for utilitarian problems (i.e., problems in which the SCF is given by the sum of players’ valuation functions)

Algorithmic mechanism design and network protocols Large networks (e.g., Internet) are built and controlled by diverse and competitive entities: Entities own different components of the network and hold private information Entities are selfish and have different preferences  Mechanism design is a useful tool to design protocols working in such an environment, but time complexity is an important issue due to the massive network size

Algorithmic mechanism design for network optimization problems Simplifying the Internet model, we assume that each player owns a single edge of a graph G=(V,E), and privately knows the cost for using it  Classic optimization problems on G become mechanism design optimization problems in which the player’s type is the weight of the edge! Many basic network design problems have been studied in this framework: shortest path (SP), single-source shortest-paths tree (SPT), minimum spanning tree (MST), and many others Remark: Quite naturally, SP and MST are utilitarian problems (indeed the cost of a solution is simply the sum of the edge costs), while the SPT is not! Can you see why?

Some remarks In general, network optimization problems are minimization problems (the Vickrey’s auction was instead a maximization problem) Accordingly, we have: for each x  X, the valuation function v i (t i,x) represents a cost incurred by player i in the solution x (and so it is a negative function of its type) the social-choice function f(t,x) is negative (since it is an “aggregation” of negative functions), and so its maximization corresponds to a minimization of the negation of the valuation functions (i.e., a minimization of the aggregation of the costs incurred by the players) payments are now from the mechanism to players (i.e., they are positive)

Summary of main results Centralized algorithm private-edge mechanism SPO(m+n log n)O(m+n log n) (VCG-mechanism) MSTO(m  (m,n))O(m  (m,n)) (VCG-mechanism) SPTO(m+n log n) O(m+n log n) (one-parameter mechanism)  For all these basic problems, the time complexity of the mechanism equals that of the canonical centralized algorithm!

Buying a path in a network decides the path and the payments t e : cost of edge e if edge e is selected and receives a payment of p e e’s utility: p e -t e X: set of all paths between s and z f(t,x): The length of a path w.r.t. the true edge costs Mechanism t5t5 t3t3 t6t6 t2t2 t4t4 t1t1 s z

The private-edge SP problem Given: an undirected graph G=(V,E) such that each edge is owned by a distinct player, a source node s and a destination node z; we assume that a player’s private type is the positive cost (length) of the edge, and her valuation function is equal to her negated type if edge is selected in the solution, and 0 otherwise. Question: design a truthful mechanism in order to find a shortest path in G t =(V,E,t) between s and z.

Notation and assumptions n=|V|, m=|E| d G (s,z): distance in G=(V,E,r) between s ans z (sum of reported costs of edges on a shortest path P G (s,z) in G) Nodes s and z are 2-edge-connected in G, i.e., there exists in G at least 2 edge-disjoint paths between s and z  for any edge of P G (s,z) removed from the graph there exists at least one replacement path in G-e between s and z (this will bound the problem, since otherwise a bridge-edge might have an unbounded marginal utility)

VCG mechanism The problem is utilitarian (indeed, the (negated) cost of a solution is given by the sum of valuations)  VCG-mechanism M= : g: computes arg max y  X  e  E v e (r(e),y), i.e., P G (s,z) in G=(V,E,r), where r(e) denotes the reported cost of e; indeed, valuation functions are negative, so maximizing their sum means to compute a cheapest path; p (Clarke payments): for each e  E: p e =-  j≠e v j (r(j),g(r - e )) +  j≠e v j (r(j),g(r)), namely d G-e (s,z)-[d G (s,z)-r(e)] = d G-e (s,z)-d G (s,z) + r(e) if e  P G (s,z) d G (s,z)-d G (s,z) = 0 otherwise  For each e  P G (s,z), we have to compute d G-e (s,z), namely the length of a shortest path in G-e =(V,E\{e},r -e ) between s and z. pe=pe= {

The best replacement path s z e P G-e (s,z)  d G-e (s,z)=12 P G (s,z)  d G (s,z)=11 Remark: u e = p e +v e = p e - t e = p e - r(e) = d G-e (s,z)-d G (s,z)+ r(e) - r(e), and since d G-e (s,z) ≥d G (s,z)  u e  0 p e =d G-e (s,z)-d G (s,z) + r(e) = =3

A trivial but costly implementation Step 1: First of all, apply Dijkstra to compute P G (s,z)  this costs O(m + n log n) time by using Fibonacci heaps. Step 2: Then,  e  P G (s,z) apply Dijkstra in G-e to compute P G-e (s,z)  we spend O(m + n log n) time for each of the O(n) edges in P G (s,z), i.e., O(mn + n 2 log n) time  Overall complexity: O(mn + n 2 log n) time We will see an efficient solution costing O(m + n log n) time

Notation S G (s), S G (z): single-source shortest- path trees rooted at s and z M s (e): set of nodes in S G (s) not descending from edge e (i.e., the set of nodes whose shortest path from s does not use e) N s (e)=V/M s (e) M z (e), N z (e) defined analogously

A picture s u v z e Ms(e)Ms(e) Ns(e)Ns(e) S G (s)

Crossing edges (M s (e),N s (e)) is a cut in G C s (e)={(x,y)  E\{e}: x  M s (e), y  N s (e)} edges “belonging” to the cut: crossing edges

Crossing edges s u v z e Ms(e)Ms(e) Ns(e)Ns(e) S G (s) Cs(e)Cs(e)

What about P G-e (s,z)? Trivial: it does not use e, and it is shortest among all paths between s and z not using e There can be many replacement (shortest) paths between s and z not using e, but each one of them must cross at least once the cut C s (e) Thus, the length of a replacement shortest path can be written as follows: d G-e (s,z)= min {d G-e (s,x)+r(f)+d G-e (y,z)} f=(x,y)  C s (e)

A replacement shortest path for e (crossing only once the cut) s u v z e x y d G-e (s,z)= min {d G-e (s,x)+r(f)+d G-e (y,z)} f=(x,y)  C s (e)

How to compute d G-e (s,z) Let f=(x,y)  C s (e); we will show that d G-e (s,x)+r(f)+d G-e (y,z)=d G (s,x)+r(f)+d G (y,z) Remark: d G-e (s,x)=d G (s,x), since x  M s (e) Lemma: Let f=(x,y)  C s (e) be a crossing edge (x  M s (e)). Then y  M z (e) (from which it follows that d G-e (y,z)=d G (y,z)).

A simple lemma Proof (by contr.) Assume y  M z (e), then y  N z (e). Hence, y is a descendant of u in S G (z), i.e., P G (z,y) uses e. Notice that v is closer to z than u in S G (z), and so P G (v,y) is a subpath of P G (z,y) and (recall that r(e) is positive): d G (v,y)=r(e) + d G (u,y) > d G (u,y). But y  N s (e), and so P G (s,y) uses e. However, u is closer to s than v in S G (s), and so P G (u,y) is a subpath of P G (s,y) and: d G (u,y)=r(e) + d G (v,y) > d G (v,y).

A picture s z N s (e)  M z (e) Ms(e)Ms(e) e

Computing the length of replacement paths Given S G (s) and S G (z), in O(1) time we can compute the length of a shortest path between s and z passing through f and avoiding e as follows: k(f):= d G-e (s,x) + r(f) + d G-e (y,z) d G (s,x) given by S G (s) d G (y,z) given by S G (z)

A corresponding algorithm Step 1: Compute S G (s) and S G (z) Step 2:  e  P G (s,z) check all the crossing edges in C s (e), and take the minimum w.r.t. the key k. Time complexity Step 1: O(m + n log n) time Step 2: O(m) crossing edges for each of the O(n) edges on P G (s,z): since in O(1) we can establish whether an edge of G is currently a crossing edge (can you guess how?), Step 2 costs O(mn) time  Overall complexity: O(mn) time Improves on O(mn + n 2 log n) if m=o(n log n)

A more efficient solution: the Malik, Mittal and Gupta algorithm (1989) MMG have solved in O(m + n log n) time the following related problem: given a SP P G (s,z), what is its most vital edge, namely an edge whose removal induces the worst (i.e., longest) replacement shortest path between s and z? Their approach computes efficiently all the replacement shortest paths between s and z… …but this is exactly what we are looking for in our VCG-mechanism!

The MMG algorithm at work The basic idea of the algorithm is that when an edge e on P G (s,z) is considered, then we have a priority queue H containing the set of nodes in N s (e); with each node y  H remains associated a key k(y) and a corresponding crossing edge, defined as follows: k(y) = min {d G (s,x)+r(x,y)+d G (y,z)}  k(y) is the length of a SP in G-e from s to z passing through the node y, and so the minimum key is associated with a replacement shortest path for e (x,y)  E, x  M s (e)

The MMG algorithm at work (2) Initially, H =V, and k(y)=+  for each y  V Let P G (s,z) = {e 1, e 2,…, e q }, and consider these edges one after the other. When edge e i is considered, modify H as follows: Remove from H all the nodes in W s (e i )=N s (e i-1 )\N s (e i ) (for i=1, set N s (e i-1 )=V) Consider all the edges (x,y) s.t. x  W s (e i ) and y  H, and compute k’(y)=d G (s,x)+r(x,y)+d G (y,z). If k’(y)<k(y), decrease k(y) to k’(y), and update the corresponding crossing edge to (x,y) Then, find the minimum in H w.r.t. k, which returns the length of a replacement shortest path for e i (i.e., d G-e i (s,z)), along with the selected crossing edge

An example N s (e 1 ) e1e1 e2e2 e3e3 e5e5 e4e4 s z W s (e 1 )

An example (2) N s (e 2 ) e1e1 e2e2 e3e3 e5e5 e4e4 s z W s (e 2 ) Here we may have a decrease_key

Time complexity of MMG Theorem: Given a shortest path between two nodes s and z in a graph G with n vertices and m edges, all the replacement shortest paths between s and z can be computed in O(m + n log n) time.

Time complexity of MMG Proof: Compute S G (s) and S G (z) in O(m + n log n) time. Then, use a Fibonacci heap to maintain H (observe that W s (e i ) can be computed in O(|W s (e i )|) time), on which the following operations are executed: A single make_heap n insert q=O(n) find_min O(n) delete O(m) decrease_key In a Fibonacci heap, the amortized cost of a delete is O(log n), the amortized cost of a decrease_key is O(1), while insert, find_min, and make_heap cost O(1), so O(m + n log n) total time

Plugging-in the MMG algorithm into the VCG-mechanism Corollary There exists a VCG-mechanism for the private- edge SP problem running in O(m + n log n) time. Proof. Running time for the mechanism’s algorithm: O(m + n log n) (Dijkstra). Running time for computing the payments: O(m + n log n), by applying MMG to compute all the distances d G-e (s,z).

That’s all folks! Thanks for your attention and be ready for the examination!!