- 50 Views
- Uploaded on
- Presentation posted in: General

Experimental analysis of simple, distributed vertex coloring algorithms

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Experimental analysis of simple, distributed vertex coloring algorithms

Irene Finocchi

Alessandro Panconesi

Riccardo Silvestri

DSI, University of Rome “La Sapienza”

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

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

The vertex coloring problem

- 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

Distributed vertex coloring

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

- Each graph is D+1-colorable
- Sequential algorithm: trivial
- Deterministic distributed algorithm working in O(polylog n) time: open problem!

- Brooks-Vizing colorings = colorings using “many fewer” than D colors
- G square or triangle free (D/log D)-colorable

13th ACM-SIAM Symposium on Discrete Algorithms

Distributed coloring algorithms

- Model of computation: synchronous, message-passing
- Vertices = processors operate in parallel
- Routing messages costs order of magnitude more than performing local computations

- Characteristics of the algorithms
- Each vertex manages a list of colors (palette)
- The computation proceeds in rounds

13th ACM-SIAM Symposium on Discrete Algorithms

1.Wake up!

Wake up with probability wr

2.Try!

Pick a tentative color c from palette Lu

(uniformly at random)

3.Conflict

resolution

c-color iff no awaken neighbor has selected c as

tentative color

4.Deliverance?

If 3 succeded exit, otherwise remove from Lu the final

colors of the neighbors

5.Feed the

hungry!

If Lu= introduce fresh new colors

(up to the greatest color of a neighbor +1)

6.Back to

square one

Go back to sleep

The basic round r for vertex u

13th ACM-SIAM Symposium on Discrete Algorithms

Palette size: can it be << D?

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?

Important parameters

Algorithms with very different characteristics can be obtained changing these parameters

13th ACM-SIAM Symposium on Discrete Algorithms

wr=1

Palette = [1, D+1]

wr=1/2

Palette = [1, D+1]

Trivial algorithm

Luby’s algorithm

A D+1-coloring is computed in O(log n) rounds

with high probability

D+1 colorings: theory

Key lemma: At any round an uncolored vertex colors with probability ≥1/4 [Johansson’99,Luby’93]

13th ACM-SIAM Symposium on Discrete Algorithms

How fast are the D+1-coloring algorithms

for different wake up probabilities?

D+1 colorings: Luby vs. Trivial

13th ACM-SIAM Symposium on Discrete Algorithms

D+1-coloring

D+1 colorings: Luby vs. Trivial

13th ACM-SIAM Symposium on Discrete Algorithms

Reduced palette: D/s

(s = shrinking factor)

palette size

wr =

uncolored neighbors

Grable & Panconesi 2000 (GP)

G triangle-free

D-regular

D >> log n

With high probability GP

colors G with O(D/log D)

colors within O(log n) rounds

Brooks-Vizing colorings: theory

13th ACM-SIAM Symposium on Discrete Algorithms

Hungarian step (HS)

conflict resolution by computing an independent set on Gc

A new conflict resolution rule

For each color c:

Gc(conflict graph) = graph induced by vertices with tentative color c

The hungarian approach for independent set computation:

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

enters the independent set iff it comes before its neighbors in p

13th ACM-SIAM Symposium on Discrete Algorithms

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

1.

E[d] = s (if all vertices wake up)

[Easy to prove]

2.

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

Expected number of colored vertices

n = number of vertices of Gc

d= average degree of Gc

[Hungarian folklore]

s = palette shrinking factor

13th ACM-SIAM Symposium on Discrete Algorithms

Palette

Wake up prob.

Conflict res.

Algorithms

GP

Grable

Panconesi

Reduced: D/s

palette size

Give up!

uncolored neighbors

Reduced: D/s

palette size

HGP

Hungarian GP

Hungarian

uncolored neighbors

CH

Constantly

hungarian

Reduced: D/s

Constant

Hungarian

TH

Trivially

hungarian

Reduced: D/s

1

Hungarian

Parameter settings

13th ACM-SIAM Symposium on Discrete Algorithms

Wake up probability & rounds

13th ACM-SIAM Symposium on Discrete Algorithms

How good are colorings?

(As a function of the initial palette size)

Shrinking factor & colors

13th ACM-SIAM Symposium on Discrete Algorithms

Shrinking factor & colors

13th ACM-SIAM Symposium on Discrete Algorithms

Shrinking factor & rounds

TH saves approx. 70-80%

rounds over GP and HGP

13th ACM-SIAM Symposium on Discrete Algorithms

Trivial is the algorithm of choice

D+1-colorings

Tight analysis?

TH is the algorithm of choice

Brooks-Vizing colorings

Rigorous theoretical analysis?

Conclusions & open problems

Deterministic algorithms?

13th ACM-SIAM Symposium on Discrete Algorithms