Title: Algorithmic Mechanism Design: an Introduction
1- 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
- guido.proietti_at_univaq.it
2Review
- VCG-mechanism pair Mltg,pgt where
- g(r) arg maxy?X ?i vi(ri,y)
- pi(g(r)) -?j?i vj(rj,g(r-i)) ?j?i vj(rj,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(mn log n) time implementation of
the corresponding VCG-mechanism - g(r) compute a shortest-path
- pe(g(r)) pays for the marginal utility of e
(difference between the length of a replacement
shortest path without e and g(r))
3Another 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
- T is a tree
- T is a subgraph of G
- T contains all the nodes of G
- OUTPUT T(V,ET) minimum spanning tree of G,
namely having minimum total weight w(T)? w(e) - Fastest centralized algorithm costs O(m ?(m,n))
time
e?ET
4The Ackermann function A(i,j) and its inverse
?(m,n)
Notation By abc we mean a(bc), and not
(ab)cabc. For integers i,j?1, let us define
A(i,j) as
5A(i,j) for small values of i and j
j1 j2 j3 j4
24
23
22
i1
2
2
2
2
2
i2
22
22
2
2
22
22
2
.
16
.
2
2
2
16
2
.
.
.
.
2
2
2
2
2
.
.
.
16
2
2
.
.
.
.
.
2
22
i3
22
22
22
6The ?(m,n) function
For integers m?n?0, let us define ?(m,n) as
7Properties of ?(m,n)
- For fixed n, ?(m,n) is monotonically decreasing
for increasing m
?(m,n) min igt0 A(i, ?m/n?) gt log2 n
growing in m
- ?(n,n) ? ? for n ? ?
?(n,n) min igt0 A(i, ?n/n?) gt log2 n
min igt0 A(i, 1) gt log2 n
? ?
8Remark
- ?(m,n) ? 4 for any practical purposes (i.e., for
reasonable values of n)
?(m,n) min igt0 A(i, ?m/n?) gt log2 n
A(4,?m/n?)
? A(4,1)
A(3,2)
2
.
.
16
.
22
? estimated number of atoms in the universe!
gtgt 1080
? hence, ?(m,n) ? 4 for any nlt21080
9The 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 agents
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).
10VCG 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 ltg,pgt - g computes a MST T(V,ET) of G(V,E,r)
- pe For any edge e?E, pe ?j?e vj(rj,g(r-e))
-?j?e vj(rj,g(r)), namely - pew(TG-e)-w(T) re if e?ET, (notice that
pe?re) - pe0 otherwise.
- For any e ?T we have to compute TG-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(TG-e) might be unbounded ? agent owning e might
report an unbounded cost!)
11A 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!!!
12A related problem MST sensitivity analysis
- Input
- G(V,E,w) weighted and undirected
- T(V,ET) MST of G
- Question
- For any e?ET, 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)
13An example
4
11
The red edge can increase its cost up to 8 before
being replaced by the green edge
10
13
6
8
8
10
2
1
3
7
9
14Notation
- 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 treeedge e?E(T)
- C(e)f?E\E(T) e?T(f)
15The 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).
- Proof (by contr.) Let e be in the cycle Ce?P,
and assume that e?T?MST(G). Then
X
TT \ e ? e
P
w(e) lt w(e) ? w(T) lt w(T)
e
e?T
T is not an MST of G
V\X
16Minimality 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).
17therefore
- 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) minf?C(e) w(f)
- swap(e) arg minf?C(e) w(f)
18MST sensitivity analysis
4
11
C(e)
10
13
6
up(e)8
e
8
10
2
1
3
7
9
19Remark
- Computing all the values up(e) is equivalent to
compute a MST of G-e for any edge e in T indeed - w(TG-e)w(T)-w(e)up(e)
- In the VCG-mechanism, the payment pe of an edge e
in the solution is exactly up(e)!!
20Idea 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
21The 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
- A source node (in-degree0) s(e) for any edge e
in T - A sink node (out-degree0) t(f) for any edge f
not in T - A certain number of auxiliary nodes of
in-degree2 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)
22An example
23How 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 690-715
24Topological sorting
- Let D(N,A) be a directed graph. Then, a
topological sorting of D is an order v1, v2,
,vnN for the nodes s.t. for any (vi, vj)?A,
we have iltj. - D has a topological sorting iff is a DAG
- A topological sorting, if any, can be computed in
O(NA) time (homework!).
25Computing 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)
26An example
2
7
8
5
6
9
3
6
4
11
9
10
7
7
6
6
10
9
7
6
10
7
6
11
8
9
10
27Time complexity for computing up(e)
- Transmuter build-up O(m ?(m,n)) time
- Computing up(e) values
- Topological sorting O(m ?(m,n)) time
- Processing the transmuter O(m ?(m,n)) time
28Time 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.
29- Thanks for your attention!
- Questions?