A Truthful 2-approximation Mechanism for the Steiner Tree Problem - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

A Truthful 2-approximation Mechanism for the Steiner Tree Problem

Description:

A Truthful 2-approximation Mechanism for the Steiner Tree Problem The Steiner Tree problem INPUT: Undirected, weighted graph G=(V,E,c) N V: set of terminal nodes ... – PowerPoint PPT presentation

Number of Views:141
Avg rating:3.0/5.0
Slides: 32
Provided by: luci216
Category:

less

Transcript and Presenter's Notes

Title: A Truthful 2-approximation Mechanism for the Steiner Tree Problem


1
A Truthful 2-approximation Mechanism for the
Steiner Tree Problem
2
The Steiner Tree problem
  • INPUT
  • Undirected, weighted graph G(V,E,c)
  • N ? V set of terminal nodes
  • OUTPUT
  • a tree T spanning N of minimum total cost, i.e.,
    which minimizes c(T)?e?Tc(e)

3
An example
Na,b,c
5
T
c
a
2
3
1
4
1
T optimal Steiner tree
1
5
2
2
2
1
3
2
b
3
4
About Steiner Tree problem
  • It is NP-hard
  • It is approximable within 1.55
  • Robins, Zelikovsky (2000)

5
Steiner Tree game
  • Each edge e is controlled by a selfish agent Ae
  • Only Ae knows te (weight of the edge e)
  • We want to compute a good solution w.r.t. the
    true costs
  • We do it by designing a mechanism
  • Our mechanism
  • Asks each agent to report her cost
  • Computes a solution using an output algorithm
    g(?)
  • Hands payments pe to each agent Ae using some
    payment function p

6
More formally
  • Feasible solutions
  • F set of all trees in G spanning N
  • Type of agent Ae
  • ?e weight of edge e
  • Intuition ?e is the cost Ae incurs whenever she
    uses e
  • Aes valuation of T?F
  • ve(?e,T) ?e if e?E(T), 0 otherwise
  • SCF minimum Steiner tree of G(V,E,?) with
    terminals N

7
How to design a truthful mechanism for the
problem?
Notice that the (true) total weight of a
feasible T is
?e?E ve(?e,T)
the problem is utilitarian!
VCG mechanisms apply
8
VCG mechanism
  • M ltg(r), p(x)gt
  • g(r) arg minx?F ?j vj(rj,x)
  • pe(x) for each e?E
  • pe ?j?e vj(rj,g(r-e)) -?j?e vj(rj,x)

What to do?
g(r) should compute an optimal solution!!!
we look for (approximated) one-parameter
mechanisms!
L. GualĂ , G. Proietti, A Truthful
(2-2/k)-Approximation Mechanism for the Steiner
Tree Problem with k Terminals, COCOON05
9
  • Our goal to design a mechanism satisfying
  • g(?) is monotone
  • Solution returned by g(?) is a good solution,
    i.e. an approximated solution
  • g(?) and p(?) computable in polynomial time

10
A 2-approximation algorithm
  • Build the weighted complete graph D with node set
    N
  • For every pair of nodes in N, w(a,b) dG(a,b)
  • Compute an MST M of D
  • Expand any edge of M with the corresponding
    shortest path. This defines a subgraph H of G
  • Return any feasible tree T which is a subgraph of
    H

11
An example
Na,b,c
5
D
a
2
3
1
3
1
10
15
2
12
2
4
8
2
b
c
13
12
An example
Na,b,c
5
D
a
2
a
3
1
3
M
1
7
10
7
15
2
12
2
4
8
2
8
b
c
b
c
13
13
An example
Na,b,c
5
D
a
2
a
3
1
H
3
M
1
7
10
7
15
2
12
2
4
8
2
8
b
c
b
c
13
14
An example
Na,b,c
5
D
a
2
a
3
1
T
3
M
1
7
10
7
15
2
12
2
4
8
2
8
b
c
b
c
13
15
Theorem Takahashi, Matsuyama,80
The algorithm is a 2-approximation algorithm for
the Steiner tree problem, i.e. it returns a
solution with cost at most twice the cost of the
optimal solution.
Is the algorithm monotone?
..good question!
It depends on Steps 3 and 4
16
Definition of g(?)
  • We modify the 2-apx algorithm in order to
    garantee
  • Monotonicity
  • Efficiency w.r.t. the computation to the
    threshold values

