Graph & Geometry Problems in Data Streams 2009 Barbados Workshop - - PowerPoint PPT Presentation

graph geometry problems in data streams
SMART_READER_LITE
LIVE PREVIEW

Graph & Geometry Problems in Data Streams 2009 Barbados Workshop - - PowerPoint PPT Presentation

Graph & Geometry Problems in Data Streams 2009 Barbados Workshop on Computational Complexity Andrew McGregor Introduction Models: Graph Streams: Stream of edges E = { e 1 , e 2 , . . . , e m } describe a graph G on n nodes. Estimate


slide-1
SLIDE 1

Graph & Geometry Problems in Data Streams

2009 Barbados Workshop on Computational Complexity Andrew McGregor

slide-2
SLIDE 2

Introduction

Models:

◮ Graph Streams: Stream of edges E = {e1, e2, . . . , em}

describe a graph G on n nodes. Estimate properties of G.

◮ Geometric Streams: Stream of points X = {p1, p2, . . . , pm}

from some metric space (X, d). Estimate properties of X.

slide-3
SLIDE 3

Introduction

Models:

◮ Graph Streams: Stream of edges E = {e1, e2, . . . , em}

describe a graph G on n nodes. Estimate properties of G.

◮ Geometric Streams: Stream of points X = {p1, p2, . . . , pm}

from some metric space (X, d). Estimate properties of X. Notes:

◮ ˜

O is our friend: we’ll hide dependence on polylog(m, n) terms.

◮ Assume that pi can be stored in ˜

O(1) space and d(pi, pj) can be calculated if both pi and pj are stored in memory.

◮ Theory isn’t as cohesive but we get to cherry-pick results. . .

slide-4
SLIDE 4

Counting Triangles Matching Clustering Graph Distances

slide-5
SLIDE 5

Outline

Counting Triangles Matching Clustering Graph Distances

slide-6
SLIDE 6

Triangles

Problem

Given a stream of edges, estimate the number of triangles T3 up to a factor (1 + ǫ) with probability 1 − δ given promise that T3 > t.

slide-7
SLIDE 7

Triangles

Problem

Given a stream of edges, estimate the number of triangles T3 up to a factor (1 + ǫ) with probability 1 − δ given promise that T3 > t.

Warm-Up

What’s an algorithm using O(ǫ−2(n3/t) log δ−1) space?

slide-8
SLIDE 8

Triangles

Problem

Given a stream of edges, estimate the number of triangles T3 up to a factor (1 + ǫ) with probability 1 − δ given promise that T3 > t.

Warm-Up

What’s an algorithm using O(ǫ−2(n3/t) log δ−1) space?

Theorem

Ω(n2) space required to determine if t = 0 (with δ = 1/3).

slide-9
SLIDE 9

Triangles

Problem

Given a stream of edges, estimate the number of triangles T3 up to a factor (1 + ǫ) with probability 1 − δ given promise that T3 > t.

Warm-Up

What’s an algorithm using O(ǫ−2(n3/t) log δ−1) space?

Theorem

Ω(n2) space required to determine if t = 0 (with δ = 1/3).

Theorem (Sivakumar et al. 2002)

˜ O(ǫ−2(nm/t)2 log δ−1) space is sufficient.

slide-10
SLIDE 10

Triangles

Problem

Given a stream of edges, estimate the number of triangles T3 up to a factor (1 + ǫ) with probability 1 − δ given promise that T3 > t.

Warm-Up

What’s an algorithm using O(ǫ−2(n3/t) log δ−1) space?

Theorem

Ω(n2) space required to determine if t = 0 (with δ = 1/3).

Theorem (Sivakumar et al. 2002)

˜ O(ǫ−2(nm/t)2 log δ−1) space is sufficient.

Theorem (Buriol et al. 2006)

˜ O(ǫ−2(nm/t) log δ−1) space is sufficient.

slide-11
SLIDE 11

Lower Bound

Theorem

Ω(n2) space required to determine if T3 = 0 when δ = 1/3.

slide-12
SLIDE 12

Lower Bound

Theorem

Ω(n2) space required to determine if T3 = 0 when δ = 1/3.

