Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Truthful 2-approximation Mechanism for the Steiner Tree Problem.

Similar presentations


Presentation on theme: "A Truthful 2-approximation Mechanism for the Steiner Tree Problem."— Presentation transcript:

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  T c(e)

3 An example 5 2 4 1 1 2 3 3 5 1 3 1 2 2 2 a b c N={a,b,c} T: optimal Steiner tree T

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 A e Only A e knows t e (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 p e to each agent A e using some payment function p

6 More formally Feasible solutions: F: set of all trees in G spanning N Type of agent A e :  e : weight of edge e Intuition:  e is the cost A e incurs whenever she uses e A e ’s valuation of T  F: v e (  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 v e (  e,T) the problem is utilitarian! …VCG mechanisms apply

8 VCG mechanism M= : g(r): arg min x  F  j v j (r j,x) p e (x): for each e  E: p e =  j≠e v j (r j,g(r - e )) -  j≠e v j (r j,x) g(r) should compute an optimal solution!!! What to do? …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, COCOON’05

9 Our goal: to design a mechanism satisfying: 1. g( ٠ ) is monotone 2. Solution returned by g( ٠ ) is a “good” solution, i.e. an approximated solution 3. g( ٠ ) and p( ٠ ) computable in polynomial time

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

11 An example 15 2 3 4 1 2 8 13 5 10 3 1 2 2 12 a bc N={a,b,c} a bc 7 7 8 D

12 An example 15 2 3 4 1 2 8 13 5 10 3 1 2 2 12 a bc N={a,b,c} a bc 7 7 8 D M

13 An example 15 2 3 4 1 2 8 13 5 10 3 1 2 2 12 a bc N={a,b,c} a bc 7 7 8 D M H

14 An example 15 2 3 4 1 2 8 13 5 10 3 1 2 2 12 a bc N={a,b,c} a bc 7 7 8 D M T

15 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. Theorem [Takahashi, Matsuyama,’80] 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 1. Monotonicity 2. 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; M=MST(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) 1.Choose an edge (a,b) of M s.t. a  N(T) and b  N(T) 2.Try to expand (a,b) whithout forming cycles 3.If this is not possible, look for an edge (a’,b) of D s.t. 1.(a’,b) admits an acyclic expansion 2.a’  N(T) 3.w(a’,b)=w(a,b) 4.M=M\{(a,b)}  {(a’,b)} 5.Expand (a’,b); N(T) = N(T)  {b} 4.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  =P G (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 C M (a’,b’): non-tree edges crossing the cut (N(a’),N(b’))

19 Expanding (a,b) 1. Let  =P G (a,b); 2. Let x be the first node of T encountered along  (traversing  from b to a) 3. Let (a’,b’) be any edge of the current M s.t.: a’,b’  N(T)  ’=P T (a’,b’) passes through x a  N(a’) 4. N(T)=N(T)  {b}; T=T   [x,b]; 5. if (a  a’) then M=M\{(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: a=a’ a  a’

21 Case 1 (a’=a) a b c da c d b a’ b’ a’b’ x M T   =P G (a,b)  ’=P T (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) a b c da c d b x  a’ b’ a’ b’ it must be d G (a,x)=d G (a’,x)  ’=P T (a’,x)   [x,b] is a shortest path from a’ to b …and we expands (a’,b) with  ’ (acyclic expansion) we swap (a,b) and (a’,b) in M…  w(a,b)=w(a’,b) T M

23 The algorithm g( ) is monotone Lemma proof It suffices to prove that any non-selected edge e it still non-selected when A e raises her bid Notice: e does not belong to any shortest path selected in M Thus, if A e 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 How much can A e raise her bid before exiting from the computed solution? Computing the payments …we have to pay each selected edge e as its threshold value

25 a b b’’b’ a’a’’ e a’ a’’ a b’ b b’’ M T P G (a’,b’) P G (a’’,b’’) P G (a,b) w(a,b) w(a’,b’) w(a’’,b’’) A e raises her bid of  b e +be+be +be+be (a’,b’) becomes lighter than (a,b) Example 1

26 e a’ a’’ a a’ a’’ a b’ b b’’ b’ b b’’ M T w(a’,b’) w(a,b)+  b e w(a’’,b’’)+  b e g( ٠ ) selects (a’,b’) and e exits form the solution Example 1

27 a b b’’b’ a’a’’ e a’ a’’ a b’ b b’’ M T P G (a’,b’) P G (a’’,b’’) P G (a,b) w(a,b) w(a’,b’) w(a’’,b’’) A e raises her bid of  b e P G-e (a,b) becomes shorter than P G (a,b) Example 2 (a,b) is still a lightest edge crossing the cut d G-e (a,b) +be+be

28 a b b’’b’ a’a’’ e a’ a’’ a b’ b b’’ M T P G (a’,b’) P G (a’’,b’’) P G-e (a,b) d G-e (a,b) w(a’,b’) w(a’’,b’’) +be+be g( ٠ ) still selects (a,b) but e exits from the solution Example 2

29 …more formally… The threshold for e w.r.t. the edge (a,b)  Im(e) is defined as =b e + min {(d G-e (a,b) – d G (a,b)), (swap (a,b) (e) – d G (a,b))} swap (a,b) (e)= min {d G-e (a’,b’)} (a’,b’)  C M (a,b) ee (a,b) ee where The image of e on M Im(e)={(a,b)  E(M) | e  P T (a,b)}

30 Threshold of e  e = max { } i=1,..,h If Im(e)={(a 1,b 1 ), …, (a h,b h )} ee (a i,b i ) Easy to see:  e can be computed in polynomial time

31 The running time of the mechanism is O((n+k 2 )m log  (m,n). The space used is O(n 2 ). Theorem


Download ppt "A Truthful 2-approximation Mechanism for the Steiner Tree Problem."

Similar presentations


Ads by Google