Upload
paul-harrell
View
213
Download
0
Embed Size (px)
Citation preview
Experimental analysis of simple, distributed vertex coloring algorithms
Irene FinocchiAlessandro Panconesi Riccardo Silvestri
DSI, University of Rome “La Sapienza”
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
The vertex coloring problem
(u,v) E c(u) c(v)
Given G = (V,E) find c :VN such that
• 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 San 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
13th ACM-SIAM Symposium on Discrete Algorithms San 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
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
The basic round r for vertex u1. Wake up! Wake up with probability wr
2. Try! Pick a tentative color c from palette Lu
(uniformly at random)
c-color iff no awaken neighbor has selected c astentative color
3. Conflict resolution
4. Deliverance? If 3 succeded exit, otherwise remove from Lu the final colors of the neighbors
If Lu= 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
13th ACM-SIAM Symposium on Discrete Algorithms San 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
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
+1 colorings: theory
Key lemma: At any round an uncolored vertex colors with
probability ≥1/4 [Johansson’99,Luby’93]
wr=1
Palette = [1, +1]Trivial algorithm
wr=1/2
Palette = [1, +1]Luby’s algorithm
A +1-coloring is computed in O(log n) rounds with high probability
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
+1 colorings: Luby vs. Trivial
How fast are the +1-coloring algorithms
for different wake up probabilities?
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
+1 colorings: Luby vs. Trivial
0
10
20
30
40
50
60
70
80
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 1,1
WakeUp Probability
Rounds
D+1-coloring
Instance: G(1000,0.1)
Luby
Trivial
+1-coloring
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
Brooks-Vizing colorings: theory
Grable & Panconesi 2000 (GP)
Reduced palette: /s(s = shrinking factor)
palette sizewr = uncolored neighbors
G triangle-free
-regular
>> log n
With high probability GP
colors G with O(/log )
colors within O(log n) rounds
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
A new conflict resolution rule
For each color c:
Gc (conflict graph) = graph induced
by vertices with tentative color c
Hungarian step (HS)
conflict resolution by computing an independent set on Gc
The hungarian approach for independent set computation:
given a random permutation of the vertices of Gc, a vertex
enters the independent set iff it comes before its neighbors in
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
Expected number of colored vertices
n = number of vertices of Gc
= average degree of Gc
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]
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
Parameter settings
GPGrable
PanconesiGive up!
palette size
uncolored neighborsReduced:
/s
HGPHungarian GP
Hungarianpalette size
uncolored neighborsReduced:
/s
HungarianConstantReduced:
/sCH
Constantlyhungarian
Hungarian1Reduced:
/sTH
Triviallyhungarian
Palette Wake up prob. Conflict res.Algorithms
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
Wake up probability & rounds
0
20
40
60
80
100
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Wake up probability
Rounds
GP
HGP
CH
Instance: G(500,0.25) s=3
TH
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
Shrinking factor & colors
How good are colorings? (As a function of the initial palette size)
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
Shrinking factor & colors
30
50
70
90
110
130
150
170
0 2 4 6 8 10 12 14 16
Shrinking Factor
Colors
GP
HGP
TH
+1
: (500,0.25)Instance G
13th ACM-SIAM Symposium on Discrete Algorithms San Francisco, January 2002
Shrinking factor & rounds
0
20
40
60
80
100
120
140
0 2 4 6 8 10 12 14 16
Shrinking Factor
Rounds
GP
HGP
TH
+1
: (500,0.25)Instance G
TH saves approx. 70-80%rounds over GP and HGP