◮ Reduce from set-disjointness: Alice has n × n binary matrix A,

Bob has n × n binary matrix B. Is Aij = Bij = 1 for some (i, j)? Needs Ω(n2) bits of communication [Razborov 1992].

slide-13
SLIDE 13

Lower Bound

Theorem

Ω(n2) space required to determine if T3 = 0 when δ = 1/3.

◮ Reduce from set-disjointness: Alice has n × n binary matrix A,

Bob has n × n binary matrix B. Is Aij = Bij = 1 for some (i, j)? Needs Ω(n2) bits of communication [Razborov 1992].

◮ Consider graph G = (V , E) with

V = {v1, . . . , vn, u1, . . . , un, w1, . . . , wn} and E = {(vi, ui) : i ∈ [n]}

slide-14
SLIDE 14

Lower Bound

Theorem

Ω(n2) space required to determine if T3 = 0 when δ = 1/3.

◮ Reduce from set-disjointness: Alice has n × n binary matrix A,

Bob has n × n binary matrix B. Is Aij = Bij = 1 for some (i, j)? Needs Ω(n2) bits of communication [Razborov 1992].

◮ Consider graph G = (V , E) with

V = {v1, . . . , vn, u1, . . . , un, w1, . . . , wn} and E = {(vi, ui) : i ∈ [n]}

◮ Alice runs algorithm on G and edges {(ui, wj) : Aij = 1}.

slide-15
SLIDE 15

Lower Bound

Theorem

Ω(n2) space required to determine if T3 = 0 when δ = 1/3.

◮ Reduce from set-disjointness: Alice has n × n binary matrix A,

Bob has n × n binary matrix B. Is Aij = Bij = 1 for some (i, j)? Needs Ω(n2) bits of communication [Razborov 1992].

◮ Consider graph G = (V , E) with

V = {v1, . . . , vn, u1, . . . , un, w1, . . . , wn} and E = {(vi, ui) : i ∈ [n]}

◮ Alice runs algorithm on G and edges {(ui, wj) : Aij = 1}. ◮ Bob continues running algorithm on edges {(vi, wj) : Bij = 1}.

slide-16
SLIDE 16

Lower Bound

Theorem

Ω(n2) space required to determine if T3 = 0 when δ = 1/3.

◮ Reduce from set-disjointness: Alice has n × n binary matrix A,

Bob has n × n binary matrix B. Is Aij = Bij = 1 for some (i, j)? Needs Ω(n2) bits of communication [Razborov 1992].

◮ Consider graph G = (V , E) with

V = {v1, . . . , vn, u1, . . . , un, w1, . . . , wn} and E = {(vi, ui) : i ∈ [n]}

◮ Alice runs algorithm on G and edges {(ui, wj) : Aij = 1}. ◮ Bob continues running algorithm on edges {(vi, wj) : Bij = 1}. ◮ T3 > 0 iff Aij = Bij = 1 for some (i, j).

slide-17
SLIDE 17

First Algorithm

Theorem (Sivakumar et al. 2002)

˜ O(ǫ−2(nm/T3)2 log δ−1) space is sufficient.

slide-18
SLIDE 18

First Algorithm

Theorem (Sivakumar et al. 2002)

˜ O(ǫ−2(nm/T3)2 log δ−1) space is sufficient.

◮ Given stream of edges induce stream of node-triples:

edge (u, v) gives rise to {u, v, w} for w ∈ V \ {u, v}

slide-19
SLIDE 19

First Algorithm

Theorem (Sivakumar et al. 2002)

˜ O(ǫ−2(nm/T3)2 log δ−1) space is sufficient.

◮ Given stream of edges induce stream of node-triples:

edge (u, v) gives rise to {u, v, w} for w ∈ V \ {u, v}

◮ Consider Fk = (freq. of {u,v,w})k and note

  F0 F1 F2   =   1 1 1 1 2 3 1 4 9     T1 T2 T3   where Ti is the set of node-triples having exactly i edges in the induced subgraph.

slide-20
SLIDE 20

First Algorithm

Theorem (Sivakumar et al. 2002)

˜ O(ǫ−2(nm/T3)2 log δ−1) space is sufficient.

