120
On a Connection Between Distributed Algorithms and Sublinear-Time Algorithms Krzysztof Onak MIT Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 1/42

Distributed Algorithms and Sublinear-Time Algorithms

  • Upload
    others

  • View
    31

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Distributed Algorithms and Sublinear-Time Algorithms

On a Connection Between

Distributed Algorithms and

Sublinear-Time Algorithms

Krzysztof OnakMIT

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 1/42

Page 2: Distributed Algorithms and Sublinear-Time Algorithms

In this talk. . .

Problems

Optimization problems on graphs

Examples: vertex cover, maximum matching,dominating set, . . .

Maximum (or average) degree bounded by d = O(1)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 2/42

Page 3: Distributed Algorithms and Sublinear-Time Algorithms

In this talk. . .

Problems

Optimization problems on graphs

Examples: vertex cover, maximum matching,dominating set, . . .

Maximum (or average) degree bounded by d = O(1)

Local Distributed Algorithms

compute a solution in a constant number ofcommunication rounds

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 2/42

Page 4: Distributed Algorithms and Sublinear-Time Algorithms

In this talk. . .

Problems

Optimization problems on graphs

Examples: vertex cover, maximum matching,dominating set, . . .

Maximum (or average) degree bounded by d = O(1)

Local Distributed Algorithms

compute a solution in a constant number ofcommunication rounds

Constant-Time Approximation Algorithms

Approximate the optimal solution size by only lookingat a small fraction of the graph

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 2/42

Page 5: Distributed Algorithms and Sublinear-Time Algorithms

Sample Problem: Vertex Cover

Graph G = (V,E)

Goal: find smallest set S of nodes such that each edge hasendpoint in S

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 3/42

Page 6: Distributed Algorithms and Sublinear-Time Algorithms

Local Distributed Algorithms

local ≡ constant number of communication rounds(can be a function of d)

Vertex Cover: finally every vertex knows if it is in the cover

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 4/42

Page 7: Distributed Algorithms and Sublinear-Time Algorithms

Constant-Time Algorithms

constant time ≡ function of d and approximation quality parameter

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 5/42

Page 8: Distributed Algorithms and Sublinear-Time Algorithms

Constant-Time Algorithms

constant time ≡ function of d and approximation quality parameter

Approximation notion:Y is an (α, β)-approximation to X if X ≤ Y ≤ α · X + β

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 5/42

Page 9: Distributed Algorithms and Sublinear-Time Algorithms

Constant-Time Algorithms

constant time ≡ function of d and approximation quality parameter

Approximation notion:Y is an (α, β)-approximation to X if X ≤ Y ≤ α · X + β

We’ll see:constant-time (2, ǫn)-approximation algorithmsfor vertex cover size

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 5/42

Page 10: Distributed Algorithms and Sublinear-Time Algorithms

Query Model

Graph G:

9

2 3

4

78

6

51

Query access to adjacency list of each node

What is the 3rd neighbor of node 6?

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 6/42

Page 11: Distributed Algorithms and Sublinear-Time Algorithms

Sampling from a Distributed

Algorithm’s Solution

[Parnas, Ron 2007]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 7/42

Page 12: Distributed Algorithms and Sublinear-Time Algorithms

Approximation AlgorithmLocal distributed approximation algorithm A for vertex cover:

α = approximation factor

t = number of rounds

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 8/42

Page 13: Distributed Algorithms and Sublinear-Time Algorithms

Approximation AlgorithmLocal distributed approximation algorithm A for vertex cover:

α = approximation factor

t = number of rounds

Constant-time algorithm:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 8/42

Page 14: Distributed Algorithms and Sublinear-Time Algorithms

Approximation AlgorithmLocal distributed approximation algorithm A for vertex cover:

α = approximation factor

t = number of rounds

Constant-time algorithm:

1. Sample O(1/ǫ2) vertices v

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 8/42

Page 15: Distributed Algorithms and Sublinear-Time Algorithms

Approximation AlgorithmLocal distributed approximation algorithm A for vertex cover:

α = approximation factor

t = number of rounds

t

Constant-time algorithm:

1. Sample O(1/ǫ2) vertices v

2. Simulate A on the neighborhood of each v of radius t

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 8/42

Page 16: Distributed Algorithms and Sublinear-Time Algorithms

Approximation AlgorithmLocal distributed approximation algorithm A for vertex cover:

α = approximation factor

t = number of rounds

Constant-time algorithm:

1. Sample O(1/ǫ2) vertices v

2. Simulate A on the neighborhood of each v of radius t

3. Return the fraction of vertices that are in A’s cover (+ǫn/2)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 8/42

Page 17: Distributed Algorithms and Sublinear-Time Algorithms

Approximation AlgorithmLocal distributed approximation algorithm A for vertex cover:

α = approximation factor

t = number of rounds

Constant-time algorithm:

1. Sample O(1/ǫ2) vertices v

2. Simulate A on the neighborhood of each v of radius t

3. Return the fraction of vertices that are in A’s cover (+ǫn/2)

Output: (α, ǫn)-approximation with constant probability

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 8/42

Page 18: Distributed Algorithms and Sublinear-Time Algorithms

Complexity of the Algorithm

Query complexity: O(1/ǫ2) · dO(t)

t

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 9/42

Page 19: Distributed Algorithms and Sublinear-Time Algorithms

Complexity of the Algorithm

Query complexity: O(1/ǫ2) · dO(t)

t

Parnas and Ron applied algorithms of Kuhn, Moscibroda,Wattenhofer (2006) to vertex cover

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 9/42

Page 20: Distributed Algorithms and Sublinear-Time Algorithms

Complexity of the Algorithm

Query complexity: O(1/ǫ2) · dO(t)

t

Parnas and Ron applied algorithms of Kuhn, Moscibroda,Wattenhofer (2006) to vertex cover:

∀c > 2, (c, ǫn)-approximation with dO(log(d))/ǫ2 queries

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 9/42

Page 21: Distributed Algorithms and Sublinear-Time Algorithms

Complexity of the Algorithm

Query complexity: O(1/ǫ2) · dO(t)

t

Parnas and Ron applied algorithms of Kuhn, Moscibroda,Wattenhofer (2006) to vertex cover:

∀c > 2, (c, ǫn)-approximation with dO(log(d))/ǫ2 queries

(2, ǫn)-approximation with dO(log(d)/ǫ3) queries

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 9/42

Page 22: Distributed Algorithms and Sublinear-Time Algorithms

Slightly Better Algorithms

[Marko, Ron 2007]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 10/42

Page 23: Distributed Algorithms and Sublinear-Time Algorithms

Vertex Cover

Goal: find smallest set S of nodes such that each edge hasendpoint in S

Classical 2-approximation algorithm [Gavril]:

Greedily find a maximal matching M

Output the set of nodes matched in M

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 11/42

Page 24: Distributed Algorithms and Sublinear-Time Algorithms

Vertex Cover

Goal: find smallest set S of nodes such that each edge hasendpoint in S

Classical 2-approximation algorithm [Gavril]:

Greedily find a maximal matching M

Output the set of nodes matched in M

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 11/42

Page 25: Distributed Algorithms and Sublinear-Time Algorithms

Vertex Cover

Goal: find smallest set S of nodes such that each edge hasendpoint in S

Classical 2-approximation algorithm [Gavril]:

Greedily find a maximal matching M

Output the set of nodes matched in M

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 11/42

Page 26: Distributed Algorithms and Sublinear-Time Algorithms

Algorithm of Marko & Ronvia Luby (1986)

Repeat:select each node v with probability Θ(1/d(v))deselect a node if a neighbor selectedadd selected nodes to independent setremove selected nodes and their neighbors from graph

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 12/42

Page 27: Distributed Algorithms and Sublinear-Time Algorithms

Algorithm of Marko & Ronvia Luby (1986)

Repeat:select each node v with probability Θ(1/d(v))deselect a node if a neighbor selectedadd selected nodes to independent setremove selected nodes and their neighbors from graph

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 12/42

