Algorithmic Mechanism Design: an Introduction VCG-mechanisms for some basic network optimization problems: The Minimum Spanning Tree problem Guido Proietti.

Slides:



Advertisements
Similar presentations
Combinatorial Auction
Advertisements

Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Graph Theory Arnold Mesa. Basic Concepts n A graph G = (V,E) is defined by a set of vertices and edges v3 v1 v2Vertex (v1) Edge (e1) A Graph with 3 vertices.
1 A Faster Approximation Algorithm For The Steiner Problem In Graphs Kurt Mehlhorn. Information Processing Letters, 27(3):125–128, 高等演算法二
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.
Breadth-First Search Seminar – Networking Algorithms CS and EE Dept. Lulea University of Technology 27 Jan Mohammad Reza Akhavan.
Karger’s Min-Cut Algorithm Amihood Amir Bar-Ilan University, 2009.
Minimum Spanning Trees Definition Algorithms –Prim –Kruskal Proofs of correctness.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
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.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
A Truthful 2-approximation Mechanism for the Steiner Tree Problem.
SECOND PART: Algorithmic Mechanism Design. Mechanism Design MD is a subfield of economic theory It has a engineering perspective Designs economic mechanisms.
Mechanism Design Traditional Algorithmic Setting Mechanism Design Setting.
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.
Math – Getting Information from the Graph of a Function 1.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
SECOND PART: Algorithmic Mechanism Design. Mechanism Design Find correct rules/incentives.
Lecture 13 Graphs. Introduction to Graphs Examples of Graphs – Airline Route Map What is the fastest way to get from Pittsburgh to St Louis? What is the.
Minimum Spanning Trees
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
Algorithmic Mechanism Design: an Introduction Approximate (one-parameter) mechanisms, with an application to combinatorial auctions Guido Proietti Dipartimento.
Minimum Cost Spanning Trees CSC263 Tutorial 10. Minimum cost spanning tree (MCST) What is a minimum cost spanning tree? – Tree No cycles; equivalently,
The Minimum Spanning Tree (MST) problem in graphs with selfish edges.
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
The Shortest Path problem in graphs with selfish edges.
The Shortest-Path problem in graphs with selfish-edges.
EMIS 8373: Integer Programming Combinatorial Relaxations and Duals Updated 8 February 2005.
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
One-parameter mechanisms, with an application to the SPT problem.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Construction of Optimal Data Aggregation Trees for Wireless Sensor Networks Deying Li, Jiannong Cao, Ming Liu, and Yuan Zheng Computer Communications and.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Trees.
Introduction to Algorithms
Minimum Spanning Tree Chapter 13.6.
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Lecture 23 CSE 331 Oct 26, 2016.
Chapter 5. Optimal Matchings
CS 3343: Analysis of Algorithms
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Minimum-Cost Spanning Tree
Connected Components Minimum Spanning Tree
Graphs & Graph Algorithms 2
Greedy Algorithms / Dijkstra’s Algorithm Yin Tat Lee
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
3.5 Minimum Cuts in Undirected Graphs
Introduction Basic formulations Applications
Lecture 19-Problem Solving 4 Incremental Method
Lecture 24 CSE 331 Oct 29, 2012.
Lecture 23 CSE 331 Oct 24, 2011.
Introduction Wireless Ad-Hoc Network
Spanning Tree Algorithms
Lecture 22 CSE 331 Oct 15, 2014.
5.4 T-joins and Postman Problems
The Shortest-Path problem in graphs with selfish-edges
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Weighted Graphs & Shortest Paths
Lecture 23 CSE 331 Oct 24, 2011.
The Minimum Cost Spanning Tree Problem
Warm Up – Monday Calculate the Redundancy of the above network.
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Chapter 9 Graph algorithms
Minimum-Cost Spanning Tree
Presentation transcript:

Algorithmic Mechanism Design: an Introduction VCG-mechanisms for some basic network optimization problems: The Minimum Spanning Tree problem Guido Proietti Dipartimento di Ingegneria e Scienze dell'Informazione e Matematica University of L'Aquila

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 without e and g(r))

Another very well-known problem: the Minimum Spanning Tree problem INPUT: an undirected, weighted graph G=(V,E,w), w(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 w(T)=  w(e) Fastest centralized algorithm costs O(m  (m,n)) time 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 =w(T G-e )-w(T)+ r e if e  E T, (notice that p e  r e ) p e =0otherwise.  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 w(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

Notation 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)}

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) undirected weighted graph T spanning tree of G. THEN T is a MST iff for any edge f not in T it holds: w(f)  w(e) for any e in T(f).

…therefore… If e is an edge of the MST, then this 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 T; 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)!!

Idea of the efficient algorithm From the above observations, it is easy to devise a O(mn) time implementation for the VCG- mechanism: just compute an MST of G 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 show 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, 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 tranmuter 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=(N,A) be a directed graph. Then, a topological sorting of D is an order v 1, v 2, …,v n=|N| for the nodes s.t. for any (v i, v j )  A, we have i<j. D has a topological sorting iff is a DAG A topological sorting, if any, can be computed in O(|N|+|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 trasmuter in reverse topological order: We label a sink node t(f) with w(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.

Thanks for your attention! Questions?