◮ Given stream of edges induce stream of node-triples:

edge (u, v) gives rise to {u, v, w} for w ∈ V \ {u, v}

◮ Consider Fk = (freq. of {u,v,w})k and note

  F0 F1 F2   =   1 1 1 1 2 3 1 4 9     T1 T2 T3   where Ti is the set of node-triples having exactly i edges in the induced subgraph.

◮ T3 = F0 − 3F1/2 + F2/2 so good approx. for F0, F1, F2 suffice.

slide-21
SLIDE 21

Second Algorithm

Theorem (Buriol et al. 2006)

˜ O(ǫ−2(nm/T3) log δ−1) space is sufficient.

slide-22
SLIDE 22

Second Algorithm

Theorem (Buriol et al. 2006)

˜ O(ǫ−2(nm/T3) log δ−1) space is sufficient.

◮ Pick an edge ei = (u, v) uniformly at random from the stream.

slide-23
SLIDE 23

Second Algorithm

Theorem (Buriol et al. 2006)

˜ O(ǫ−2(nm/T3) log δ−1) space is sufficient.

◮ Pick an edge ei = (u, v) uniformly at random from the stream. ◮ Pick w uniformly at random from V \ {u, v}

slide-24
SLIDE 24

Second Algorithm

Theorem (Buriol et al. 2006)

˜ O(ǫ−2(nm/T3) log δ−1) space is sufficient.

◮ Pick an edge ei = (u, v) uniformly at random from the stream. ◮ Pick w uniformly at random from V \ {u, v} ◮ If ej = (u, w), ek = (v, w) for j, k > i exist return 1; else 0.

slide-25
SLIDE 25

Second Algorithm

Theorem (Buriol et al. 2006)

˜ O(ǫ−2(nm/T3) log δ−1) space is sufficient.

◮ Pick an edge ei = (u, v) uniformly at random from the stream. ◮ Pick w uniformly at random from V \ {u, v} ◮ If ej = (u, w), ek = (v, w) for j, k > i exist return 1; else 0.

Lemma

Expected outcome of algorithm is

T3 3m(n−2).

slide-26
SLIDE 26

Second Algorithm

Theorem (Buriol et al. 2006)

˜ O(ǫ−2(nm/T3) log δ−1) space is sufficient.

◮ Pick an edge ei = (u, v) uniformly at random from the stream. ◮ Pick w uniformly at random from V \ {u, v} ◮ If ej = (u, w), ek = (v, w) for j, k > i exist return 1; else 0.

Lemma

Expected outcome of algorithm is

T3 3m(n−2). ◮ Repeat O(ǫ−2(mn/t) log δ−1) times in parallel and scale

average up by 3m(n − 2).

slide-27
SLIDE 27

Outline

Counting Triangles Matching Clustering Graph Distances

slide-28
SLIDE 28

Maximum Weight Matching

Problem

Stream of weighted edges (e, we): Find M ⊂ E that maximizes

  • e∈M we such that no two edges in M share an endpoint.
slide-29
SLIDE 29

Maximum Weight Matching

Problem

Stream of weighted edges (e, we): Find M ⊂ E that maximizes

  • e∈M we such that no two edges in M share an endpoint.

Warm-Up

An easy 2 approx. for unweighted case in ˜ O(n) space?

slide-30
SLIDE 30

Maximum Weight Matching

Problem

Stream of weighted edges (e, we): Find M ⊂ E that maximizes

  • e∈M we such that no two edges in M share an endpoint.

Warm-Up

An easy 2 approx. for unweighted case in ˜ O(n) space?

Theorem

3 + 2 √ 2 = 5.83 . . . approx. in ˜ O(n) space.

slide-31
SLIDE 31

Maximum Weight Matching

Problem

Stream of weighted edges (e, we): Find M ⊂ E that maximizes

  • e∈M we such that no two edges in M share an endpoint.

Warm-Up

An easy 2 approx. for unweighted case in ˜ O(n) space?

Theorem

3 + 2 √ 2 = 5.83 . . . approx. in ˜ O(n) space. Improved to 5.59. . . [Mariano 07] and 5.24. . . [Sarma et al. 09].

slide-32
SLIDE 32

