1 / 18

Experimental analysis of simple, distributed vertex coloring algorithms

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.

barbra
Download Presentation

Experimental analysis of simple, distributed vertex coloring algorithms

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Given G = (V,E) findc :VN 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. D+1-coloring D+1 colorings: Luby vs. Trivial 13th ACM-SIAM Symposium on Discrete Algorithms

  10. 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

  11. 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

  12. 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

  13. 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

  14. Wake up probability & rounds 13th ACM-SIAM Symposium on Discrete Algorithms

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

  16. Shrinking factor & colors 13th ACM-SIAM Symposium on Discrete Algorithms

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

  18. 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

More Related