Download presentation
Presentation is loading. Please wait.
Published byCordelia Glenn Modified over 9 years ago
1
1 Distributed Vertex Coloring
2
2 Vertex Coloring: each vertex is assigned a color
3
3 Vertex Coloring: each vertex is assigned a color
4
4 Valid Vertex Coloring: each vertex is assigned a color so that any two adjacent nodes have different color Valid vertex coloring
5
5 Invalid vertex coloring
6
6 In algorithms, each color can be represented by an integer
7
7 a valid coloring with colors Example:
8
8 Chromatic 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
9
9 Sequential -coloring For any graph there is a -coloring Therefore,
10
10 Basic idea for: Each node keeps a color Palette of size : :degree of node Color:
11
11 Color Palette of node Suppose that neighbors of have picked colors Color:
12
12 Color Palette of node Color: unavailable color available color At least one available color Number of available colors (uncolored neighbors)
13
13 Color Palette of node Color: Worst case scenario: every neighbor has a different color Still, a color is available
14
14 Color Palette of node Color: Node can pick color for itself
15
15 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 Sequential Coloring Algorithm Repeat: Until all nodes are colored Mark all entries in the palettes of all the nodes as available
16
16 Palette of All are available colors Example execution
17
17 Palette of Picks first available color
18
18 Palette of
19
19 Palette of Picks first available color
20
20 Palette of Picks first available color
21
21 Palette of Picks first available color
22
22 Termination
23
23 Coloring and MIS Independent Set In a valid coloring, the nodes of same color form an independent set
24
24 However, the independent set may not be maximal: New Independent set (Maximal)
25
25 Vertex Coloring is reduced to MIS Consider an uncolored graph Repeat: Coloring algorithm for using MIS: Find a MIS in the uncolored nodes; Assign color to each node in MIS; Until every node is colored;
26
26 Example: initially, all nodes are uncolored
27
27 Iteration 1: Find an MIS of the uncolored nodes and give to the nodes color
28
28 Iteration 2: Find an MIS of the uncolored nodes and give to the nodes color
29
29 Iteration 3: Find an MIS of the uncolored nodes and give to the nodes color
30
30 The algorithm terminates in At end of an iteration, each uncolored node is adjacent to a node in the MIS Lemma: Proof: iterations
31
31 Thus, the effective degree of each uncolored node is reduced by at least one at each iteration The degree in the uncolored graph
32
32 After at most iterations, the degree of each uncolored node becomes 0 At iteration each uncolored node has to enter MIS END OF PROOF
33
33 Since the number of iteration is, we obtain a coloring (at each iteration we use a different color)
34
34 Using Luby’s distributed and randomized MIS algorithm, we obtain a coloring algorithm which gives: -coloring in time steps #iterations time to compute MIS with high probability
35
35 ( is the number of nodes) A Simple Randomized -Coloring Algorithm Randomized Algorithm Distributed Algorithm Running time: with high probability
36
36 Each node has a palette with colors Initially all colors in palette are available Palette of node (Recall: is the node’s degree)
37
37 The algorithm works in phases At the beginning of a phase, there are two kinds of nodes: colored uncolored
38
38 Palette of node unavailable color available color
39
39 Palette of node Node chooses randomly and uniformly an available color
40
40 Palette of node At the same time, uncolored neighbors pick randomly a color too (from their palettes)
41
41 Palette of node If then node accepts color for all and exits the algorithm
42
42 Palette of node If then node rejects color for some Conflict
43
43 All the nodes that conflict reject their colors and try again in the next phase Palette of node
44
44 Algorithm 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;
45
45 Example execution
46
46 Phase 1: (iteration 1 of synchronous exectution) Nodes pick random colors
47
47 Successful Colors
48
48 Phase 2:(iteration 2) Nodes pick random colors
49
49 Successful Colors
50
50 Phase 3: (iteration 3) Nodes pick random colors
51
51 End of execution
52
52 Analysis Palette of node unavailable color available color Consider phase (iteration ) Set of available colors: Example:
53
53 : set of neighbors of which are uncolored at the beginning of the phase Example:
54
54 Palette of node At the beginning of phase
55
55 Palette of node : available colors after every node in chooses a random color Color inColor used by
56
56 Since at most colors in are used by neighbors Palette of node
57
57 A successful color choice for node : node has picked a color in (this color is not picked by any neighbor) Probability of success: space of all random choices space of successful random choices
58
58 Probability that node succeeds in a phase: Probability that node fails for phases: at least at most is the number of nodes
59
59 Probability that node fails for phases: Probability that some node fails for phases: at most Probability that every node succeeds in the first phases: at least at most
60
60 The algorithm terminates in phases with probability at least Duration of each phase:time steps Total time steps: (with high probability)
61
61 Distributed Vertex Coloring Part II
62
62 A Randomized -Coloring Algorithm Randomized Algorithm Distributed Algorithm Running time: with high probability (similar with the -coloring algorithm, but now the color palette size is )
63
63 Each node has a palette with colors Initially all colors in palette are available Palette of node (Recall: is the node’s degree)
64
64 : uncolored neighbors of Example: At the beginning of a phase: : uncolored degree of
65
65 In conflicts, the node with the highest uncolored degree wins Example 1 Beginning of phase
66
66 In conflicts, the node with the highest uncolored degree wins Random color choices
67
67 In conflicts, the node with the highest uncolored degree wins End of phase
68
68 In conflicts, the node with the highest uncolored degree wins Example 2 Beginning of phase
69
69 In conflicts, the node with the highest uncolored degree wins Random color choices
70
70 In conflicts, the node with the highest uncolored degree wins End of phase
71
71 If both nodes have same degree, both reject their color Example 3 Beginning of phase
72
72 If both nodes have same degree, both reject their color Random color choices
73
73 If both nodes have same degree, both reject their color End of phase
74
74 Algorithm for node Repeat 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; (iteration = phase)
75
75 Example execution
76
76 Phase 1: (iteration 1) Nodes pick random colors
77
77 For this phase, uncolored degree = degree Conflicts The nodes of higher uncolored degree win
78
78 Successful colors
79
79 Phase 2:(iteration 2) Nodes pick random colors
80
80 Conflicts The nodes of higher uncolored degree win
81
81 Successful colors
82
82 Phase 3:(iteration 3) Nodes pick random colors
83
83 Successful colors End of execution
84
84 Analysis Palette of uncolored node unavailable color available color Consider phase (iteration ) Set of available colors: Example:
85
85 Number of available colors: Palette sizeMaximum unavailable colors
86
86 If then every color choice is a success So suppose that
87
87 Event : node successfully accepts a color in current phase We want to compute the probability of: We will prove that is at least constant
88
88 Event : node successfully picks and then accepts color (available color)
89
89 Note that the events and are mutually exclusive for any pair of colors Any two such events cannot occur simultaneously
90
90 since, success for node in current phase is to successfully accept some color in
91
91 since are mutually exclusive
92
92 :nodes in with same or higher uncolored degree than Example:
93
93 Note that for any
94
94 Event that node picks randomly color Event that no node in picks randomly color
95
95 Since node picks randomly and uniformly a color from the available colors Probability that node picks color
96
96 Event that no uncolored neighbor of picks randomly color Event that uncolored neighbor does not pick color
97
97 This holds because the events are independent
98
98 Consider some
99
99
100
100 Fundamental inequalities
101
101
102
102
103
103 This holds since and are independent events (the nodes pick randomly their colors independent from one another)
104
104
105
105 Probability of success
106
106 Probability that node succeeds in a phase: Probability that node fails in a phase: at least at most Note that is a constant
107
107 Probability that node fails for phases: at most is the number of nodes
108
108 Probability that node fails for phases: Probability that some node fails for phases: at most Probability that every node succeeds in the first phases: at least at most
109
109 The algorithm terminates in phases with probability at least Duration of each phase:time steps Total time steps: (with high probability) END OF ANALYSIS
110
110 Alternative Randomized -Coloring Algorithm Randomized Algorithm Distributed Algorithm Running time: with high probability
111
111 in conflicts, every conflicting node rejects the color Same with previous algorithm (palette for node is ) But: (regardless of the uncolored degrees)
112
112 Algorithm for node Repeat 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;
113
113 Example execution
114
114 Phase 1:
115
115 Successful Colors
116
116 Phase 2:
117
117 Successful Colors
118
118 Phase 3:
119
119 End of execution
120
120 Analysis Palette of node unavailable color available color Consider phase (iteration ) Set of available colors: Example:
121
121 : uncolored neighbors of Example: At the beginning of a phase:
122
122 Number of available colors: Palette sizeMaximum unavailable colors
123
123 If then every color choice is a success So suppose that and
124
124 Event : node successfully accepts a color in current phase We want to compute the probability of: We will prove that is at least constant
125
125 Event : node successfully picks and then accepts color (available color)
126
126 Note that the events and are mutually exclusive for any pair of colors Any two such events cannot occur simultaneously
127
127 Success for node in current phase is to successfully accept some color in (available color)
128
128 since are mutually exclusive
129
129 Event that node picks randomly color Event that no uncolored neighbor of picks randomly color
130
130 This holds since and are independent events (the nodes pick randomly their colors independent from one another)
131
131 Since node picks randomly and uniformly a color from the available colors Probability that node picks color
132
132 Event that no uncolored neighbor of picks randomly color Event that uncolored neighbor does not pick color
133
133 This holds because the events are independent
134
134
135
135
136
136 Take any
137
137 Out of probability space of
138
138 Thus, we can safely assume that the available palette of is with
139
139 where
140
140 We can show that: where and Suppose that
141
141 We first show: Since is minimum, we have:
142
142 since
143
143 Since
144
144 As needed
145
145 Therefore, if then
146
146 Therefore, if then Thus, we can safely assume that the Available palette of is with The available colors of Have been reduced by one
147
147 Thus, node can repeatedly reduce the available colors in its palette until it consists of 2 available colors A similar observation holds for any node
148
148 Similarly, any node will reduce the available colors in its palette until it consists of 2 colors
149
149 Therefore, But assume that for any Available colors:
150
150 Palette of node Available colors
151
151 Palette of node Color overlaps with palettes of neighbors
152
152 Palette of node 1 3113 :number of incoming arrows for a color
153
153 Palette of node Since, and Average : 1 3113
154
154
155
155 Let be the number of colors with We have that Colors exceeding average Which implies:
156
156 Since chooses its colors randomly and uniformly in,
157
157 Suppose that a color has there are at most two neighbors that may choose color say
158
158 Probability of success for node in current phase constant
159
159 we need phases for success of all nodes Since a node succeeds with constant probability in a phase Since time duration of a phase is constant, total time needed is
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.