Fast distributed approximation algorithms for vertex cover and set - - PowerPoint PPT Presentation

fast distributed approximation algorithms for vertex
SMART_READER_LITE
LIVE PREVIEW

Fast distributed approximation algorithms for vertex cover and set - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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 Joint work with Matti Åstrand

2789 1378 3 2

slide-2
SLIDE 2

Vertex cover problem

2

  • Vertex cover C

for a graph G:

  • Subset C of nodes

that “covers” all edges of the graph

  • Each edge has at least
  • ne endpoint in C
  • Can we find a small

vertex cover?

slide-3
SLIDE 3

Vertex cover problem

3

  • Classical NP-hard
  • ptimisation problem
  • Simple 2-approximation

algorithm: endpoints

  • f a maximal matching
  • No polynomial-time

algorithm with approximation factor 1.999 known

slide-4
SLIDE 4

Research question

4

  • 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...
slide-5
SLIDE 5

Distributed algorithms

5

  • Communication graph 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

G

slide-6
SLIDE 6

Distributed algorithms

6

  • All nodes are identical,

run the same algorithm

  • We can choose

the algorithm

  • An adversary chooses

the structure of G

  • Our algorithm must

produce a valid vertex cover in any graph G G

slide-7
SLIDE 7

Model 1: Unique identifiers

7

  • The “standard model”
  • Node identifiers

are a subset of 1, 2, ..., poly(n)

  • Subset chosen

by adversary 6 1 3 2

slide-8
SLIDE 8

Model 2: Port-numbering model

8

  • No unique identifiers
  • A node of degree d can

refer to its neighbours by integers 1, 2, ..., d

  • Port-numbering chosen

by adversary

1 1 1 1 2 2 2 3 1 1 2 2 2 3 1 1

slide-9
SLIDE 9

Model 3: Broadcast model

9

  • No identifiers,

no port numbers

  • A node has to send

the same message to each neighbour

  • A node does not know

which message was received from which neighbour (multiset)

Send “A” Send “B” Receives: 2 × “A” 1 × “B” Send “A”

slide-10
SLIDE 10

Deterministic distributed algorithms for vertex cover

10

  • 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?
slide-11
SLIDE 11

Deterministic distributed algorithms for vertex cover: approximation ratios

11

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 1 Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

Trivial algorithm

slide-12
SLIDE 12

Deterministic distributed algorithms for vertex cover: approximation ratios

12

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 1 2 2 Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

Maximal matching

(Panconesi & Rizzi 2001)

slide-13
SLIDE 13

Deterministic distributed algorithms for vertex cover: approximation ratios

13

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 1 2 2 2 Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

Near-maximal edge packing

(Khuller et al. 1994)

slide-14
SLIDE 14

Deterministic distributed algorithms for vertex cover: approximation ratios

14

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 1 2 2 2 + ε 2 2 + ε 2 + ε Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

Deterministic LP rounding

(Kuhn et al. 2006)

slide-15
SLIDE 15

Deterministic distributed algorithms for vertex cover: approximation ratios

15

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 1 2 2 2 + ε 2 2 2 2 + ε 2 2 + ε Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

Czygrinow et al. 2008 Lenzen & Wattenhofer 2008

slide-16
SLIDE 16

Deterministic distributed algorithms for vertex cover: approximation ratios

16

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 2 2 1 2 2 2 2 2 2 2 + ε 2 2 2 2 + ε 2 2 + ε Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

Trivial (cycles)

slide-17
SLIDE 17

Deterministic distributed algorithms for vertex cover: approximation ratios

17

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 2 2 1 2 2 2 2 2 2 2 + ε 2 2 2 2 + ε 2 2 + ε Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

slide-18
SLIDE 18

Deterministic distributed algorithms for vertex cover: approximation ratios

18

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 ? 2 2 1 2 ? 2 2 2 2 ? 2 2 + ε 2 2 ? 2 2 + ε 2 2 + ε Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

Could we have 2? Anything here?

slide-19
SLIDE 19

Deterministic distributed algorithms for vertex cover: approximation ratios

19

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 ? 2 2 1 2 ? 2 2 2 2 ? 2 2 2 2 ? 2 2 2 2 Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers

DISC 2009