Maximum Weight Matching

Problem

Stream of weighted edges (e, we): Find M ⊂ E that maximizes

  • e∈M we such that no two edges in M share an endpoint.

Warm-Up

An easy 2 approx. for unweighted case in ˜ O(n) space?

Theorem

3 + 2 √ 2 = 5.83 . . . approx. in ˜ O(n) space. Improved to 5.59. . . [Mariano 07] and 5.24. . . [Sarma et al. 09].

Open Problem

Prove a lower bound or a much better algorithm!

slide-33
SLIDE 33

An Algorithm

◮ At all times maintain a matching M, initially M = ∅.

slide-34
SLIDE 34

An Algorithm

◮ At all times maintain a matching M, initially M = ∅. ◮ On seeing e = (u, v), suppose e′ = (u, u1), e′′ = (v, u2) ∈ M

slide-35
SLIDE 35

An Algorithm

◮ At all times maintain a matching M, initially M = ∅. ◮ On seeing e = (u, v), suppose e′ = (u, u1), e′′ = (v, u2) ∈ M ◮ If we ≥ (1 + γ)(we′ + we′′), M ← M ∪ {e} \ {e′, e′′}

slide-36
SLIDE 36

An Algorithm

◮ At all times maintain a matching M, initially M = ∅. ◮ On seeing e = (u, v), suppose e′ = (u, u1), e′′ = (v, u2) ∈ M ◮ If we ≥ (1 + γ)(we′ + we′′), M ← M ∪ {e} \ {e′, e′′}

For the analysis we use the following definitions to describe the execution of the algorithm:

slide-37
SLIDE 37

An Algorithm

◮ At all times maintain a matching M, initially M = ∅. ◮ On seeing e = (u, v), suppose e′ = (u, u1), e′′ = (v, u2) ∈ M ◮ If we ≥ (1 + γ)(we′ + we′′), M ← M ∪ {e} \ {e′, e′′}

For the analysis we use the following definitions to describe the execution of the algorithm:

slide-38
SLIDE 38

An Algorithm

◮ At all times maintain a matching M, initially M = ∅. ◮ On seeing e = (u, v), suppose e′ = (u, u1), e′′ = (v, u2) ∈ M ◮ If we ≥ (1 + γ)(we′ + we′′), M ← M ∪ {e} \ {e′, e′′}

For the analysis we use the following definitions to describe the execution of the algorithm:

◮ An edge e kills an edge e′ if e′ was removed when e arrives.

slide-39
SLIDE 39

An Algorithm

◮ At all times maintain a matching M, initially M = ∅. ◮ On seeing e = (u, v), suppose e′ = (u, u1), e′′ = (v, u2) ∈ M ◮ If we ≥ (1 + γ)(we′ + we′′), M ← M ∪ {e} \ {e′, e′′}

For the analysis we use the following definitions to describe the execution of the algorithm:

◮ An edge e kills an edge e′ if e′ was removed when e arrives. ◮ We say an edge is a survivor if it’s in the final matching.

slide-40
SLIDE 40

An Algorithm

◮ At all times maintain a matching M, initially M = ∅. ◮ On seeing e = (u, v), suppose e′ = (u, u1), e′′ = (v, u2) ∈ M ◮ If we ≥ (1 + γ)(we′ + we′′), M ← M ∪ {e} \ {e′, e′′}

For the analysis we use the following definitions to describe the execution of the algorithm:

◮ An edge e kills an edge e′ if e′ was removed when e arrives. ◮ We say an edge is a survivor if it’s in the final matching. ◮ For survivor e, the trail of the dead is T(e) = C1 ∪ C2 ∪ . . .,

where C0 = {e} and Ci = ∪e′∈Ci−1{edges killed by e′}

slide-41
SLIDE 41

Analysis

Lemma

Let S be set of survivors and w(S) be weight of final matching.

  • 1. w(T(S)) ≤ w(S)/γ
  • 2. opt ≤ (1 + γ) (w(T(S)) + 2w(S))

Approximation factor is 1/γ + 3 + 2γ and γ = 1/ √ 2 gives result.

slide-42
SLIDE 42

Analysis

Lemma

