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 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 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 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 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 Deterministic 2-approximation algorithm for vertex cover
- Running time (∆ + 1)2 synchronous rounds
No O-notation needed here. . .
6 / 29
Contribution
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 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
8 / 29
Background: maximal matching
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
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
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
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
Construct a 2-coloured bipartite double cover Each original node simulates two nodes of the cover
13 / 29
Finding an edge packing
SLIDE 14
Find a maximal matching in the 2-coloured graph Easy in O(∆) rounds
14 / 29
Finding an edge packing
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
1
Many possibilities. . .
16 / 29
Finding an edge packing
SLIDE 17 1 2 1 2 1 2
Many possibilities. . .
17 / 29
Finding an edge packing
SLIDE 18 1
1 2 1 2
Many possibilities. . .
18 / 29
Finding an edge packing
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 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
∆ = 3
In any graph: Unsaturated edges adjacent to two weight 1
2 edges 21 / 29
Finding a maximal edge packing
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 ∆ = 3 → ∆ = 2
Each node has lost at least one neighbour Remaining capacity
exactly 1
2 23 / 29
Finding a maximal edge packing
SLIDE 24
∆ = 2
Repeat
24 / 29
Finding a maximal edge packing
SLIDE 25
∆ = 2 → ∆ = 1
Delete saturated edges
25 / 29
Finding a maximal edge packing
SLIDE 26 ∆ = 2 → ∆ = 1
Each node has lost at least one neighbour Remaining capacity
exactly 1
4 26 / 29
Finding a maximal edge packing
SLIDE 27 ∆ = 1
27 / 29
Finding a maximal edge packing
SLIDE 28
Maximum degree decreases
Everything saturated in
∆ iterations
28 / 29
Finding a maximal edge packing
SLIDE 29
∆ = 3
+ 1
2 ·
∆ = 2
+ 1
4 ·
∆ = 1
Maximal edge packing in (∆ + 1)2 rounds
= ⇒ 2-approximation of vertex cover
29 / 29
Summary