Download presentation
Presentation is loading. Please wait.
1
The selfish-edges Minimum Spanning Tree (MST) problem
2
A very well-known 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 eETeET
3
The Ackermann function A(i,j) and its inverse (m,n) For integers i,j 1, let us define A(i,j) as:
4
A(i,j) for small values of i and j 2 2323 2424 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 16 2 2 2 2 2 2 2 2 2 2 2 2 2.............. j=1 j=2 j=3 j=4 i=1 i=2 i=3
5
The (m,n) function For integers m n 0, let us define (m,n) as:
6
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}
7
(m,n) 4 for any practical purposes (i.e., for reasonable values of n) A(4, m/n ) A(4,1) = A(3,2) =2 2 2 16... >> 10 80 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<2 10 80
8
The selfish-edges 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 is the positive cost of the edge, and his valuation function is equal to his type if edge is selected in the solution, and 0 otherwise. SCF: a (true) MST of G.
9
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(r): 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,x(r - e )) - j≠e v j (r j,x), 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!)
10
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!!!
11
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 it)
12
An example 8 6 2 7 1 9 3 10 4 8 13 11
13
Notation G=(V,E), T any spanning tree of G. We define: For any f=(x,y) E\E(T) T(f): (unique) simple path in T joining x and y For any e E(T) C(e)={f E\E(T): e T(f)}
14
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).
15
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).
16
…therefore… If e is an edge of the MST, then this remains minimal until w(e) ≤ w(f), where f is the cheapest 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)
17
MST sensitivity analysis up(e)=8 6 2 7 1 9 3 10 4 8 13 11 e C(e)
18
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)!!
19
Idea of the efficient algorithm For any e E(T), check efficiently all the edges which form a cycle in T with e, and take the minimum (up(e))
20
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)
21
An example
22
How to build a tranmuter Tarjan showed 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 690-715
23
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 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+m) time.
24
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)
25
2 5 3 6 4 9 7 8 9 6 11 10 77 66 9 76 7 89 6 11 An example
26
Time complexity 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
27
Time complexity of the VCG-mechanism Theorem There exists a VCG-mechanism for the selfish- edges 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.