Fast distributed approximation algorithms for vertex cover and set cover in anonymous networks Jukka Suomela Helsinki Institute for Information Technology HIIT University of Helsinki, Finland Braunschweig, 29 November 2010 3 1378 Joint work with Matti Åstrand 2 2789
Vertex cover problem • Vertex cover C for a graph G : • Subset C of nodes that “covers” all edges of the graph • Each edge has at least one endpoint in C • Can we find a small vertex cover? 2
Vertex cover problem • Classical NP-hard optimisation problem • Simple 2-approximation algorithm: endpoints of a maximal matching • No polynomial-time algorithm with approximation factor 1.999 known 3
Research question • Distributed approximation algorithms for vertex cover • Find a small vertex cover in any communication network • Best possible approximation ratio • As fast as possible: running time independent of n • Weakest possible models: no randomness, no unique node identifiers • Let’s first define the models... 4
Distributed algorithms • Communication graph G G • Node = computer • Edge = communication Edge = link • Computers exchange messages and finally decide whether they are in vertex cover C • “Local output”, 0 or 1 5
Distributed algorithms • All nodes are identical, run the same algorithm G • We can choose the algorithm • An adversary chooses the structure of G • Our algorithm must produce a valid vertex cover in any graph G 6
Model 1: Unique identifiers • The “standard model” • Node identifiers 1 are a subset of 1, 2, ..., poly( n ) 6 2 • Subset chosen 3 by adversary 7
Model 2: Port-numbering model • No unique identifiers 1 1 2 • A node of degree d can 3 1 refer to its neighbours 2 2 by integers 1, 2, ..., d 1 • Port-numbering chosen 1 by adversary 2 2 1 1 3 1 2 8
Model 3: Broadcast model • No identifiers, Send “A” no port numbers Send “A” • A node has to send the same message to each neighbour • A node does not know Receives: which message was 2 × “A” Send “B” received from which 1 × “B” neighbour ( multiset ) 9
Deterministic distributed algorithms for vertex cover • Guaranteed approximation ratios? • E.g., 2-approximation of minimum vertex cover = at most 2 times as large as the smallest vertex cover • Fast? • Time = number of communication rounds • n = number of nodes • Δ = maximum degree • In weak models of distributed computing? 10
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 1 f ( Δ ) + polylog( n ) Trivial f ( Δ ) + O (log* n ) algorithm f ( Δ ) Broadca Broadcast Po Port Unique Unique model model numbering number identif identifiers 11
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 1 f ( Δ ) + polylog( n ) 2 Maximal matching f ( Δ ) + O (log* n ) 2 (Panconesi & Rizzi 2001) f ( Δ ) Broadcast Broadca Po Port Unique Unique model model numbering number identif identifiers 12
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 1 Near-maximal f ( Δ ) + polylog( n ) 2 2 edge packing f ( Δ ) + O (log* n ) 2 (Khuller et al. 1994) f ( Δ ) Broadcast Broadca Po Port Unique Unique model model number numbering identif identifiers 13
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 1 Deterministic f ( Δ ) + polylog( n ) 2 2 LP rounding f ( Δ ) + O (log* n ) 2 + ε 2 (Kuhn et al. 2006) f ( Δ ) 2 + ε 2 + ε Broadca Broadcast Po Port Unique Unique model model number numbering identif identifiers 14
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 1 f ( Δ ) + polylog( n ) 2 2 Czygrinow et al. 2008 f ( Δ ) + O (log* n ) 2 + ε 2 Lenzen & Wattenhofer 2008 f ( Δ ) 2 2 2 + ε 2 2 + ε Broadca Broadcast Port Po Unique Unique model model numbering number identif identifiers 15
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 2 2 1 f ( Δ ) + polylog( n ) 2 2 2 2 Trivial f ( Δ ) + O (log* n ) 2 2 2 + ε 2 (cycles) f ( Δ ) 2 2 2 + ε 2 2 + ε Broadcast Broadca Po Port Unique Unique model model numbering number identif identifiers 16
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 2 2 1 f ( Δ ) + polylog( n ) 2 2 2 2 f ( Δ ) + O (log* n ) 2 2 2 + ε 2 f ( Δ ) 2 2 2 + ε 2 2 + ε Broadcast Broadca Po Port Unique Unique model model number numbering identif identifiers 17
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 ? 2 2 1 Anything Could we here? f ( Δ ) + polylog( n ) 2 ? 2 2 2 have 2? f ( Δ ) + O (log* n ) 2 ? 2 2 + ε 2 f ( Δ ) 2 ? 2 2 + ε 2 2 + ε Broadca Broadcast Po Port Unique Unique model model number numbering identif identifiers 18
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 ? 2 2 1 DISC f ( Δ ) + polylog( n ) 2 ? 2 2 2 2009 f ( Δ ) + O (log* n ) 2 ? 2 2 2 f ( Δ ) 2 ? 2 2 2 2 Broadca Broadcast Port Po Unique Unique model model number numbering identif identifiers 19
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 2 2 2 1 Latest + faster and results f ( Δ ) + polylog( n ) 2 2 2 2 2 more general solution here f ( Δ ) + O (log* n ) 2 2 2 2 2 f ( Δ ) 2 2 2 2 2 2 Broadca Broadcast Port Po Unique Unique model model number numbering identif identifiers 20
Deterministic distributed algorithms for vertex cover: approximation ratios Time lower upper lower upper lower upper O ( n ) 2 2 2 2 1 Let’s study f ( Δ ) + polylog( n ) 2 2 2 2 2 this case first... f ( Δ ) + O (log* n ) 2 2 2 2 2 f ( Δ ) 2 2 2 2 2 2 Broadcast Broadca Po Port Unique Unique model model number numbering identif identifiers 21
Vertex cover in the port-numbering model • Convenient to study a more general problem: minimum-weight vertex cover • More general problems are sometimes 1 5 easier to solve? 9 6 6 9 Notation: 6 w ( v ) = weight of v 3 22
Edge packings and vertex covers • Edge packing : weight y ( e ) ≥ 0 for each edge e • Packing constraint: y [ v ] ≤ w ( v ) for each node v , where y [ v ] = total weight of edges incident to v 1 5 0 4 0 9 6 6 6 3 0 edge packing 9 ≈ fractional 0 0 2 matching (LP relaxation) 6 3 23
Edge packings and vertex covers • Node v is saturated if y [ v ] = w ( v ) • Total weight of edges incident to v is equal to w ( v ), i.e., the packing constraint holds with equality 1 5 0 4 0 9 6 6 6 3 0 9 0 0 2 y [ v ] = w ( v ) y [ v ] < w ( v ) 6 3 24
Edge packings and vertex covers • Edge e is saturated if at least one endpoint of e is saturated • Equivalently: edge weight y ( e ) can’t be increased 1 5 0 4 0 9 6 6 6 3 0 9 2 + ε would violate 0 0 2 a packing constraint 6 3 25
Edge packings and vertex covers • Maximal edge packing : all edges saturated ⇐ ⇒ none of the edge weights y ( e ) can be increased ⇐ ⇒ saturated nodes form a vertex cover 1 5 0 4 0 9 6 6 6 3 0 9 0 0 2 6 3 26
Edge packings and vertex covers • Maximal edge packing : all edges saturated ⇐ ⇒ saturated nodes form a vertex cover • ... and saturated nodes are 2-approximation of minimum-weight vertex cover (Bar-Yehuda & Even 1981) • How to find a maximal edge packing...? • Phase I: “ greedy but safe ”, cf. Khuller et al. (1994), Papadimitriou & Yannakakis (1993) • Phase II: if phase I fails to saturate an edge e = { u , v }, we can break symmetry between u and v ; exploit it! 27
Finding a maximal edge packing: phase I • y [ v ] = total weight of edges incident to node v • Residual capacity of node v : r ( v ) = w ( v ) − y [ v ] • Saturated node: 1 1 1 5 r ( v ) = 0 0 4 0 0 0 0 9 6 6 6 3 0 r ( v ): 6 w ( v ): 9 2 0 0 6 3 4 3 28
Finding a maximal edge packing: phase I Start with a trivial edge packing y ( e ) = 0 1 5 1 5 0 0 0 9 6 6 9 6 6 0 0 0 r ( v ): 9 w ( v ): 9 0 0 0 6 3 6 3 29
Finding a maximal edge packing: phase I Each node v offers r ( v )/deg( v ) units to 1 5/2 1 5 each incident edge 1 5 3/2 3/2 6 0 0 0 9 6 6 9 6 6 offer: 9 0 0 0 r ( v ): 9 w ( v ): 9 0 0 0 6 3 6 3 6 3/2 30
Finding a maximal edge packing: phase I Each edge accepts the smallest of the 1 5/2 1 5 2 offers it received 1 5 3/2 3/2 6 9 6 6 1 3/2 3/2 9 6 6 9 3/2 3/2 9 3/2 Increase y ( e ) 9 3/2 3/2 3/2 by this amount • Safe, can’t violate 6 3 6 3 packing constraints 6 3/2 31
Recommend
More recommend