Title: Distributed Vertex Coloring
1Distributed Vertex Coloring
2Vertex Coloring each vertex is assigned
a color
3Vertex Coloring each vertex is assigned
a color
4Valid Vertex Coloring each vertex is assigned a
color so that any two adjacent nodes have
different color
Valid vertex coloring
5Invalid vertex coloring
6In algorithms, each color can be represented by
an integer
7a valid coloring with colors
Example
8Chromatic number
The smallest number of colors that can be used
to give a valid coloring in graph
This number cannot be approximated (within a
reasonable factor) unless
9Sequential -coloring
For any graph there is a
-coloring
Therefore,
10Basic idea for
Each node keeps a color Palette of size
Color
degree of node
11Color Palette of node
Color
Suppose that neighbors of have picked
colors
12Color Palette of node
Color
unavailable color
available color
Number of available colors
At least one available color
(uncolored neighbors)
13Color Palette of node
Color
Still, a color is available
Worst case scenario every neighbor has a
different color
14Color Palette of node
Color
Node can pick color for itself
15Sequential Coloring Algorithm
Mark all entries in the palettes of all the nodes
as available
Repeat
1. Pick an uncolored node 2. Let be an
available color (from s palette) (such a
color always exists) 3. Color node with
color 4. Mark as unavailable in the
color palette of every neighbor of
Until all nodes are colored
16Example execution
Palette of
All are available colors
17Palette of
Picks first available color
18Palette of
19Palette of
Picks first available color
20Palette of
Picks first available color
21Palette of
Picks first available color
22Termination
23Coloring and MIS
In a valid coloring, the nodes of same color form
an independent set
Independent Set
24However, the independent set may not be maximal
New Independent set (Maximal)
25Vertex Coloring is reduced to MIS
Consider an uncolored graph
Coloring algorithm for using MIS
Repeat
Find a MIS in the uncolored nodes
Assign color to each node in MIS
Until every node is colored
26Example
initially, all nodes are uncolored
27Iteration 1 Find an MIS of the uncolored nodes
and give to the nodes color
28Iteration 2 Find an MIS of the uncolored nodes
and give to the nodes color
29Iteration 3 Find an MIS of the uncolored nodes
and give to the nodes color
30Lemma
The algorithm terminates in
iterations
Proof
At end of an iteration, each uncolored node is
adjacent to a node in the MIS
31The degree in the uncolored graph
Thus, the effective degree of each uncolored
node is reduced by at least one at each iteration
32After at most iterations, the degree of
each uncolored node becomes 0
At iteration each uncolored node
has to enter MIS
END OF PROOF
33Since the number of iteration is
, we obtain a coloring
(at each iteration we use a different color)
34Using Lubys distributed and randomized MIS
algorithm, we obtain a coloring algorithmwhich
gives
-coloring
in time steps
time to compute MIS with high probability
iterations
35A Simple Randomized -Coloring Algorithm
Running time
with high probability
( is the number of nodes)
36Each node has a palette with colors
Palette of node
Initially all colors in palette are available
(Recall is the nodes degree)
37The algorithm works in phases
At the beginning of a phase, there are two kinds
of nodes
uncolored
colored
38Palette of node
available color
unavailable color
39Palette of node
Node chooses randomly and uniformly an
available color
40Palette of node
At the same time, uncolored neighbors pick
randomly a color too (from their palettes)
41Palette of node
If then node accepts color
for all
and exits the algorithm
42Palette of node
If then node rejects color
for some
Conflict
43Palette of node
All the nodes that conflict reject their colors
and try again in the next phase
44Algorithm for node
Repeat (iteration phase)
Pick a color uniformly at random from
available palette colors
Send color to neighbors
If (some neighbor chose same color )
Then Reject color
Else Accept color
Inform neighbors about color
(so that they mark color as unavailable)
Until color is accepted
45Example execution
46Phase 1 (iteration 1 of synchronous exectution)
Nodes pick random colors
47Successful Colors
48Phase 2
(iteration 2)
Nodes pick random colors
49Successful Colors
50Phase 3
(iteration 3)
Nodes pick random colors
51End of execution
52(iteration )
Analysis
Consider phase
Palette of node
available color
unavailable color
Set of available colors
Example
53 set of neighbors of which are
uncolored at the beginning of the phase
Example
54At the beginning of phase
Palette of node
55 available colors after every node in
chooses a random color
Palette of node
Color in
Color used by
56Palette of node
Since at most colors in are
used by neighbors
57A successful color choice for node
node has picked a color in
(this color is not picked by any neighbor)
Probability of success
space of successful random choices
space of all random choices
58Probability that node succeeds in a phase
at least
is the number of nodes
Probability that node fails for
phases
at most
59Probability that node fails for
phases
at most
Probability that some node fails for
phases
at most
Probability that every node succeeds in the first
phases
at least
60Duration of each phase
time steps
The algorithm terminates in phases
with probability at least
Total time steps
(with high probability)