The Minimum Spanning Tree (MST) problem in graphs with selfish edges.

Slides:



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

Lecture 15. Graph Algorithms
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.
SECOND PART: Algorithmic Mechanism Design. Implementation theory Imagine a “planner” who develops criteria for social welfare, but cannot enforce the.
Lectures on Network Flows
Chapter 3 The Greedy Method 3.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Connected Components, Directed Graphs, Topological Sort COMP171.
DAST 2005 Tirgul 11 (and more) sample questions. DAST 2005 Q.Let G = (V,E) be an undirected, connected graph with an edge weight function w : E→R. Let.
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.
Connected Components, Directed Graphs, Topological Sort Lecture 25 COMP171 Fall 2006.
Vickery Prices and Shortest Paths: What is an edge worth? Authors: John Hershberger and Subhash Suri Presenter: Ali Ebnenasir.
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.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
Connected Components, Directed graphs, Topological sort COMP171 Fall 2005.
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.
The Stackelberg Minimum Spanning Tree Game J. Cardinal, E. Demaine, S. Fiorini, G. Joret, S. Langerman, I. Newman, O. Weimann, The Stackelberg Minimum.
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
SECOND PART on AGT: Algorithmic Mechanism Design.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
SECOND PART: Algorithmic Mechanism Design. Mechanism Design Find correct rules/incentives.
CS 3343: Analysis of Algorithms Lecture 21: Introduction to Graphs.
Chapter 2 Graph Algorithms.
1 ELEC692 Fall 2004 Lecture 1b ELEC692 Lecture 1a Introduction to graph theory and algorithm.
Trees and Distance. 2.1 Basic properties Acyclic : a graph with no cycle Forest : acyclic graph Tree : connected acyclic graph Leaf : a vertex of degree.
 2004 SDU Lecture 7- Minimum Spanning Tree-- Extension 1.Properties of Minimum Spanning Tree 2.Secondary Minimum Spanning Tree 3.Bottleneck.
SECOND PART on AGT: Algorithmic Mechanism Design.
Algorithmic Mechanism Design: an Introduction Approximate (one-parameter) mechanisms, with an application to combinatorial auctions Guido Proietti Dipartimento.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
CSE 2331 / 5331 Topic 12: Shortest Path Basics Dijkstra Algorithm Relaxation Bellman-Ford Alg.
The Stackelberg Minimum Spanning Tree Game J. Cardinal, E. Demaine, S. Fiorini, G. Joret, S. Langerman, I. Newman, O. Weimann, The Stackelberg Minimum.
Introduction to Graph Theory
COSC 2007 Data Structures II Chapter 14 Graphs I.
The Shortest Path problem in graphs with selfish edges.
The Shortest-Path problem in graphs with selfish-edges.
SECOND PART on AGT: Algorithmic Mechanism Design.
Graphs 2015, Fall Pusan National University Ki-Joune Li.
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.
Great Theoretical Ideas in Computer Science for Some.
 2004 SDU 1 Lecture5-Strongly Connected Components.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
Second case study: Network Creation Games (a.k.a. Local Connection Games)
The Stackelberg Minimum Spanning Tree Game J. Cardinal, E. Demaine, S. Fiorini, G. Joret, S. Langerman, I. Newman, O. Weimann, The Stackelberg Minimum.
Lecture 12 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
Trees.
School of Computing Clemson University Fall, 2012
Lectures on Network Flows
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Lecture 12 Algorithm Analysis
Depth-First Search.
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Chapter 23 Minimum Spanning Tree
Minimum Spanning Tree Section 7.3: Examples {1,2,3,4}
Connected Components, Directed Graphs, Topological Sort
Lecture 12 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 12 Algorithm Analysis
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Presentation transcript:

The Minimum Spanning Tree (MST) 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 The classic shortest-path problem on (private-edge) graphs is utilitarian  we showed an efficient O(m+n log n) time implementation of the corresponding VCG-mechanism: g(r) = compute a shortest-path p e (g(r)) = pays for the marginal utility of e (difference between the length of a replacement shortest path in G-e and g(r))

Another very well-known problem: the Minimum Spanning Tree problem INPUT: an undirected, weighted graph G=(V,E,w), r(e)  R + for any e  E Recall: T is a spanning tree of G if: 1. T is a tree 2. T is a subgraph of G 3. T contains all the nodes of G OUTPUT: T=(V,E T ) minimum spanning tree of G, namely having minimum total weight r(T)=  r(e) Fastest centralized algorithm costs O(m  (m,n)) time (B. Chazelle, A minimum spanning tree algorithm with Inverse-Ackermann type complexity. J. ACM 47(6): (2000)), where  is the inverse of the Ackermann function eETeET

The Ackermann function A(i,j) and its inverse  (m,n) Notation: By a b c we mean a (b c ), and not (a b ) c =a b·c. For integers i,j  1, let us define A(i,j) as:

A(i,j) for small values of i and j j=1 j=2 j=3 j=4 i=1 i=2 i=3

The  (m,n) function For integers m  n  0, let us define  (m,n) as:

Properties of  (m,n) 1. For fixed n,  (m,n) is monotonically decreasing for increasing m  (m,n)= min {i>0 : A(i,  m/n  ) > log 2 n} growing in m 2.  (n,n)   for n    (n,n)= min {i>0 : A(i,  n/n  ) > log 2 n} = min {i>0 : A(i, 1) > log 2 n}   

 (m,n)  4 for any practical purposes (i.e., for reasonable values of n) A(4,  m/n  )  A(4,1) = A(3,2) = >>  estimated number of atoms in the universe!  (m,n)= min {i>0 : A(i,  m/n  ) > log 2 n} Remark  hence,  (m,n)  4 for any n<

The private-edge MST problem Input: a 2-edge-connected, undirected graph G=(V,E) such that each edge is owned by a distinct selfish agent; we assume that agent’s private type t is the positive cost of her edge, and her valuation function is equal to her type if edge is selected in the solution, and 0 otherwise. SCF: a (true) MST of G=(V,E,t).

VCG mechanism The problem is utilitarian (indeed, the cost of a solution is given by the sum of the valuations of the selected edges)  VCG-mechanism M= : g: computes a MST T=(V,E T ) of G=(V,E,r) p e : For any edge e  E, p e =-  j≠e v j (r j,g(r - e ))+  j≠e v j (r j,g(r)), namely p e =r(T G-e ) - [r(T)-r(e)] if e  E T, (notice that p e  r(e)) p e =0 otherwise.  For any e  T we have to compute T G-e, namely the replacement MST for e (MST in G-e =(V,E\{e},r -e )) Remark: G is 2-edge-connected since otherwise r(T G-e ) might be unbounded  agent owning e might report an unbounded cost!)

A trivial solution  e  T we compute an MST of G-e Time complexity: we pay O(m  (m,n)) for each of the n-1 edges of the MST  O(nm  (m,n)) We will show an efficient solution costing O(m  (m,n)) time!!!

A related problem: MST sensitivity analysis Input G=(V,E,w) weighted and undirected T=(V,E T ) MST of G Question For any e  E T, how much w(e) can be increased until the minimality of T is affected? For any f  T, how much w(f) can be decreased until the minimality of T is affected? (we will not be concerned with this aspect)

An example The red edge can increase its cost up to 8 before being replaced by the green edge

Computing the sensitivity of a tree edge G=(V,E), T any spanning tree of G. We define: For any non-tree edge f=(x,y)  E\E(T) T(f): (unique) simple path in T joining x and y (a.k.a. the fundamental cycle of f w.r.t. T) For any tree–edge e  E(T) C(e)={f  E\E(T): e  T(f)}; notice that C(e) contains all the non-tree edges that cross the cut induced by the removal of e from T

