Title: Distributed Coloring
1Distributed Coloring
- Discrete Mathematics and Algorithms Seminar
- Melih Onus
- November 10 2005
2Outline
- Vertex Coloring
- Model
- Lubys Algorithm
- Coloring Constant Degree Oriented Graphs
- Coloring Oriented Graphs
- Conclusion Open Problems
3Vertex Coloring
- Given a graph G, find a coloring of the vertices
so that no two neighbors in G have the same color
Proper Coloring
Improper Coloring
4Model
- G(V, E), V represents the set of processors and E
represents communication links - Communication links are bidirectional
- Processors are synchronized
- Each node knows n, ? and its neighbors
- The edges in E have an orientation (edge u, v
is oriented either as u ? v or v ? u)
5How can we use orientation?
- If nodes u and v choose the same color during any
round of algorithm, in the existing algorithms
both nodes remain uncolored - With orientation, u can be colored provided that
there is no edge w ? v and node w also chooses
the same color
u
v
u
v
With existing algorithms both remain uncolored
Using orientation, u gets colored red
6Lubys algorithm
- In each round
- Each uncolored node chooses a color uniformly
random - If there is no conflict, node is colored with
that color - Distributed ?1-coloring algorithm
- Works in O(log n) rounds w.h.p.
7Lubys algorithm (Example)
u
v
u
v
a
a
b
c
b
c
Round 1
Round 2
v
u
v
u
a
a
b
c
b
c
Round 3
Round 4
8Coloring Constant Degree Oriented Graphs
- Special case Constant degree graphs
- Algorithm Color-RandomIn each round
- Each uncolored node v chooses an available color
cv uniformly at random - If no neighbor node u with higher priority ( u ?
v) chooses the same color cv, node v is colored
with cv
u ? v u has higher priority
9Algorithm Color-Random (Example)
u
v
u
v
a
a
b
c
b
c
Round 1
Round 2
u
v
a
b
c
Round 3
10Algorithm Color-Random
- For constant degree graph with n nodes provided
with -acyclic orientation, our algorithm
obtains a ?1 coloring in O( ) rounds,
w.h.p..
An orientation of the edges of a graph is said to
be m-acyclic if and only if the orientation does
not have cycles of length at most m.
11Analysis(Part I)
- Lemma After O((logn)1/2) rounds, every path of
length (logn)1/2 has at least one colored node,
w.h.p.. - Proof
p p p p p p p
p p p p p
p
p(logn)1/2
(logn)1/2
Each node has constant number of neighbors, so
the probability that a node is not colored at a
round is at most p (constant).
The probability that none of the nodes at the
path is colored at a round is at most p(logn)1/2.
12Analysis(Part I)
p p p p p p p
p p p p p
p(logn)1/2
(logn)1/2 nodes
p(logn)1/2
c(logn)1/2 rounds
p(logn)1/2
p(logn)1/2
pclogn 1/n-clogp
13Analysis(Part II)
- After O((logn)1/2) rounds, every connected
component of uncolored nodes have diameter at
most (logn)1/2, w.h.p.. - Orientation is (logn)1/2-acyclic, so there can be
no cycles on connected component of uncolored
nodes. - This provides a topological ordering.
14Analysis(Part II)
1
0
0
1
2
2
Maximum label is (logn)1/2.
3
4
All nodes will be colored after (logn)1/2 rounds.
0 if no entering
edge v?u 1maxvv?u label v otherwise
label(u)
15Lowerbound
- For every Las Vegas algorithm A, there is
infinite family of oriented graphs G such that A
has complexity of at least ?((logn)1/2), on
expectation, to compute a proper vertex coloring.
A Las Vegas algorithm is a randomized algorithm
that always produces a correct result, with the
only variation being its runtime.
16Coloring Oriented Graphs
- General Case Arbitrary degree graphs
- Algorithm Color-Wait
- For each round
- If u is uncolored and does not have any uncolored
neighbor w such that w ? u then node u is colored
with the lowest available color
17Algorithm Color-Wait (Example)
no node with entering edge for node u
no uncolored node with entering edge for node v
u
u
v
v
a
a
c
b
c
b
no node with entering edge for node b
Round 1
Round 2
no uncolored node with entering edge for node c
v
u
a
c
b
Round 3
18Coloring Oriented Graphs
- While there are uncolored nodes
- Use Algorithm Color-Random for loglog n rounds
- If ? ?((logn)1/2loglogn)
- Use Algorithm Color-Random for (8/?4)
(logn)1/2/loglogn rounds - Else
- Use Algorithm Color-Random for 4(logn)1/2 rounds
- Use Algorithm Color-Wait (logn)1/2 rounds
Phase I
Phase II
Phase III
? constant, ?gt0, ? gt log?1/2n loglog n
19Phase I
Use Algorithm Color-Random for loglog n rounds
- Lemma After phase I, the number of uncolored
neighbors of any node reduces to log n w.h.p..
20Phase II
If ? ?((logn)1/2loglogn) Use Algorithm
Color-Random for (8/?4) (logn)1/2/loglogn
rounds Else Use Algorithm Color-Random for
4(logn)1/2 rounds
- Lemma After phase II, every path of length
(logn)1/2 has at least one colored node, w.h.p..
21Phase III
Use Algorithm Color-Wait (logn)1/2 rounds
- After phase III, all nodes will be colored.
22Coloring Oriented Graphs
- Given an -acyclic oriented graph G(V,E)
of maximum degree ?, for any constant ?gt0 a
(1?)?-vertex coloring of G can be obtained in
O(log ?) O( log log n) rounds, with high
probability.
23Results
for any constant ?gt0
24Conclusion Open Problems
- Distributed coloring algorithm
- Acyclic orientations, better bounds
- Deterministic distributed algorithms for
?1-coloring that run in polylogarithmic number
of rounds
25References
- K. Kothapalli, C. Scheideler, M. Onus, C.
Schindelhauer. Distributed coloring with O(logn)
bits. submitted to IPDPS 06. - M. Luby. A simple parallel algorithm for the
maximal independent set problem. STOC 1985.