Let S be set of survivors and w(S) be weight of final matching.

  • 1. w(T(S)) ≤ w(S)/γ
  • 2. opt ≤ (1 + γ) (w(T(S)) + 2w(S))

Approximation factor is 1/γ + 3 + 2γ and γ = 1/ √ 2 gives result.

Proof.

slide-43
SLIDE 43

Analysis

Lemma

Let S be set of survivors and w(S) be weight of final matching.

  • 1. w(T(S)) ≤ w(S)/γ
  • 2. opt ≤ (1 + γ) (w(T(S)) + 2w(S))

Approximation factor is 1/γ + 3 + 2γ and γ = 1/ √ 2 gives result.

Proof.

  • 1. Consider e ∈ S:

(1+γ)w(T(e)) =

  • i≥1

(1+γ)w(Ci) ≤

  • i≥0

w(Ci) = w(T(e))+w(e)

slide-44
SLIDE 44

Analysis

Lemma

Let S be set of survivors and w(S) be weight of final matching.

  • 1. w(T(S)) ≤ w(S)/γ
  • 2. opt ≤ (1 + γ) (w(T(S)) + 2w(S))

Approximation factor is 1/γ + 3 + 2γ and γ = 1/ √ 2 gives result.

Proof.

  • 1. Consider e ∈ S:

(1+γ)w(T(e)) =

  • i≥1

(1+γ)w(Ci) ≤

  • i≥0

w(Ci) = w(T(e))+w(e)

  • 2. Can charge the weights of edges in opt to the S ∪ T(S) such

that each edge e ∈ T(S) is charged at most (1 + γ)w(e) and each edge e ∈ S is charged at most 2(1 + γ)w(e).

slide-45
SLIDE 45

Outline

Counting Triangles Matching Clustering Graph Distances

slide-46
SLIDE 46

k-center

Problem

Given a stream of distinct points X = {p1, . . . , pn} from a metric space (X, d), find the set of k points Y ⊂ X that minimizes: max

i

min

y∈Y d(pi, y)

slide-47
SLIDE 47

k-center

Problem

Given a stream of distinct points X = {p1, . . . , pn} from a metric space (X, d), find the set of k points Y ⊂ X that minimizes: max

i

min

y∈Y d(pi, y)

Warm-Up

◮ Find 2-approx. if you’re given opt. ◮ Find (2 + ǫ)-approx. if you’re given that a ≤ opt ≤ b

slide-48
SLIDE 48

k-center

Problem

Given a stream of distinct points X = {p1, . . . , pn} from a metric space (X, d), find the set of k points Y ⊂ X that minimizes: max

i

min

y∈Y d(pi, y)

Warm-Up

◮ Find 2-approx. if you’re given opt. ◮ Find (2 + ǫ)-approx. if you’re given that a ≤ opt ≤ b

Theorem (Khuller and McCutchen 2009, Guha 2009)

(2 + ǫ) approx. for metric k-center in ˜ O(kǫ−1 log ǫ−1) space.

slide-49
SLIDE 49

k-center: Algorithm and Analysis

◮ Consider first k + 1 points: this gives a lower bound a on opt.

slide-50
SLIDE 50

k-center: Algorithm and Analysis

◮ Consider first k + 1 points: this gives a lower bound a on opt. ◮ Instantiate basic algorithm with guesses

ℓ1 = a, ℓ2 = (1 + ǫ)a, ℓ3 = (1 + ǫ)2a, . . . ℓ1+t = O(ǫ−1)a

slide-51
SLIDE 51

k-center: Algorithm and Analysis

◮ Consider first k + 1 points: this gives a lower bound a on opt. ◮ Instantiate basic algorithm with guesses

ℓ1 = a, ℓ2 = (1 + ǫ)a, ℓ3 = (1 + ǫ)2a, . . . ℓ1+t = O(ǫ−1)a

◮ Say instantiation goes bad if it tries to open (k + 1)-th center

slide-52
SLIDE 52

k-center: Algorithm and Analysis

◮ Consider first k + 1 points: this gives a lower bound a on opt. ◮ Instantiate basic algorithm with guesses