Idea we can guarantee an acyclic expansion of M
17
High level description of g(?)
  1. Compute D MMST(D)
  2. Let r be any terminal node. T(r,?). N(T)r
  3. At each step g(?) reaches a new terminal node b
    (until N(T)N)
  4. Choose an edge (a,b) of M s.t. a ? N(T) and b
    ?N(T)
  5. Try to expand (a,b) whithout forming cycles
  6. If this is not possible, look for an edge (a,b)
    of D s.t.
  7. (a,b) admits an acyclic expansion
  8. a ? N(T)
  9. w(a,b)w(a,b)
  10. MM\(a,b) ? (a,b)
  11. Expand (a,b) N(T) N(T) ? b
  12. Return T and M

18
Expanding (a,b)
  • An edge (a,b) admits an acyclic expansion w.r.t.
    a current tree T if there is a shortest path
    ?PG(a,b) s.t.
  • ?a,x is already in the current tree
  • ?x,b passes through no node of T (except x)
  • Notation
  • Let e(a,b) ? E(M)
  • Removing e splits M into two subtrees
  • N(a) the node set of the subtree containig a
  • N(b) remaining nodes
  • CM(a,b) non-tree edges crossing the cut
    (N(a),N(b))

19
Expanding (a,b)
  • Let ?PG(a,b)
  • Let x be the first node of T encountered along ?
    (traversing ? from b to a)
  • Let (a,b) be any edge of the current M s.t.
  • a,b ? N(T)
  • ?PT(a,b) passes through x
  • a ? N(a)
  • N(T)N(T) ? b TT? ?x,b
  • if (a?a) then MM\(a,b) ? (a,b)

20
Correctness (sketch)
  • T is acyclic
  • At any time M is an MST of D
  • we have to show that the expanding step is
    correct
  • There are 2 cases
  • aa
  • a ? a

21
Case 1 (aa)
M
T
c
b
a
c
a
b
?
x
a
d
d
a
b
b
?PG(a,b)
?PT(a,x) ? ?x,b is an alternative shortest
path from a to b
we expands (a,b) with ? (acyclic expansion)
22
Case 2 (a ? a)
M
a
a
T
c
a
c
x
?
b
d
b
d
a
b
b
it must be dG(a,x)dG(a,x)
? w(a,b)w(a,b)
?PT(a,x) ? ?x,b is a shortest path from a
to b
we swap (a,b) and (a,b) in M
and we expands (a,b) with ? (acyclic
expansion)
23
Lemma
The algorithm g( ) is monotone
proof
It suffices to prove that any non-selected edge e
it still non-selected when Ae raises her bid
Notice e does not belong to any shortest path
selected in M
Thus, if Ae raises her bid, the only edges in D
which increase their weight are edges in E(D)\E(M)
M remains an MST of D
the solution computed by g() is the same and e
is not selected
24
Computing the payments
we have to pay each selected edge e as its
threshold value
  • How much can Ae raise her bid
  • before exiting from the computed solution?

25
Example 1
T
M
a
a
a
a
a
a
PG(a,b)
PG(a,b)
w(a,b)
?be
w(a,b)
?be
w(a,b)
e
b
b
b
PG(a,b)
b
b
b
Ae raises her bid of ?be
(a,b) becomes lighter than (a,b)
26
Example 1
M
a
T
a
a
a
a
a
w(a,b)?be
w(a,b)
e
w(a,b)?be
b
b
b
b
b
b
g(?) selects (a,b) and e exits form the solution
27
Example 2
T
M
a
a
a
a
a
a
PG(a,b)
PG(a,b)
w(a,b)
?be
w(a,b)
dG-e(a,b)
w(a,b)
e
b
b
b
PG(a,b)
b
b
b
Ae raises her bid of ?be
PG-e(a,b) becomes shorter than PG(a,b)
(a,b) is still a lightest edge crossing the cut
28
Example 2
T
M
a
a
a
a
a
a
PG(a,b)
dG-e(a,b)
PG-e(a,b)
?be
w(a,b)
w(a,b)
e
b
b
b
PG(a,b)
b
b
b
g(?) still selects (a,b) but e exits from the
solution
29
more formally
The image of e on M Im(e)(a,b) ? E(M) e ?
PT(a,b)
(a,b)
?e
The threshold for e w.r.t. the edge (a,b)
? Im(e) is defined as
(a,b)
?e
be min (dG-e(a,b) dG(a,b)), (swap(a,b)(e)
dG(a,b))
where
swap(a,b)(e) min dG-e(a,b)
(a,b) ? CM(a,b)
30
Threshold of e
If Im(e)(a1,b1), , (ah,bh)
(ai,bi)
?e max
?e
i1,..,h
Easy to see ?e can be computed in polynomial time
31
Theorem
The running time of the mechanism is O((nk2)m
log ?(m,n). The space used is O(n2).
Write a Comment
User Comments (0)
About PowerShow.com