370 likes | 494 Views
Locality in distributed graph algorithms. Nathan Linial. Presented by: Ron Ryvchin. The Main Results. Tight bound on the complexity of 3-coloring of an n-cycle in a synchronous message passing model Lower bound proof Algorithm with the above complexity (by Cole and Vishkin ).
E N D
Locality in distributed graph algorithms Nathan Linial Presented by: Ron Ryvchin
The Main Results • Tight bound on the complexity of 3-coloring of an n-cycle in a synchronous message passing model • Lower bound proof • Algorithm with the above complexity (by Cole and Vishkin)
Cycle coloring and the chromatic number The chromatic number of a graph G (denoted by ) is the minimum number of colors k such that a proper k-coloring of G exists
The Model • Synchronous message passing • No faults • Message size unlimited 1 2 5 6 3 4
The Model • After t rounds, each processor knows the labeling of all nodes at distance t or less away • After diameter(G) rounds every process knows the ID of every node and therefore can compute any function of G
A general algorithm • Let t be the number of rounds required to find the 3-coloring of an n-cycle • The algorithm is: • Each round, every processor will send all the information it knows to both of its neighbors • After t rounds, each processor chooses the color of its node according to the information it has
A lower bound on 3 coloring of an n-cycle • After t rounds, the data known to a processor P is an ordered list of 2t+1 labels, starting t places before it, through its own and on to the next t labels 1 4 5,1,4 1,4,3 t=1 5 4,3,2 3 2,5,1 3,2,5 2
A lower bound on 3 coloring of an n-cycle • Let V be the set of all vectors where are distinct integers from . • The algorithm is a mapping c from V to {B, R, G}.
The Graph • The graph is the graph whose set of vertices is V • The edges of are given by: • and are neighbors for all
The Graph • Lemma 1:. • The mapping is a proper 3-coloring of : • and are labels of consecutive nodes in graph G algorithm fails 2 1 3 4
Line Graphs • Given a graph G = (V, E), its line graph L(G) is the directed graph whose vertex set is E with (u, v) an edge if u,v is a directed path in G. (1,2) (2,5) (5,4) 1 2 3 (1,3) (4,1) (4,3) 4 5
L(G) coloring • Lemma 2:For a graph G, . • Proof: • Given a k-coloring of L(G), is a - coloring of G. 24 2 4 2 4 12 23 43 3 1 3 1 31
L(G) coloring y x
The graph is a directed graph. • The vertices of are all sequences with . • The outneighbors of are all vertices of the form with . (1,2) (1,3) (1,4) (2,3) (2,4) (3,4) :
: (1,2) (1,3) (1,4) (2,3) (2,4) (3,4) (4) (1) (3) (2) :
Lemma 3: • Proof: by induction. • Base case: • . : (4) (1) (3) (2)
Lemma 3: • Proof: by induction. • Inductive step:
lower bound – conclusion • We proved:
Lower bound for 2 coloring an n-cycle, for n even • Define t and as in the case of 3 coloring. • , and thus is bipartite. • contains an odd cycle:
An algorithm for 3-coloring of an n-cycle R. Cole and U. Vishkin, Deterministic coin tossing and accelerating cascades: micro and macro techniques for designing parallel algorithms
3 coloring algorithm • The algorithm has 3 phases • In the first phase it will find a 6-coloring of the cycle • In the second phase it will find a MIS of the cycle from the 6 coloring • In the last phase it will find the 3-coloring of the cycle from the MIS
Phase #1: 6-coloring of an n-cycle • Given a k-coloring of a cycle, we can find a - coloring of the cycle in one time unit: • define , where is the index of the rightmost bit where a and b differ, and is the value of this bit in a. For example:. • Given a k-coloring c, c’(u) = f(u, next(u)) is a –coloring. X Y Z
Phase #1: 6-coloring of an n-cycle • The initial labeling of the cycle is an n-coloring of it • After iterations we will get a 6-coloring of the cycle
Phase #1: initial coloring 3 5 6 8 14 11 12 9 10 1 7 4 15 2 0 19 18 17 13 16
Phase #1: iteration 1 0 7 3 1 6 4 2 0 2 1 6 0 1 3 1 5 3 9 0 2
Phase #1: iteration 2 2 5 3 1 3 2 4 0 4 1 0 0 2 3 1 5 3 1 0 3
Phase #2: MIS • Finding the MIS from the 6-coloring will take 6 iterations. • Each node N will have an alive bit, which will initially be 1. • When we add a node to the independent set it sends a signal to its neighbor, and at the beginning of the next iteration they will turn their alive bit off (to 0). • At iteration #(i+1): • If the color of N is i and alive[N] = 1: • N will be added to the independent set, and will send a signal to its neighbors so they will turn their alive bit off.
Phase #2: MIS 2 5 3 1 3 2 4 0 4 1 0 0 2 3 1 5 3 1 0 3
Phase #3: Given an MIS I of an n-cycle, construct a 3-coloring Color each red 2 5 3 1 3 2 4 0 4 1 0 0 2 3 1 5 3 1 0 3
Phase #3: Given an MIS I of an n-cycle, construct a 3-coloring If is a (clockwise) edge and , color u green 2 5 3 1 3 2 4 0 4 1 0 0 2 3 1 5 3 1 0 3
Phase #3: Given an MIS I of an n-cycle, construct a 3-coloring 2 5 3 1 3 2 4 0 4 Color all remaining nodes blue 1 0 0 2 3 1 5 3 1 0 3
Phase #3: Given an MIS I of an n-cycle, construct a 3-coloring 2 5 3 1 3 2 4 0 4 Takes one round 1 0 0 2 3 1 5 3 1 0 3