Algorithmic Mechanism Design: an Introduction - PowerPoint PPT Presentation

About This Presentation
Title:

Algorithmic Mechanism Design: an Introduction

Description:

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

Number of Views:119
Avg rating:3.0/5.0
Slides: 30
Provided by: luciano
Category:

less

Transcript and Presenter's Notes

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

2
Review
  • 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))

3
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
  • 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
4
The 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
5
A(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
6
The ?(m,n) function
For integers m?n?0, let us define ?(m,n) as
7
Properties of ?(m,n)
  1. 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
  1. ?(n,n) ? ? for n ? ?

?(n,n) min igt0 A(i, ?n/n?) gt log2 n
min igt0 A(i, 1) gt log2 n
? ?
8
Remark
  • ?(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
9
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 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).

10
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 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!)

11
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!!!

12
A 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)

13
An 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
14
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 treeedge e?E(T)
  • C(e)f?E\E(T) e?T(f)

15
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).
  • 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
16
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).

17
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) minf?C(e) w(f)
  • swap(e) arg minf?C(e) w(f)

18
MST sensitivity analysis
4
11
C(e)
10
13
6
up(e)8
e
8
10
2
1
3
7
9
19
Remark
  • 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)!!

20
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

21
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
  • 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)

22
An example
23
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 690-715

24
Topological 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!).

25
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)

26
An 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
27
Time 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

28
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.

29
  • Thanks for your attention!
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com