ℓ1 = a, ℓ2 = (1 + ǫ)a, ℓ3 = (1 + ǫ)2a, . . . ℓ1+t = O(ǫ−1)a

◮ Say instantiation goes bad if it tries to open (k + 1)-th center ◮ Suppose instantiation with guess ℓ goes bad when processing

(j + 1)-th point

slide-53
SLIDE 53

k-center: Algorithm and Analysis

◮ Consider first k + 1 points: this gives a lower bound a on opt. ◮ Instantiate basic algorithm with guesses

ℓ1 = a, ℓ2 = (1 + ǫ)a, ℓ3 = (1 + ǫ)2a, . . . ℓ1+t = O(ǫ−1)a

◮ Say instantiation goes bad if it tries to open (k + 1)-th center ◮ Suppose instantiation with guess ℓ goes bad when processing

(j + 1)-th point

◮ Let q1, . . . , qk be centers chosen so far.

slide-54
SLIDE 54

k-center: Algorithm and Analysis

◮ Consider first k + 1 points: this gives a lower bound a on opt. ◮ Instantiate basic algorithm with guesses

ℓ1 = a, ℓ2 = (1 + ǫ)a, ℓ3 = (1 + ǫ)2a, . . . ℓ1+t = O(ǫ−1)a

◮ Say instantiation goes bad if it tries to open (k + 1)-th center ◮ Suppose instantiation with guess ℓ goes bad when processing

(j + 1)-th point

◮ Let q1, . . . , qk be centers chosen so far. ◮ Then p1, . . . , pj are all at most 2ℓ from a qi.

slide-55
SLIDE 55

k-center: Algorithm and Analysis

◮ Consider first k + 1 points: this gives a lower bound a on opt. ◮ Instantiate basic algorithm with guesses

ℓ1 = a, ℓ2 = (1 + ǫ)a, ℓ3 = (1 + ǫ)2a, . . . ℓ1+t = O(ǫ−1)a

◮ Say instantiation goes bad if it tries to open (k + 1)-th center ◮ Suppose instantiation with guess ℓ goes bad when processing

(j + 1)-th point

◮ Let q1, . . . , qk be centers chosen so far. ◮ Then p1, . . . , pj are all at most 2ℓ from a qi. ◮ Optimum for {q1, . . . , qk, pj+1, . . . , pn} is at most opt + 2ℓ.

slide-56
SLIDE 56

k-center: Algorithm and Analysis

◮ Consider first k + 1 points: this gives a lower bound a on opt. ◮ Instantiate basic algorithm with guesses

ℓ1 = a, ℓ2 = (1 + ǫ)a, ℓ3 = (1 + ǫ)2a, . . . ℓ1+t = O(ǫ−1)a

◮ Say instantiation goes bad if it tries to open (k + 1)-th center ◮ Suppose instantiation with guess ℓ goes bad when processing

(j + 1)-th point

◮ Let q1, . . . , qk be centers chosen so far. ◮ Then p1, . . . , pj are all at most 2ℓ from a qi. ◮ Optimum for {q1, . . . , qk, pj+1, . . . , pn} is at most opt + 2ℓ.

◮ Hence, for an instantiation with guess 2ℓ/ǫ only incurs a small

if we use {q1, . . . , qk, pj+1, . . . , pn} rather than {p1, . . . , pn}.

slide-57
SLIDE 57

Outline

Counting Triangles Matching Clustering Graph Distances

slide-58
SLIDE 58

Distance Estimation

Problem

Stream of unweighted edges E defines a shortest path graph metric dG : V × V → N. For u, v ∈ V , estimate dG(u, v).

slide-59
SLIDE 59

Distance Estimation

Problem

Stream of unweighted edges E defines a shortest path graph metric dG : V × V → N. For u, v ∈ V , estimate dG(u, v).

Definition

An α-spanner of a graph G = (V , E) is a subgraph H = (V , E ′) such that for all u, v, dG(u, v) ≤ dH(u, v) ≤ αdG(u, v)

slide-60
SLIDE 60

Distance Estimation

Problem

Stream of unweighted edges E defines a shortest path graph metric dG : V × V → N. For u, v ∈ V , estimate dG(u, v).

Definition

