18
Experimental analysis of simple, distributed vertex coloring algorithms Irene Finocchi Alessandro Panconesi Riccardo Silvestri DSI, University of Rome “La Sapienza”

Experimental analysis of simple, distributed vertex coloring algorithms Irene Finocchi Alessandro Panconesi Riccardo Silvestri DSI, University of Rome

Embed Size (px)

Citation preview

Experimental analysis of simple, distributed vertex coloring algorithms

Irene FinocchiAlessandro Panconesi Riccardo Silvestri

DSI, University of Rome “La Sapienza”

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

The vertex coloring problem

(u,v) E c(u) c(v)

Given G = (V,E) find c :VN such that

• Goal: finding “good” colorings, i.e., using few

colors

• Finding or even approximating the minimum

number of colors is hard

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Distributed vertex coloring

• Each graph is +1-colorable

– Sequential algorithm: trivial

– Deterministic distributed algorithm working in O(polylog n) time: open problem!

• Brooks-Vizing colorings = colorings using “many fewer” than colors

G square or triangle free (log)-colorable

• “Good” colorings in a distributed setting: O()-colorings, where = maximum degree to be computed in O(polylog n) time

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Distributed coloring algorithms

• Characteristics of the algorithms

– Each vertex manages a list of colors (palette)

– The computation proceeds in rounds

• Model of computation: synchronous, message-passing

– Vertices = processors operate in parallel

– Routing messages costs order of magnitude more than performing local computations

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

The basic round r for vertex u1. Wake up! Wake up with probability wr

2. Try! Pick a tentative color c from palette Lu

(uniformly at random)

c-color iff no awaken neighbor has selected c astentative color

3. Conflict resolution

4. Deliverance? If 3 succeded exit, otherwise remove from Lu the final colors of the neighbors

If Lu= introduce fresh new colors(up to the greatest color of a neighbor +1)

5. Feed the hungry!

Go back to sleep6. Back to square one

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Important parameters

Palette size: can it be << ?

Wake up probability: how do we choose it? Can it be

constant?

Conflict resolution: the give up rule is not very smart...

can we improve it?

Algorithms with very different characteristics can be obtained changing these parameters

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

+1 colorings: theory

Key lemma: At any round an uncolored vertex colors with

probability ≥1/4 [Johansson’99,Luby’93]

wr=1

Palette = [1, +1]Trivial algorithm

wr=1/2

Palette = [1, +1]Luby’s algorithm

A +1-coloring is computed in O(log n) rounds with high probability

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

+1 colorings: Luby vs. Trivial

How fast are the +1-coloring algorithms

for different wake up probabilities?

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

+1 colorings: Luby vs. Trivial

0

10

20

30

40

50

60

70

80

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 1,1

WakeUp Probability

Rounds

D+1-coloring

Instance: G(1000,0.1)

Luby

Trivial

+1-coloring

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Brooks-Vizing colorings: theory

Grable & Panconesi 2000 (GP)

Reduced palette: /s(s = shrinking factor)

palette sizewr = uncolored neighbors

G triangle-free

-regular

>> log n

With high probability GP

colors G with O(/log )

colors within O(log n) rounds

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

A new conflict resolution rule

For each color c:

Gc (conflict graph) = graph induced

by vertices with tentative color c

Hungarian step (HS)

conflict resolution by computing an independent set on Gc

The hungarian approach for independent set computation:

given a random permutation of the vertices of Gc, a vertex

enters the independent set iff it comes before its neighbors in

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Expected number of colored vertices

n = number of vertices of Gc

= average degree of Gc

E[|colored vertices|] = n/(s+1)

E[|independent set|]=n/(+1)1.[Hungarian

folklore]

s = palette shrinking factor

] = s (if all vertices wake up)2. [Easy to prove]

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Parameter settings

GPGrable

PanconesiGive up!

palette size

uncolored neighborsReduced:

/s

HGPHungarian GP

Hungarianpalette size

uncolored neighborsReduced:

/s

HungarianConstantReduced:

/sCH

Constantlyhungarian

Hungarian1Reduced:

/sTH

Triviallyhungarian

Palette Wake up prob. Conflict res.Algorithms

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Wake up probability & rounds

0

20

40

60

80

100

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Wake up probability

Rounds

GP

HGP

CH

Instance: G(500,0.25) s=3

TH

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Shrinking factor & colors

How good are colorings? (As a function of the initial palette size)

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Shrinking factor & colors

30

50

70

90

110

130

150

170

0 2 4 6 8 10 12 14 16

Shrinking Factor

Colors

GP

HGP

TH

+1

: (500,0.25)Instance G

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Shrinking factor & rounds

0

20

40

60

80

100

120

140

0 2 4 6 8 10 12 14 16

Shrinking Factor

Rounds

GP

HGP

TH

+1

: (500,0.25)Instance G

TH saves approx. 70-80%rounds over GP and HGP

13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002

Conclusions & open problems

+1-coloringsTrivial is the algorithm of choice

Tight analysis?

Brooks-Vizing colorings

TH is the algorithm of choice

Rigorous theoretical analysis?

Deterministic algorithms?