Download presentation
Presentation is loading. Please wait.
Published byPaul Harrell Modified over 9 years ago
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... cLvcLv ∑ Pr[v c-colors] cLvcLv ~ ∑ w/p (1-w/p) d cLvcLv ~ ∑ 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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.