An α-spanner of a graph G = (V , E) is a subgraph H = (V , E ′) such that for all u, v, dG(u, v) ≤ dH(u, v) ≤ αdG(u, v)

Warm-Up

2t − 1 spanner using ˜ O(n1+1/t) space.

slide-61
SLIDE 61

Distance Estimation

Problem

Stream of unweighted edges E defines a shortest path graph metric dG : V × V → N. For u, v ∈ V , estimate dG(u, v).

Definition

An α-spanner of a graph G = (V , E) is a subgraph H = (V , E ′) such that for all u, v, dG(u, v) ≤ dH(u, v) ≤ αdG(u, v)

Warm-Up

2t − 1 spanner using ˜ O(n1+1/t) space.

Theorem (Elkin 2007)

2t − 1 stretch spanner using ˜ O(n1+1/t) space with constant update time.

slide-62
SLIDE 62

Towards better results if you’re allowed mulitple passes. . .

Problem

Can we get better approximation for dG(u, v) with multiple passes?

slide-63
SLIDE 63

Towards better results if you’re allowed mulitple passes. . .

Problem

Can we get better approximation for dG(u, v) with multiple passes?

Warm-Up

Find dG(u, v) exactly in ˜ O(n1+γ) space and ˜ O(n1−γ) passes.

slide-64
SLIDE 64

Towards better results if you’re allowed mulitple passes. . .

Problem

Can we get better approximation for dG(u, v) with multiple passes?

Warm-Up

Find dG(u, v) exactly in ˜ O(n1+γ) space and ˜ O(n1−γ) passes.

Theorem

O(k) approx in ˜ O(n) space with O(n1/k) passes.

slide-65
SLIDE 65

Towards better results if you’re allowed mulitple passes. . .

Problem

Can we get better approximation for dG(u, v) with multiple passes?

Warm-Up

Find dG(u, v) exactly in ˜ O(n1+γ) space and ˜ O(n1−γ) passes.

Theorem

O(k) approx in ˜ O(n) space with O(n1/k) passes.

Theorem (via Thorup, Zwick 2006)

(1 + ǫ) approx in ˜ O(n) space with nO(log ǫ−1)/ log log n passes.

slide-66
SLIDE 66

Ramsey Partition Approach

Definition (Mendel, Naor 2006)

Ramsey Partition P∆ is a random partion of metric space. Each cluster has diameter at most ∆ and for t ≤ ∆/8, Pr(BX(x, t) ∈ P∆) ≥ |BX(x, ∆/8)| |BX(x, ∆)| 16t/∆ ≥ 1 n 16t/∆ . Can construct in stream model in ˜ O(n) space and O(∆) passes.

slide-67
SLIDE 67

Ramsey Partition Approach

Definition (Mendel, Naor 2006)

Ramsey Partition P∆ is a random partion of metric space. Each cluster has diameter at most ∆ and for t ≤ ∆/8, Pr(BX(x, t) ∈ P∆) ≥ |BX(x, ∆/8)| |BX(x, ∆)| 16t/∆ ≥ 1 n 16t/∆ . Can construct in stream model in ˜ O(n) space and O(∆) passes.

Algorithm

  • 1. Sample “beacons” b1, . . . , bn1−1/k including s and t from V
slide-68
SLIDE 68

Ramsey Partition Approach

Definition (Mendel, Naor 2006)

Ramsey Partition P∆ is a random partion of metric space. Each cluster has diameter at most ∆ and for t ≤ ∆/8, Pr(BX(x, t) ∈ P∆) ≥ |BX(x, ∆/8)| |BX(x, ∆)| 16t/∆ ≥ 1 n 16t/∆ . Can construct in stream model in ˜ O(n) space and O(∆) passes.

Algorithm

  • 1. Sample “beacons” b1, . . . , bn1−1/k including s and t from V
  • 2. Repeat O(n1/k log n) times:

2.1 Create RP with diameter ∆ ≈ kn1/k and consider t ≈ n1/k. 2.2 For each beacon, add ∆-weighted edge to center of its cluster.

slide-69
SLIDE 69

Summary: We looked at some nice problems, our curiousity is piqued, and now we want to start finding more problems to solve. Thanks!