180 likes | 304 Views
Experimental analysis of simple, distributed vertex coloring algorithms. Irene Finocchi Alessandro Panconesi Riccardo Silvestri DSI, University of Rome “La Sapienza”. Given G = (V,E) find c :V N such that. (u,v) E c(u) c(v). The vertex coloring problem.
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