MST sensitivity analysis e C(e) e f T(f)

Proof (by contr.): Let e be in the cycle C={e}  P, and assume that e  T  MST(G). Then e e’  T T’=T \ {e}  {e’} w(e’) < w(e)  w(T’) < w(T) T is not an MST of G X V\X P The cycle property Theorem: Let G=(V,E) be an undirected weighted graph, and let e be the strongly heaviest edge of any cycle in G. Then, e  MST(G) (the set of all MSTs of G).

Minimality condition for a MST Corollary G=(V,E,w) undirected weighted graph T spanning tree of G THEN T is a MST of G iff for any edge f not in T and for any e in T(f) it holds: w(f)  w(e)

…therefore… If e is an edge of the MST T, then T remains minimal until w(e) ≤ w(f), where f is the cheapest non-tree edge forming a cycle with e in the MST (f is called a swap edge for e); let us call this value up(e) More formally, for any e  E(T) up(e) = min f  C(e) w(f) swap(e) = arg min f  C(e) w(f)

MST sensitivity analysis up(e)= e C(e)

Remark Computing all the values up(e) is equivalent to compute a MST of G-e for any edge e in the MST T of G; indeed w(T G-e )=w(T)-w(e)+up(e)  In the VCG-mechanism, the payment p e of an edge e in the solution is exactly up(e), where now the graph is weighted w.r.t. r

Idea of the efficient algorithm From the above observations, it is easy to devise an O(mn) time implementation for the VCG- mechanism: just compute an MST T of G=(V,E,r) in O(m  (m,n)) time, and then  e  T compute C(e) and up(e) in O(m) time (can you see the details of this step?) In the following, we sketch how to boil down the overall complexity to O(m  (m,n)) time by checking efficiently all the non-tree edges which form a cycle in T with e

The Transmuter Given a graph G=(V,E,w) and a spanning tree T of G, a transmuter D(G,T) is a directed acyclic graph (DAG) representing in a compact way the set of all fundamental cycles of T w.r.t. G, namely {T(f) : f is not in T} D will contain: 1. A source node (in-degree=0) s(e) for any edge e in T 2. A sink node (out-degree=0) t(f) for any edge f not in T 3. A certain number of auxiliary nodes of in-degree=2 and out-degree not equal to zero. Fundamental property: there is a path in D from s(e) to t(f) iff e  T(f)

An example

How to build a transmuter It has been shown that for a graph of n nodes and m edges, a transmuter contains O(m  (m,n)) nodes and edges, and can be computed in O(m  (m,n)) time: R. E. Tarjan, Application of path compression on balanced trees, J. ACM 26 (1979) pp

Topological sorting Let D=(V,A) be a directed graph. Then, a topological sorting of D is a numbering v 1, v 2, …,v n=|V| of the vertices of D s.t. if there exists a directed path from v i to v j in D, then we have i<j. D has a topological sorting iff is a DAG A topological sorting, if any, can be computed in O(|V|+|A|) time (homework!).

Computing up(e) We start by topologically sorting the transmuter (which is a DAG) We label each node in the transmuter with a weight, obtained by processing the transmuter in reverse topological order: We label a sink node t(f) with r(f) We label a non-sink node v with the minimum weight out of all its adjacent successors When all the nodes have been labeled, a source node s(e) is labelled with up(e) (and the corresponding swap edge)

An example

Time complexity for computing up(e) 1. Transmuter build-up: O(m  (m,n)) time 2. Computing up(e) values: Topological sorting: O(m  (m,n)) time Processing the transmuter: O(m  (m,n)) time

Time complexity of the VCG-mechanism Theorem There exists a VCG-mechanism for the private- edge MST problem running in O(m  (m,n)) time. Proof. Time complexity of g: O(m  (m,n)) Time complexity of p: we compute all the values up(e) in O(m  (m,n)) time.