slide-20
SLIDE 20

Deterministic distributed algorithms for vertex cover: approximation ratios

20

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers + faster and more general solution here

Latest results

slide-21
SLIDE 21

Deterministic distributed algorithms for vertex cover: approximation ratios

21

Time lower upper lower upper lower upper O(n) f(Δ) + polylog(n) f(Δ) + O(log* n) f(Δ) 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Broadca model Broadcast model Po number Port numbering Unique identif Unique identifiers Let’s study this case first...

slide-22
SLIDE 22

Vertex cover in the port-numbering model

  • Convenient to study a more general problem:

minimum-weight vertex cover

  • More general problems

are sometimes easier to solve?

22

Notation: w(v) = weight of v 5 1 3 9 6 6 9 6

slide-23
SLIDE 23

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

23

5 1 3 9 6 6 9 6 2 3 4 6 edge packing ≈ fractional matching (LP relaxation)

slide-24
SLIDE 24

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

24

5 1 3 9 6 6 9 6 2 3 4 6 y[v] = w(v) y[v] < w(v)

slide-25
SLIDE 25

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

25

5 1 3 9 6 6 9 6 2 3 4 6 2 + ε would violate a packing constraint

slide-26
SLIDE 26

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

26

5 1 3 9 6 6 9 6 2 3 4 6

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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:

r(v) = 0

28

5 1 3 9 6 6 9 6 2 3 4 6 1 6 4 3 1 w(v): r(v):

slide-29
SLIDE 29

Finding a maximal edge packing: phase I

Start with a trivial edge packing y(e) = 0

29

5 1 3 9 6 6 6 1 6 3 6 6 5 9 9 9 w(v): r(v):

slide-30
SLIDE 30

Finding a maximal edge packing: phase I

Each node v offers r(v)/deg(v) units to each incident edge

30

5 1 3 9 6 6 6 1 6 3 6 6 5 9 9 9 w(v): r(v): 9

  • ffer:

1 5/2 3/2 6 3/2 3/2 6

slide-31
SLIDE 31

Finding a maximal edge packing: phase I

Each edge accepts the smallest of the 2 offers it received Increase y(e) by this amount

  • Safe, can’t violate

packing constraints

31

5 1 3 9 6 6 6 1 3/2 3/2 3/2 3/2 3/2 3/2 3/2 3/2 1 6 3 6 6 5 9 9 9 9 1 5/2 3/2 6 3/2 3/2 6

slide-32
SLIDE 32

Finding a maximal edge packing: phase I

Update residuals...

32

5 1 3 9 6 6 6 1 3/2 3/2 3/2 3/2 3/2 3/2 3/2 3/2 9/2 3/2 2 1/2 9 15/2

slide-33
SLIDE 33

Finding a maximal edge packing: phase I

Update residuals, discard saturated nodes and edges...

33

5 1 3 9 6 6 6 1 3/2 3/2 3/2 3/2 3/2 3/2 3/2 3/2 9/2 3/2 2 1/2 9 15/2

slide-34
SLIDE 34

Finding a maximal edge packing: phase I

Update residuals, discard saturated nodes and edges, repeat... Offers...

34

5 1 3 9 6 6 6 1 3/2 3/2 3/2 3/2 3/2 3/2 3/2 3/2 9/2 3/2 2 1/2 9 15/2 15/2 2 1/6 9/2 –

slide-35
SLIDE 35

Finding a maximal edge packing: phase I

Update residuals, discard saturated nodes and edges, repeat... Offers... Increase weights...

35

5 1 3 9 6 6 6 1 5/3 5/3 3/2 3/2 3/2 3/2 3/2 9/2 3/2 2 1/2 9 15/2 15/2 2 1/6 9/2 – 5/3

slide-36
SLIDE 36

Finding a maximal edge packing: phase I

Update residuals, discard saturated nodes and edges, repeat... Offers... Increase weights... Update residuals...

36

5 1 3 9 6 6 6 1 3/2 3/2 3/2 3/2 3/2 13/3 3/2 10/3 9 22/3 5/3 5/3 5/3

slide-37
SLIDE 37

Finding a maximal edge packing: phase I

