Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Experimental analysis of simple, distributed vertex coloring algorithms Irene Finocchi Alessandro Panconesi Riccardo Silvestri DSI, University of Rome."— Presentation transcript:

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

2 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 The vertex coloring problem  (u,v)  E c(u)  c(v) Given G = (V,E) find c :V  N such that Goal: finding “good” colorings, i.e., using few colors Finding or even approximating the minimum number of colors is hard

3 13th ACM-SIAM Symposium on Discrete AlgorithmsSan 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

4 13th ACM-SIAM Symposium on Discrete AlgorithmsSan 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

5 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 The basic round r for vertex u 1. Wake up!Wake up with probability w r 2. Try!Pick a tentative color c from palette L u (uniformly at random) c-color iff no awaken neighbor has selected c as tentative color 3. Conflict resolution 4. Deliverance?If 3 succeded exit, otherwise remove from L u the final colors of the neighbors If L u =  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

6 13th ACM-SIAM Symposium on Discrete AlgorithmsSan 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

7 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002  +1 colorings: theory Key lemma: At any round an uncolored vertex colors with probability ≥1/4 [Johansson’99,Luby’93] w r =1 Palette = [1,  +1] Trivial algorithm w r =1/2 Palette = [1,  +1] Luby’s algorithm A  +1-coloring is computed in O(log n) rounds with high probability

8 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002  +1 colorings: Luby vs. Trivial How fast are the  +1-coloring algorithms for different wake up probabilities?

9 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002  +1 colorings: Luby vs. Trivial  +1-coloring

10 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Brooks-Vizing colorings: theory Grable & Panconesi 2000 (GP) Reduced palette:  /s (s = shrinking factor) palette size w r = uncolored neighbors G triangle-free  -regular  >> log n With high probability GP colors G with O(  /log  ) colors within O(log n) rounds

11 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 A new conflict resolution rule For each color c: G c (conflict graph) = graph induced by vertices with tentative color c Hungarian step (HS) conflict resolution by computing an independent set on G c The hungarian approach for independent set computation: given a random permutation  of the vertices of G c, a vertex enters the independent set iff it comes before its neighbors in 

12 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Expected number of colored vertices n = number of vertices of G c  = average degree of G c 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]

13 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Parameter settings GP Grable Panconesi Give up! palette size uncolored neighbors Reduced:  /s HGP Hungarian GP Hungarian palette size uncolored neighbors Reduced:  /s HungarianConstant Reduced:  /s CH Constantly hungarian Hungarian1 Reduced:  /s TH Trivially hungarian PaletteWake up prob.Conflict res. Algorithms

14 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Wake up probability & rounds

15 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Shrinking factor & colors How good are colorings? (As a function of the initial palette size)

16 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Shrinking factor & colors

17 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Shrinking factor & rounds TH saves approx. 70-80% rounds over GP and HGP

18 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Conclusions & open problems  +1-colorings Trivial is the algorithm of choice Tight analysis? Brooks-Vizing colorings TH is the algorithm of choice Rigorous theoretical analysis? Deterministic algorithms?

19 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 The vertex coloring problem  (u,v)  E c(u)  c(v) Given G = (V,E) find c :V  N such that Each graph is  +1-colorable (greedy approach)  [  = maximum degree] Brooks-Vizing colorings = colorings using “many fewer” than  colors G square or triangle free   (  log  )-colorable Minimize the number of colors

20 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Luby vs. Trivial: intuitive explanation w = wake up probability l = palette size d = # of uncolored neighbors Pr[v colors] ~ w e -d w/l Trivial: w=1, l~dPr[u colors] ~ 1/e Luby: w=1/2, l~dPr[u colors] ~ 1/(2√e) Pr[v c-colors] ~ w/l (1-w/l) d (1-  )  = (1+o(1)) e -  ~ w/l e -d w/l Only for the very first rounds...

21 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Luby vs. Trivial: intuitive explanation w = wake up probability p = palette size d = # of uncolored neighbors ~ w e -d w/p Trivial: w=1, p~dPr[v colors] ~ 1/e Luby: w=1/2, p~dPr[v colors] ~ 1/(2√e) Pr[v colors] = Only for the very first rounds... cLvcLv ∑ Pr[v c-colors] cLvcLv ~ ∑ w/p (1-w/p) d cLvcLv ~ ∑ w/p e -d w/p

22 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002  +1 colorings: Luby vs. Trivial

23 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Distributed coloring algorithms Characteristics of the algorithms –Randomized –Each vertex manages a list of colors (palette) –The computation proceeds in rounds –All the algorithms can be cast into a general framework Model of computation: synchronous, message-passing –Vertices = processors operate in parallel –Routing messages costs order of magnitude more than performing local computations

24 13th ACM-SIAM Symposium on Discrete AlgorithmsSan Francisco, January 2002 Our questions: Wake up probability & rounds How does the wake up probability affect the running time? Can it be constant? Which is the best choice?


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

Similar presentations


Ads by Google