0% found this document useful (0 votes)
17 views

Lecture10 LocalAlgorithms

The document discusses distributed graph algorithms. It describes the LOCAL and CONGEST models for distributed network computation and covers algorithms for 3-coloring trees and general graphs, including the Cole-Vishkin and Luby's algorithms. It also presents a lower bound for 3-coloring paths in the LOCAL model.

Uploaded by

Kal tek
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Lecture10 LocalAlgorithms

The document discusses distributed graph algorithms. It describes the LOCAL and CONGEST models for distributed network computation and covers algorithms for 3-coloring trees and general graphs, including the Cole-Vishkin and Luby's algorithms. It also presents a lower bound for 3-coloring paths in the LOCAL model.

Uploaded by

Kal tek
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 50

Lecture 10: Distributed Graph

Algorithms

1
Distributed Graph Algorithms
• Network graph
• Every is a processor
• Unique identifier
• Knows neighbors
• Synchronous rounds:
1. Send messages to neighbors
2. Receive messages from neighbors
3. Transition to next state
Main Question
• What can we do with local knowledge?

3
Distributed Network Models
LOCAL model:
#rounds or
Distributed Network Models
CONGEST model: Example:
#bits / round Neighbors = bits
Today
LOCAL algorithms:
• Cole-Vishkin 3-coloring algorithm for trees
• Extension to general graphs
• Lower bound for 3-coloring a path
• Luby’s algorithm for maximal independent set
• Reduction from coloring
• Reduction from maximal matching

6
The LOCAL Model
• What is “trivial”?

7
Distributed Coloring

8
Cole-Vishkin Coloring Algorithm
• Assume is a rooted tree:

times

• Initially: “colors”
• One step of Cole-Vishkin: colors colors

9
Color Reduction
• Initial colors
• For each (in parallel): 𝑐 ( 𝑢 )=1010100011
• Announce
• Receive where ’s parent 𝑐 ( 𝑣 ) =1010 0 00011
• Examine in binary:
• Find rightmost index where
colors colors
• For the root:
• Why is this a valid coloring?

10
Color Reduction
• Initial colors
• For each (in parallel): 𝑐 ( 𝑢 )=1010100011
• Announce
• Receive where ’s parent 𝑐 ( 𝑣 ) =1010 0 00011
• Examine in binary:
• Find rightmost index where
colors colors
• For the root:
• Why is this a valid coloring?
• When should we stop?
11
Linear Color Reduction
Eliminate one color in one round:
1. Shift colors down Choose new color from

Siblings have same color

12
Linear Color Reduction
Eliminate one color in one round:
1. Shift colors down Choose new color from
2. Eliminate color :
If , choose new
color
valid -coloring

Siblings have same color

13
Linear Color Reduction
Eliminate one color in one round:
1. Shift colors down Choose new color from
2. Eliminate color :
If , choose new
color
valid -coloring

When should we stop? Siblings have same color

14
Coloring Rooted Trees
• Cole-Vishkin: rounds, colors 6 colors
• Linear color reduction: 3 rounds, 6 colors 3 colors

15
Coloring Arbitrary Graphs
• What can we hope for?
• Computing the chromatic number : NP-hard
• Brook’s Theorem: (except clique or odd cycle)
• Greedy algorithm: colors

16
Coloring Arbitrary Graphs
1. Partition into rooted forests
2. 3-color all forests in parallel using Cole-Vishkin
3. Merge forests sequentially

17
Partitioning Into Rooted Forests
• Each numbers its edges

4 1
1 2
2 3 3
3 2 1
2
3 3
1 2
1

18
Partitioning Into Rooted Forests
• Each numbers its edges
• Orient each edge from smaller ID to larger ID

4 1
1 2
2 3 3
3 2 1
2
3 3
1 2
1

19
Partitioning Into Rooted Forests
• Each numbers its edges
• Orient each edge from smaller ID to larger ID

4 1
1 2
2 3 3
3 2 2 1

3 3
1 2
1

20
Partitioning Into Rooted Forests
• Each numbers its edges
• Orient each edge from smaller ID to larger ID
• Forest = outgoing edges numbered

