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

a local 2 approximation algorithm for the vertex cover
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

DISC, Elche, Spain, 23 September 2009

+ 1

2 ·

+ 1

4 ·

Matti Åstrand · Patrik Floréen · Valentin Polishchuk Joel Rybicki · Jukka Suomela · Jara Uitto

HIIT · University of Helsinki · Finland

A local 2-approximation algorithm for the vertex cover problem

slide-2
SLIDE 2

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

Vertex cover

slide-3
SLIDE 3

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

Vertex cover in a distributed setting

slide-4
SLIDE 4

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

Prior work

slide-5
SLIDE 5

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

Prior work

slide-6
SLIDE 6

Deterministic 2-approximation algorithm for vertex cover

  • Running time (∆ + 1)2 synchronous rounds

No O-notation needed here. . .

6 / 29

Contribution

slide-7
SLIDE 7

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

Contribution

slide-8
SLIDE 8

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

Background: maximal matching

slide-9
SLIDE 9

0.0

0.0 1.0 0.0 0.0 0.5 0.0 0.3 0.2

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

9 / 29

Background: maximal edge packing

slide-10
SLIDE 10

0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0

Maximal matching =

⇒ maximal edge packing

(matched: weight 1, unmatched: weight 0)

10 / 29

Background: maximal edge packing

slide-11
SLIDE 11

0.5 0.5 0.5 0.5

Maximal matching requires symmetry breaking Maximal edge packing does not

11 / 29

Background: maximal edge packing

slide-12
SLIDE 12

1.0 0.3 0.0 0.0 0.0 0.0 0.0 0.5 0.2

Node saturated if total weight on incident edges = 1 Saturated nodes: 2-approximation of vertex cover (proof: LP duality)

12 / 29

Background: maximal edge packing

slide-13
SLIDE 13

Construct a 2-coloured bipartite double cover Each original node simulates two nodes of the cover

13 / 29

Finding an edge packing

slide-14
SLIDE 14

Find a maximal matching in the 2-coloured graph Easy in O(∆) rounds

14 / 29

Finding an edge packing

slide-15
SLIDE 15

1 2 1 2 1 2

Give 1

2 units of weight to each edge in matching 15 / 29

Finding an edge packing

slide-16
SLIDE 16

1

Many possibilities. . .

16 / 29

Finding an edge packing

slide-17
SLIDE 17

1 2 1 2 1 2

Many possibilities. . .

17 / 29

Finding an edge packing

slide-18
SLIDE 18

1

1 2 1 2

Many possibilities. . .

18 / 29

Finding an edge packing

slide-19
SLIDE 19

1 1

1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2

Always: weight 1

2 paths and cycles and weight 1 edges

Valid edge packing

19 / 29

Finding an edge packing

slide-20
SLIDE 20

1 2 1 2 1 2 1 2

Not necessarily maximal – but all unsaturated edges adjacent to two weight 1

2 edges 20 / 29

Finding a maximal edge packing

slide-21
SLIDE 21

∆ = 3

In any graph: Unsaturated edges adjacent to two weight 1

2 edges 21 / 29

Finding a maximal edge packing

slide-22
SLIDE 22

∆ = 3 → ∆ = 2

In any graph: Unsaturated edges adjacent to two weight 1

2 edges

Delete saturated edges

22 / 29

Finding a maximal edge packing

slide-23
SLIDE 23

∆ = 3 → ∆ = 2

Each node has lost at least one neighbour Remaining capacity

  • f each node is

exactly 1

2 23 / 29

Finding a maximal edge packing

slide-24
SLIDE 24

∆ = 2

Repeat

24 / 29

Finding a maximal edge packing

slide-25
SLIDE 25

∆ = 2 → ∆ = 1

Delete saturated edges

25 / 29

Finding a maximal edge packing

slide-26
SLIDE 26

∆ = 2 → ∆ = 1

Each node has lost at least one neighbour Remaining capacity

  • f each node is

exactly 1

4 26 / 29

Finding a maximal edge packing

slide-27
SLIDE 27

∆ = 1

  • Repeat. . .

27 / 29

Finding a maximal edge packing

slide-28
SLIDE 28
  • Repeat. . .

Maximum degree decreases

  • n each iteration

Everything saturated in

∆ iterations

28 / 29

Finding a maximal edge packing

slide-29
SLIDE 29

∆ = 3

+ 1

2 ·

∆ = 2

+ 1

4 ·

∆ = 1

Maximal edge packing in (∆ + 1)2 rounds

= ⇒ 2-approximation of vertex cover

29 / 29

Summary