990 likes | 1.01k Views
This article presents a distributed algorithm for vertex coloring in a graph using a randomized approach. The running time of the algorithm is analyzed with high probability.
E N D
Distributed Vertex Coloring Part II
A Randomized -Coloring Algorithm • Distributed Algorithm • Randomized Algorithm Running time: with high probability (similar with the -coloring algorithm, but now the color palette size is )
Each node has a palette with colors Palette of node Initially all colors in palette are available (Recall: is the node’s degree)
At the beginning of a phase: : uncolored neighbors of : uncolored degree of Example:
In conflicts, the node with the highest uncolored degree wins Example 1 Beginning of phase
In conflicts, the node with the highest uncolored degree wins Random color choices
In conflicts, the node with the highest uncolored degree wins End of phase
In conflicts, the node with the highest uncolored degree wins Example 2 Beginning of phase
In conflicts, the node with the highest uncolored degree wins Random color choices
In conflicts, the node with the highest uncolored degree wins End of phase
If both nodes have same degree, both reject their color Example 3 Beginning of phase
If both nodes have same degree, both reject their color Random color choices
If both nodes have same degree, both reject their color End of phase
Algorithm for node Repeat (iteration = phase) Pick a color uniformly at random from available palette colors; Send color to neighbors; If (some neighbor with chose same color ) Then Reject color ; Else Accept color ; Inform neighbors about color ; (so that they mark color as unavailable) Until color is accepted;
Phase 1: (iteration 1) Nodes pick random colors
Conflicts For this phase, uncolored degree = degree The nodes of higher uncolored degree win
Phase 2: (iteration 2) Nodes pick random colors
Conflicts The nodes of higher uncolored degree win
Phase 3: (iteration 3) Nodes pick random colors
Successful colors End of execution
Consider phase (iteration ) Analysis Palette of uncolored node available color unavailable color Set of available colors: Example:
Number of available colors: Palette size Maximum unavailable colors
If then every color choice is a success So suppose that
We want to compute the probability of: Event : node successfully accepts a color in current phase We will prove that is at least constant
Event : node successfully picks and then accepts color (available color)
Note that the events and are mutually exclusive for any pair of colors Any two such events cannot occur simultaneously
since, success for node in current phase is to successfully accept some color in
since are mutually exclusive
:nodes in with same or higher uncolored degree than Example:
Event that node picks randomly color Event that no node in picks randomly color
Probability that node picks color Since node picks randomly and uniformly a color from the available colors
Event that no uncolored neighbor of picks randomly color Event that uncolored neighbor does not pick color
This holds because the events are independent
This holds since and are independent events (the nodes pick randomly their colors independent from one another)
Probability that node succeeds in a phase: at least Probability that node fails in a phase: at most Note that is a constant
is the number of nodes Probability that node fails for phases: at most
Probability 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
Duration of each phase: time steps The algorithm terminates in phases with probability at least Total time steps: (with high probability) END OF ANALYSIS
Alternative Randomized -Coloring Algorithm • Distributed Algorithm • Randomized Algorithm Running time: with high probability