250 likes | 482 Views
Distributed Coloring. Discrete Mathematics and Algorithms Seminar Melih Onus November 10 2005. Outline. Vertex Coloring Model Luby’s Algorithm Coloring Constant Degree Oriented Graphs Coloring Oriented Graphs Conclusion & Open Problems. Vertex Coloring.
E N D
Distributed Coloring Discrete Mathematics and Algorithms Seminar Melih Onus November 10 2005
Outline • Vertex Coloring • Model • Luby’s Algorithm • Coloring Constant Degree Oriented Graphs • Coloring Oriented Graphs • Conclusion & Open Problems
Vertex 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
Model • 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)
How 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
Luby’s 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.
Luby’s algorithm (Example) u v u v a a c b c b Round1 Round2 u v u v a a c b c b Round3 Round4
Coloring Constant Degree Oriented Graphs • Special case: Constant degree graphs • Algorithm Color-Random:In 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
Algorithm Color-Random (Example) u v u v a a c b c b Round1 Round2 u v a c b Round3
Algorithm 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.
Analysis(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.
Analysis(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
Analysis(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.
Analysis(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 vu 1+maxv:vu label v otherwise label(u)=
Lowerbound • 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.
Coloring 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
Algorithm Color-Wait (Example) no node with entering edge for node u no uncolored node with entering edge for node v u v u v a a c b c b no node with entering edge for node b Round1 Round2 no uncolored node with entering edge for node c u v a c b Round3
Coloring 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, >0, > log+1/2n loglog n
Phase 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..
Phase 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..
Phase III • Use Algorithm Color-Wait (logn)1/2 rounds • After phase III, all nodes will be colored.
Coloring Oriented Graphs • Given an -acyclic oriented graph G=(V,E) of maximum degree , for any constant >0 a (1+)-vertex coloring of G can be obtained in O(log ) + O( log log n) rounds, with high probability.
Results for any constant >0
Conclusion & Open Problems • Distributed coloring algorithm • Acyclic orientations, better bounds • Deterministic distributed algorithms for +1-coloring that run in polylogarithmic number of rounds
References • 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.