Page 28: Distributed Algorithms and Sublinear-Time Algorithms

Algorithm of Marko & Ronvia Luby (1986)

Repeat:select each node v with probability Θ(1/d(v))deselect a node if a neighbor selectedadd selected nodes to independent setremove selected nodes and their neighbors from graph

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 12/42

Page 29: Distributed Algorithms and Sublinear-Time Algorithms

Algorithm of Marko & Ronvia Luby (1986)

Repeat:select each node v with probability Θ(1/d(v))deselect a node if a neighbor selectedadd selected nodes to independent setremove selected nodes and their neighbors from graph

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 12/42

Page 30: Distributed Algorithms and Sublinear-Time Algorithms

Algorithm of Marko & Ronvia Luby (1986)

Repeat:select each node v with probability Θ(1/d(v))deselect a node if a neighbor selectedadd selected nodes to independent setremove selected nodes and their neighbors from graph

Can show: 1 − δ fraction of vertices decided in O(log(d/δ)) rounds

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 12/42

Page 31: Distributed Algorithms and Sublinear-Time Algorithms

Algorithm of Marko & Ronvia Luby (1986)

Repeat:select each node v with probability Θ(1/d(v))deselect a node if a neighbor selectedadd selected nodes to independent setremove selected nodes and their neighbors from graph

Can show: 1 − δ fraction of vertices decided in O(log(d/δ)) rounds

Ramifications for vertex cover:distributed: (2 + δ)-approximation in O(log(d/δ)) rounds

sublinear: (2, ǫn)-approximation with dO(log(d/ǫ)) queries

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 12/42

Page 32: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy Computation

[Nguyen, O. 2008]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 13/42

Page 33: Distributed Algorithms and Sublinear-Time Algorithms

Oracle for Maximal Independent Set

Construct oracle O:

O has query access to G = (V,E)

O provides query access to maximal independent set I ⊆ V

I independent of queries

OracleYes/No

v ∈ I?

Goal: Minimize the query processing time

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 14/42

Page 34: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 35: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 36: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 37: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

?

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 38: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

?

?

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 39: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

?

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 40: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 41: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

??

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 42: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 43: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

.22

?

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 44: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

.22

.27

?

??

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 45: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

.22

.27

?

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 46: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

.22

.27

?

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 47: Distributed Algorithms and Sublinear-Time Algorithms

Local Greedy ComputationNguyen, O. (2008)

Main idea:

select maximal independent set greedily

consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65

.43.79

.41

.75

.60

.36 .11

.22

.27

To check if v ∈ I

recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐⇒ none of them in I

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 15/42

Page 48: Distributed Algorithms and Sublinear-Time Algorithms

Bounding Expected Query Complexity

Pr[a given path of length k is explored] ≤ 1/(k + 1)!

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 16/42

Page 49: Distributed Algorithms and Sublinear-Time Algorithms

Bounding Expected Query Complexity

Pr[a given path of length k is explored] ≤ 1/(k + 1)!

number of neighbors at distance k ≤ dk

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 16/42

Page 50: Distributed Algorithms and Sublinear-Time Algorithms

Bounding Expected Query Complexity

Pr[a given path of length k is explored] ≤ 1/(k + 1)!

number of neighbors at distance k ≤ dk

E[number of vertices explored at distance k] ≤ dk/(k + 1)!

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 16/42

Page 51: Distributed Algorithms and Sublinear-Time Algorithms

Bounding Expected Query Complexity

Pr[a given path of length k is explored] ≤ 1/(k + 1)!

number of neighbors at distance k ≤ dk

E[number of vertices explored at distance k] ≤ dk/(k + 1)!

E[number of explored vertices] ≤∑

k=0 dk/(k + 1)!

≤ ed/d

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 16/42

Page 52: Distributed Algorithms and Sublinear-Time Algorithms

Bounding Expected Query Complexity

Pr[a given path of length k is explored] ≤ 1/(k + 1)!