Update residuals, discard saturated nodes and edges, repeat... Offers... Increase weights... Update residuals and graph, etc.

37

5 1 3 9 6 6 6 1 3/2 3/2 3/2 3/2 3/2 13/3 3/2 10/3 9 22/3 5/3 5/3 5/3

slide-38
SLIDE 38

Finding a maximal edge packing: phase I

We are making some progress towards finding a maximal edge packing...

But this is too slow! How to make it faster?

38

1 2 4 8 16 32 64 128 1 2 4 8 16 32 64 128 1 1 2 4 8 16 32 64 1 1 2 4 8 16 32 64 1 2 4 8 16 32 1 1 2 4 8 16 1 1 2 4 8 16 1 2 4 8 1 1 2 4 1 1 2 4 1 2

slide-39
SLIDE 39

Finding a maximal edge packing: colouring trick

39

4 3 2 2 5

  • Offer is a local minimum:
  • Node will be saturated
  • And all edges incident to it

will be saturated as well 2 2 2 2 Residual capacity was 8, will be 0

slide-40
SLIDE 40

Finding a maximal edge packing: colouring trick

40

4 3 2 2 5

  • Offer is a local minimum:
  • Node will be saturated
  • Otherwise there is a neighbour

with a different offer:

  • Interpret the offer

sequences as colours

  • Nodes u and v have

different colours: {u, v} is multicoloured 1 2 2 2 2

slide-41
SLIDE 41

Finding a maximal edge packing: colouring trick

41

4 3 2 2 5

  • Progress guaranteed:
  • On each iteration, for each node,

at least one incident edge becomes saturated or multicoloured

  • Such edges are be discarded

in phase I; maximum degree ∆ decreases by at least one

  • Hence in ∆ rounds all edges

are saturated or multicoloured 1 2 2 2 2

slide-42
SLIDE 42

Finding a maximal edge packing: colouring trick

42

  • Colours are sequences of

∆ offers (rational numbers)

  • Assume that node weights

are integers 1, 2, ..., W

  • Then offers are rationals
  • f the form q/(∆!)∆ with

q ∈ {1, 2, ..., W(∆!)∆} (2, 2/3, 1/6, 1/24) (2, 2/3, 1/6, 1/12)

slide-43
SLIDE 43

Finding a maximal edge packing: colouring trick

43

  • Colours are sequences of

∆ offers (rational numbers)

  • Assume that node weights

are integers 1, 2, ..., W

  • Then offers are rationals
  • f the form q/(∆!)∆ with

q ∈ {1, 2, ..., W(∆!)∆}

  • k = (W(∆!)∆)∆ possible

colours, replace with integers 1, 2, ..., k 2789 1378

slide-44
SLIDE 44

Finding a maximal edge packing: phase II

44

  • Proper k-colouring of the unsaturated subgraph
  • Orient from lower to higher colour
  • Partition in ∆ forests
  • Use Cole–Vishkin (1986) style

colour reduction algorithm

  • Use colour classes

to saturate edges

  • O(∆ + log* W) rounds

2789 1378 3 2

slide-45
SLIDE 45

Finding a maximal edge packing: summary

45

  • Maximal edge packing and

2-approximation of vertex cover in time O(∆ + log* W)

  • W = maximum node weight
  • Unweighted graphs:

running time simply O(∆), independent of n

  • Everything can be implemented

in the port-numbering model

2789 1378 3 2

slide-46
SLIDE 46

Vertex cover and set cover in anonymous networks: summary

  • 2-approximation of vertex cover in time O(∆)

in the port-numbering model

  • Idea: consider a more general problem,

minimum-weight vertex cover

  • 2-approximation of vertex cover in time poly(∆)

in the broadcast model?

  • Idea: consider a more general problem,

minimum-weight set cover!

46

slide-47
SLIDE 47

Take-home messages

  • Algorithms that we saw today are strictly local
  • Running time independent of the number of nodes
  • Output of a node depends only on its local neighbourhood
  • Very efficient, can be used in arbitrarily large networks
  • Deterministic, highly fault-tolerant
  • There are non-trivial graph problems that

can be solved with strictly local algorithms!

  • More: www.cs.helsinki.fi/jukka.suomela/local-survey

47