a local 2 approximation algorithm for the vertex cover
play

A local 2-approximation algorithm for the vertex cover problem Matti - PowerPoint PPT Presentation

A local 2-approximation algorithm for the vertex cover problem Matti strand Patrik Floren Valentin Polishchuk Joel Rybicki Jukka Suomela Jara Uitto HIIT University of Helsinki Finland + 1 + 1 2 4 DISC, Elche, Spain, 23


  1. A local 2-approximation algorithm for the vertex cover problem Matti Åstrand · Patrik Floréen · Valentin Polishchuk Joel Rybicki · Jukka Suomela · Jara Uitto HIIT · University of Helsinki · Finland + 1 + 1 2 · 4 · DISC, Elche, Spain, 23 September 2009

  2. Vertex cover Given a graph G = ( V , E ) , find a smallest C ⊆ V that covers every edge of G • i.e., each edge e ∈ E incident to at least one node in C Classical NP-hard optimisation problem 2 / 29

  3. Vertex cover in a distributed setting Node = computer, edge = communication link, each node must decide whether it is in the cover C Goals: • deterministic algorithm • running time independent of n = | V | (but may depend on maximum degree ∆ ) • the best possible approximation ratio 3 / 29

  4. Prior work Kuhn et al. (2006): • ( 2 + ǫ ) -approximation in O ( log ∆ / ǫ 4 ) rounds Czygrinow et al. (2008), Lenzen & Wattenhofer (2008): • ( 2 − ǫ ) -approximation requires Ω ( log ∗ n ) rounds, even if ∆ = 2 What about 2 -approximation? Is it possible in f ( ∆ ) rounds, for some f ? 4 / 29

  5. Prior work Kuhn et al. (2006): • ( 2 + ǫ ) -approximation in O ( log ∆ / ǫ 4 ) rounds Czygrinow et al. (2008), Lenzen & Wattenhofer (2008): • ( 2 − ǫ ) -approximation requires Ω ( log ∗ n ) rounds, even if ∆ = 2 What about 2 -approximation? Is it possible in f ( ∆ ) rounds, for some f ? – Yes! 5 / 29

  6. Contribution Deterministic 2 -approximation algorithm for vertex cover • Running time ( ∆ + 1 ) 2 synchronous rounds No O -notation needed here. . . 6 / 29

  7. Contribution Deterministic 2 -approximation algorithm for vertex cover • Running time ( ∆ + 1 ) 2 synchronous rounds Surprise: node identifiers not needed • Negative result for ( 2 − ǫ ) -approximation holds even if there are unique node identifiers • Our algorithm can be used in anonymous networks 7 / 29

  8. Background: maximal matching In a centralised setting, 2 -approximation is easy: find a maximal matching , take all matched nodes But matching requires Ω ( log ∗ n ) rounds and unique identifiers • symmetry breaking! 8 / 29

  9. Background: maximal edge packing Edge packing = edge weights from [ 0, 1 ] , for each node v ∈ V , total weight on incident edges ≤ 1 Maximal , if no weight can be increased 0.0 0.5 0.0 0.3 0.0 1.0 0.0 0.0 0.2 9 / 29

  10. Background: maximal edge packing Maximal matching = ⇒ maximal edge packing (matched: weight 1 , unmatched: weight 0 ) 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 10 / 29

  11. Background: maximal edge packing Maximal matching requires symmetry breaking Maximal edge packing does not 0.5 0.5 0.5 0.5 11 / 29

  12. Background: maximal edge packing Node saturated if total weight on incident edges = 1 Saturated nodes: 2 -approximation of vertex cover (proof: LP duality) 0.0 0.5 0.0 0.3 0.0 1.0 0.0 0.0 0.2 12 / 29

  13. Finding an edge packing Construct a 2-coloured bipartite double cover Each original node simulates two nodes of the cover 13 / 29

  14. Finding an edge packing Find a maximal matching in the 2-coloured graph Easy in O ( ∆ ) rounds 14 / 29

  15. Finding an edge packing Give 1 2 units of weight to each edge in matching 0 1 0 2 1 0 2 1 2 15 / 29

  16. Finding an edge packing Many possibilities. . . 0 0 0 1 0 0 16 / 29

  17. Finding an edge packing Many possibilities. . . 0 0 0 1 1 2 2 1 2 17 / 29

  18. Finding an edge packing Many possibilities. . . 1 2 1 0 2 0 0 1 18 / 29

  19. Finding an edge packing Always: weight 1 2 paths and cycles and weight 1 edges Valid edge packing 1 0 0 0 2 1 1 0 0 0 0 0 0 2 2 1 1 1 0 1 0 0 0 2 2 2 1 1 0 1 2 2 19 / 29

  20. Finding a maximal edge packing Not necessarily maximal – but all unsaturated edges adjacent to two weight 1 2 edges 0 1 1 2 2 1 1 2 2 0 20 / 29

  21. Finding a maximal edge packing In any graph: Unsaturated edges adjacent to two weight 1 2 edges ∆ = 3 21 / 29

  22. Finding a maximal edge packing In any graph: Unsaturated edges adjacent to two weight 1 2 edges Delete saturated edges ∆ = 3 → ∆ = 2 22 / 29

  23. Finding a maximal edge packing Each node has lost at least one neighbour Remaining capacity of each node is exactly 1 2 ∆ = 3 → ∆ = 2 23 / 29

  24. Finding a maximal edge packing Repeat ∆ = 2 24 / 29

  25. Finding a maximal edge packing Delete saturated edges ∆ = 2 → ∆ = 1 25 / 29

  26. Finding a maximal edge packing Each node has lost at least one neighbour Remaining capacity of each node is exactly 1 4 ∆ = 2 → ∆ = 1 26 / 29

  27. Finding a maximal edge packing Repeat. . . ∆ = 1 27 / 29

  28. Finding a maximal edge packing Repeat. . . Maximum degree decreases on each iteration Everything saturated in ∆ iterations 28 / 29

  29. Summary Maximal edge packing in ( ∆ + 1 ) 2 rounds ⇒ 2 -approximation of vertex cover = + 1 + 1 2 · 4 · ∆ = 3 ∆ = 2 ∆ = 1 29 / 29

Recommend


More recommend