number of neighbors at distance k ≤ dk

E[number of vertices explored at distance k] ≤ dk/(k + 1)!

E[number of explored vertices] ≤∑

k=0 dk/(k + 1)!

≤ ed/d

Expected query complexity = O(d) · ed/d = O(ed)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 16/42

Page 53: Distributed Algorithms and Sublinear-Time Algorithms

Recent ImprovementYoshida, Yamamoto, Ito (STOC 2009)

Heuristic:

Consider neighbors w of v in ascending order of r(w)

Once you find w ∈ I, v 6∈ I(i.e., don’t check other neighbors)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 17/42

Page 54: Distributed Algorithms and Sublinear-Time Algorithms

Recent ImprovementYoshida, Yamamoto, Ito (STOC 2009)

Heuristic:

Consider neighbors w of v in ascending order of r(w)

Once you find w ∈ I, v 6∈ I(i.e., don’t check other neighbors)

They show:

E permutations, start vertex [#recursive calls] ≤ 1 +m

n

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 17/42

Page 55: Distributed Algorithms and Sublinear-Time Algorithms

Recent ImprovementYoshida, Yamamoto, Ito (STOC 2009)

Heuristic:

Consider neighbors w of v in ascending order of r(w)

Once you find w ∈ I, v 6∈ I(i.e., don’t check other neighbors)

They show:

E permutations, start vertex [#recursive calls] ≤ 1 +m

n

Which gives:

expected query complexity for random vertex = O(d2)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 17/42

Page 56: Distributed Algorithms and Sublinear-Time Algorithms

(2, ǫn)-Approximation for Vertex Cover

Parnas, Ron (2007) + Kuhn, Moscibroda, Wattenhofer (2006):

dO(log(d)/ǫ3) queries

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 18/42

Page 57: Distributed Algorithms and Sublinear-Time Algorithms

(2, ǫn)-Approximation for Vertex Cover

Parnas, Ron (2007) + Kuhn, Moscibroda, Wattenhofer (2006):

dO(log(d)/ǫ3) queries

Marko, Ron (2007):

dO(log(d/ǫ)) queries

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 18/42

Page 58: Distributed Algorithms and Sublinear-Time Algorithms

(2, ǫn)-Approximation for Vertex Cover

Parnas, Ron (2007) + Kuhn, Moscibroda, Wattenhofer (2006):

dO(log(d)/ǫ3) queries

Marko, Ron (2007):

dO(log(d/ǫ)) queries

Nguyen, O. (2008):

2O(d)/ǫ2 queries

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 18/42

Page 59: Distributed Algorithms and Sublinear-Time Algorithms

(2, ǫn)-Approximation for Vertex Cover

Parnas, Ron (2007) + Kuhn, Moscibroda, Wattenhofer (2006):

dO(log(d)/ǫ3) queries

Marko, Ron (2007):

dO(log(d/ǫ)) queries

Nguyen, O. (2008):

2O(d)/ǫ2 queries

Yoshida, Yamamoto, Ito (2009):

O(d3/ǫ2) queries

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 18/42

Page 60: Distributed Algorithms and Sublinear-Time Algorithms

(1, ǫn)-Approximation

for Maximum Matching

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 19/42

Page 61: Distributed Algorithms and Sublinear-Time Algorithms

Maximum Matching

Goal: find a set of disjoint edges of maximum cardinality

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 20/42

Page 62: Distributed Algorithms and Sublinear-Time Algorithms

Review of Properties

Augmenting Path: a path that improves matching

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 21/42

Page 63: Distributed Algorithms and Sublinear-Time Algorithms

Review of Properties

Augmenting Path: a path that improves matching

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 21/42

Page 64: Distributed Algorithms and Sublinear-Time Algorithms

Review of Properties

Augmenting Path: a path that improves matching

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 21/42

Page 65: Distributed Algorithms and Sublinear-Time Algorithms

Review of Properties

Augmenting Path: a path that improves matching

M = matching, M∗ = maximum matching

Fact: There are |M∗| − |M | disjoint augmenting paths for M

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 21/42

Page 66: Distributed Algorithms and Sublinear-Time Algorithms

Review of Properties

Augmenting Path: a path that improves matching

M = matching, M∗ = maximum matching

Fact: There are |M∗| − |M | disjoint augmenting paths for M

Fact:No augmenting paths of length < 2k + 1 ⇒ |M | ≥ k

k+1 |M∗|

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 21/42

Page 67: Distributed Algorithms and Sublinear-Time Algorithms

Review of Properties

Augmenting Path: a path that improves matching

M = matching, M∗ = maximum matching

Fact: There are |M∗| − |M | disjoint augmenting paths for M

Fact:No augmenting paths of length < 2k + 1 ⇒ |M | ≥ k

k+1 |M∗|

To get (1 + ǫ)-approximation, set k = ⌈1/ǫ⌉

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 21/42

Page 68: Distributed Algorithms and Sublinear-Time Algorithms

Standard Algorithm

Lemma [Hopcroft, Karp 1973]:

M = matching with no augmenting paths of length < t

P = maximal set of vertex-disjoint augmenting pathsof length t for M

M ′ = M with all paths in P applied

Claim: M ′ has only augmenting paths of length > t

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 22/42

Page 69: Distributed Algorithms and Sublinear-Time Algorithms

Standard Algorithm

Lemma [Hopcroft, Karp 1973]:

M = matching with no augmenting paths of length < t

P = maximal set of vertex-disjoint augmenting pathsof length t for M

M ′ = M with all paths in P applied

Claim: M ′ has only augmenting paths of length > t

Algorithm:M := empty matchingfor i = 1 to k:

find maximal set of disjoint augmenting paths of length 2i − 1apply all paths to M

return M

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 22/42

Page 70: Distributed Algorithms and Sublinear-Time Algorithms

TransformationStandard Algorithm:

Constant−Time Algorithm:

augmentingEliminate

paths

of length 1

augmentingEliminate

paths

of length 3

augmentingEliminate

paths

of length 5

augmentingEliminate

paths

of length 7

⇒ M1 ⇒ ⇒ M2 ⇒ ⇒ M3 ⇒∅ ⇒ ⇒ M4

no

paths

of length≤ 1

no

paths

of length≤ 7

approximationsampling

no

paths

of length≤ 3

no

paths

of length≤ 5

Oracle O1:

augmenting augmenting augmenting augmenting

Oracle O2: Oracle O3: Oracle O4:

Oracle Oi:

provides query access to Mi

simulates applying to Mi−1 a maximal set of disjointaugmenting paths of length 2i − 1

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 23/42

Page 71: Distributed Algorithms and Sublinear-Time Algorithms

Transformation

Sample graph considered by O2:

Oi’s graph has degree dO(i)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 24/42

Page 72: Distributed Algorithms and Sublinear-Time Algorithms

Query ComplexityCan’t apply the previous approach!

every query may disclose some information about therandom numbers

algorithm could use it to form a malicious query

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 25/42

Page 73: Distributed Algorithms and Sublinear-Time Algorithms

Query ComplexityCan’t apply the previous approach!

every query may disclose some information about therandom numbers

algorithm could use it to form a malicious query

Locality Lemma:

for q queries, needs to visit at most q2 · 2O(d4)/δ verticeswith probability 1 − δ

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 25/42

Page 74: Distributed Algorithms and Sublinear-Time Algorithms

Query ComplexityCan’t apply the previous approach!

every query may disclose some information about therandom numbers

algorithm could use it to form a malicious query

Locality Lemma:

for q queries, needs to visit at most q2 · 2O(d4)/δ verticeswith probability 1 − δ

Query complexity: 2dO(1/ǫ)

queries for (1, ǫn)-approximation

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 25/42

Page 75: Distributed Algorithms and Sublinear-Time Algorithms

Query ComplexityCan’t apply the previous approach!

every query may disclose some information about therandom numbers

algorithm could use it to form a malicious query

Locality Lemma:

for q queries, needs to visit at most q2 · 2O(d4)/δ verticeswith probability 1 − δ

Query complexity: 2dO(1/ǫ)

queries for (1, ǫn)-approximation

Yoshida, Yamamoto, Ito (2009)

Query complexity: dO(1/ǫ2)

uniform on higher level ⇒ close to uniform on lower

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 25/42

Page 76: Distributed Algorithms and Sublinear-Time Algorithms

Distributed Algorithms

Can simulate the oracle locally for every vertex

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 26/42

Page 77: Distributed Algorithms and Sublinear-Time Algorithms

Distributed Algorithms

Can simulate the oracle locally for every vertex

(1 − ǫ)-approximate maximum matching computable in

dO(1/ǫ) rounds

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 26/42

Page 78: Distributed Algorithms and Sublinear-Time Algorithms

Lower Bounds

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 27/42

Page 79: Distributed Algorithms and Sublinear-Time Algorithms

Relevant Lower Bounds

No constant-time (α, ǫn)-approximation algorithm for:

vertex cover if α constant less than 2 [Trevisan]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 28/42

Page 80: Distributed Algorithms and Sublinear-Time Algorithms

Relevant Lower Bounds

No constant-time (α, ǫn)-approximation algorithm for:

vertex cover if α constant less than 2 [Trevisan]

dominating set if α = o(log d) [Alon]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 28/42

Page 81: Distributed Algorithms and Sublinear-Time Algorithms

Relevant Lower Bounds

No constant-time (α, ǫn)-approximation algorithm for:

vertex cover if α constant less than 2 [Trevisan]

dominating set if α = o(log d) [Alon]

maximum independent set if α = o(

dlog d

)

[Alon]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 28/42

Page 82: Distributed Algorithms and Sublinear-Time Algorithms

Relevant Lower Bounds

No constant-time (α, ǫn)-approximation algorithm for:

vertex cover if α constant less than 2 [Trevisan]

dominating set if α = o(log d) [Alon]

maximum independent set if α = o(

dlog d

)

[Alon]

Ramifications:

no corresponding local distributed algorithm

need Ω(log n) rounds

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 28/42

Page 83: Distributed Algorithms and Sublinear-Time Algorithms

Local Graph Partitions[Hassidim, Kelner, Nguyen, O. 2009]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 29/42

Page 84: Distributed Algorithms and Sublinear-Time Algorithms

Hyperfinite Graphs

(ǫ, δ)-partition

(All graphs of degree O(1))

(ǫ, δ)-hyperfinite graphs: can remove ǫ|V | edges and getcomponents of size at most δ

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 30/42

Page 85: Distributed Algorithms and Sublinear-Time Algorithms

Hyperfinite Graphs

(ǫ, δ)-partition

(All graphs of degree O(1))

(ǫ, δ)-hyperfinite graphs: can remove ǫ|V | edges and getcomponents of size at most δ

hyperfinite family of graphs: there is ρ such that allgraphs are (ǫ, ρ(ǫ))-hyperfinite for all ǫ > 0

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 30/42

Page 86: Distributed Algorithms and Sublinear-Time Algorithms

Taxonomy

Subexponential

Minor−Free Graphs

Hyperfinite Graphs

Growth

PolynomialGrowth

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 31/42

Page 87: Distributed Algorithms and Sublinear-Time Algorithms

Using a Partition

If someone gave us a (ǫ/2, δ)-partition:

Algorithm

Sample O(1/ǫ2) vertices

Compute minimum vertex cover for the sampledcomponents

Return the fraction of the sampled vertices in the covers

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 32/42

Page 88: Distributed Algorithms and Sublinear-Time Algorithms

Using a Partition

If someone gave us a (ǫ/2, δ)-partition:

Algorithm

Sample O(1/ǫ2) vertices

Compute minimum vertex cover for the sampledcomponents

Return the fraction of the sampled vertices in the covers

This gives ±ǫ approximation to VC(G)/n in constant time:

Cut edges change VC(G) by at most ǫn/2

Can compute vertex cover separately for eachcomponent

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 32/42

Page 89: Distributed Algorithms and Sublinear-Time Algorithms

Using a Partition

If someone gave us a (ǫ/2, δ)-partition:

Algorithm

Bad news:

We don’t have a partition

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 33/42

Page 90: Distributed Algorithms and Sublinear-Time Algorithms

Using a Partition

If someone gave us a (ǫ/2, δ)-partition:

Algorithm

Bad news:

We don’t have a partition

Good news:

We can compute it ourselveswithout looking at the entire graph

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 33/42

Page 91: Distributed Algorithms and Sublinear-Time Algorithms

Using a Partition

AlgorithmPartitioning

Oracle

Bad news:

We don’t have a partition

Good news:

We can compute it ourselveswithout looking at the entire graph

New Tool: Partitioning Oracles

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 33/42

Page 92: Distributed Algorithms and Sublinear-Time Algorithms

Partitioning Oracle

Oraclevertex v

P (v)

C = fixed hyperfinite class

oracle has query access to G = (V,E)(G need not be in C)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 34/42

Page 93: Distributed Algorithms and Sublinear-Time Algorithms

Partitioning Oracle

Oraclevertex v

P (v)

C = fixed hyperfinite class

oracle has query access to G = (V,E)(G need not be in C)

oracle provides query access to partition P of V ;for each v, oracle returns P (v) ⊆ V s.t. v ∈ P (v)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 34/42

Page 94: Distributed Algorithms and Sublinear-Time Algorithms

Partitioning Oracle

Oraclevertex v

P (v)

C = fixed hyperfinite class

oracle has query access to G = (V,E)(G need not be in C)

oracle provides query access to partition P of V ;for each v, oracle returns P (v) ⊆ V s.t. v ∈ P (v)

Properties of P :

each |P (v)| = O(1)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 34/42

Page 95: Distributed Algorithms and Sublinear-Time Algorithms

Partitioning Oracle

Oraclevertex v

P (v)

C = fixed hyperfinite class

oracle has query access to G = (V,E)(G need not be in C)

oracle provides query access to partition P of V ;for each v, oracle returns P (v) ⊆ V s.t. v ∈ P (v)

Properties of P :

each |P (v)| = O(1)

If G ∈ C, number of cut edges ≤ ǫn w.p. 99100

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 34/42

Page 96: Distributed Algorithms and Sublinear-Time Algorithms

Partitioning Oracle

Oraclevertex v

P (v)

C = fixed hyperfinite class

oracle has query access to G = (V,E)(G need not be in C)

oracle provides query access to partition P of V ;for each v, oracle returns P (v) ⊆ V s.t. v ∈ P (v)

Properties of P :

each |P (v)| = O(1)

If G ∈ C, number of cut edges ≤ ǫn w.p. 99100

partition P (·) is not a function of queries,it is a function of graph structure and random bits

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 34/42

Page 97: Distributed Algorithms and Sublinear-Time Algorithms

Our OraclesGeneric oracle for any hyperfinite class of graphs

Query complexity: 2dO(ρ(ǫ3/54000))

Via local simulation of a greedy partitioningprocedure (uses [Nguyen, O. 2008])

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 35/42

Page 98: Distributed Algorithms and Sublinear-Time Algorithms

Our OraclesGeneric oracle for any hyperfinite class of graphs

Query complexity: 2dO(ρ(ǫ3/54000))

For minor-free graphs:

Query complexity: dpoly(1/ǫ)

Via techniques from distributed algorithms[Czygrinow, Hanckowiak, Wawrzyniak 2008]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 35/42

Page 99: Distributed Algorithms and Sublinear-Time Algorithms

Our OraclesGeneric oracle for any hyperfinite class of graphs

Query complexity: 2dO(ρ(ǫ3/54000))

For minor-free graphs:

Query complexity: dpoly(1/ǫ)

For ρ(ǫ) ≤ poly(1/ǫ):

Query complexity: 2poly(d/ǫ)

Via methods from distributed algorithms andpartitioning methods of Andersen and Peres (2009)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 35/42

Page 100: Distributed Algorithms and Sublinear-Time Algorithms

Our OraclesGeneric oracle for any hyperfinite class of graphs

Query complexity: 2dO(ρ(ǫ3/54000))

For minor-free graphs:

Query complexity: dpoly(1/ǫ)

For ρ(ǫ) ≤ poly(1/ǫ):

Query complexity: 2poly(d/ǫ)

Also :

For polynomial growth [Jung, Shah]:

Query complexity: poly(d/ǫ)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 35/42

Page 101: Distributed Algorithms and Sublinear-Time Algorithms

Three Applications

1. Approximation of graph parametersin hyperfinite graphs

2. Testing minor-closed properties

Simpler proof of the result of Benjamini,Schramm, and Shapira (2008)

3. Approximating distance to hereditary propertiesin hyperfinite graphs

Earlier only known to be testable[Czumaj, Shapira, Sohler 2009]

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 36/42

Page 102: Distributed Algorithms and Sublinear-Time Algorithms

Application 1: Approximation

For hyperfinite graphs, can get ±ǫn approximation to:

minimum vertex cover size(that is also the independence number)

minimum dominating set size

in time independent of the graph size

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 37/42

Page 103: Distributed Algorithms and Sublinear-Time Algorithms

Application 1: Approximation

For hyperfinite graphs, can get ±ǫn approximation to:

minimum vertex cover size(that is also the independence number)

minimum dominating set size

in time independent of the graph size

Earlier/independent proofs of the same results

Elek 2009: for graphs with subexponential growth

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 37/42

Page 104: Distributed Algorithms and Sublinear-Time Algorithms

Application 1: Approximation

For hyperfinite graphs, can get ±ǫn approximation to:

minimum vertex cover size(that is also the independence number)

minimum dominating set size

in time independent of the graph size

Earlier/independent proofs of the same results

Elek 2009: for graphs with subexponential growth

Czygrinow, Hanckowiak, Wawrzyniak (2008)+ Parnas, Ron (2007): for minor-free graphs

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 37/42

Page 105: Distributed Algorithms and Sublinear-Time Algorithms

Simplest Oracle

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 38/42

Page 106: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 107: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 108: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 109: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 110: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 111: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 112: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 113: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 114: Distributed Algorithms and Sublinear-Time Algorithms

Iterative Procedure

Global procedure:

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 39/42

Page 115: Distributed Algorithms and Sublinear-Time Algorithms

Local simulation

Use technique of Nguyen and O. (2008):

Random numbers assigned to vertices generate arandom permutation

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 40/42

Page 116: Distributed Algorithms and Sublinear-Time Algorithms

Local simulation

Use technique of Nguyen and O. (2008):

Random numbers assigned to vertices generate arandom permutation

To find a component of v:

recursively check what happened to close verticeswith lower numbers

if v still in graph, try to construct a component

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 40/42

Page 117: Distributed Algorithms and Sublinear-Time Algorithms

Open Problems

Tight bounds for vertex cover and maximum matching

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 41/42

Page 118: Distributed Algorithms and Sublinear-Time Algorithms

Open Problems

Tight bounds for vertex cover and maximum matching

Is there a poly(1/ǫ)-time/query partitioning oracle forminor-free graphs?

This would give a polynomial time/query tester forminor-freeness, and resolve an open question ofBenjamini, Schramm, Shapira (2008)

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 41/42

Page 119: Distributed Algorithms and Sublinear-Time Algorithms

Open Problems

Tight bounds for vertex cover and maximum matching

Is there a poly(1/ǫ)-time/query partitioning oracle forminor-free graphs?

This would give a polynomial time/query tester forminor-freeness, and resolve an open question ofBenjamini, Schramm, Shapira (2008)

Good approximation algorithms for other popularclasses of graphs

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 41/42

Page 120: Distributed Algorithms and Sublinear-Time Algorithms

Thank you!

Krzysztof Onak – Distributed Algorithms and Sublinear-Time Algorithms – p. 42/42