4 1
1 2
2 3 3
3 2 2 1

3 3
1 2
1

21
Partitioning Into Rooted Forests
4
• Each numbers its edges
• Orient each edge from smaller ID to larger ID
• Forest = outgoing edges numbered

1 3
2 3

3
2
1

22
Step 2: Apply Cole-Vishkin
4
• 3-color each forest

1 3
2 3

3
2
1

23
Step 2: Apply Cole-Vishkin
4
• 3-color each forest

1 3
2 3

3
2
1

24
Step 3: Merge
4
• Sequentially merge + recolor each tree

1 3
2 3

3
2
1

25
One Merging Step:
• Ingredients:
• is -colored
• is -colored

1
2

2
1

26
One Merging Step:
• Ingredients:
is a valid
• : valid coloring for
-coloring for
• : valid coloring for
Reduce to colors

1
2

2
1

27
Color Reduction (Again)
• Before:
• Rooted tree
• Down to 3 colors
• Now:
• Arbitrary graph
• Down to colors

28
Color Reduction (Again)
• Start with coloring where
• Create coloring :
• If , set
• If , set to some free color in
• Why is valid?

29
The Entire Algorithm
1. Partition into forests
2. In parallel: color each using Cole-Vishkin
3. For each :
• Merge into :
• Start from “product coloring”
• Reduce to colors

30
Lower Bound for Coloring
• Linial ‘92: 3-coloring the ring requires rounds
• We’ll show it for paths

31
Normal Form
• What does a LOCAL algorithm do on a path?

32
Coloring Functions
• -ary -coloring:
• Mapping
• For any :

• -round 3-coloring algorithm -ary -coloring

33
Lower Bound Outline
1. There is no -ary -coloring with .
2. If there is a -ary -coloring, then there is a -ary -coloring.

34
1-Ary Colorings
• -ary -coloring:
• Mapping
• For any :

• Fix , where

35
Round Reduction
• Fix
• Construct :

• Is this valid?
• Suppose not:
• Let
• Then
• So
• Contradiction to the validity of

36
Luby’s MIS Algorithm

37
Maximal Independent Set (MIS)
• Independent set: , such that

• Maximal independent set:


if then

• Sequential algorithm:

38
Luby’s Algorithm
Initially:
• , all nodes are active
Repeat “until done”: in parallel for all ,
• Select
• Send to all neighbors
• If for all :
• Add to
• Announce to all neighbors
• If has neighbor : inactivate
39
Basic Fact
• When :

• So, for any active :


goes into

40
How Does Luby Make Progress?

41
Expected Running Time
• kills : if 𝑤

𝑢 𝑣
• Problem with this approach?

42
Expected Running Time
• single-handedly kills : 𝑤
if
𝑢 𝑣

• s.h.-killed at most twice


• “ s.h.-kills ”

43
Number of S.H.-Killing Events

1
deg ( 𝑢 ) +deg ( 𝑤 )

44
Expected Running Time
• Let #edges after round

•…

45
Reduction from -Coloring to MIS
• What is a “reduction” from to ?
• Given efficient algorithm for
• Construct efficient’ algorithm for
• We want:
• Given local algorithm for MIS
• Construct local’ algorithm for -coloring

46
Reduction from -Coloring to MIS
𝑣
𝑣

Simulate MIS
Vertex Clique: algorithm

What do to with
the output?
𝑢 𝑣
𝑢 𝑣

Edge Bi-clique:

Real graph Fake graph 48


MIS -Coloring
• In every “node clique”, at most one color MIS
𝑣

Output:
• In every “node clique”, at least one color MIS Color()=unique color in ’s
clique in the MIS
𝑢

≤Δ

49
Reduction from Maximal Matching to MIS
• Claim: MIS in the line graph = maximal matching
• Line graph :
• Vertices:
• Edges: share an endpoint
• If is an MIS for :
• is a matching: share endpoint neighbors
in
• is maximal: some neighbor

50
END (LOCAL MODEL)

51

You might also like