Graph Distances in the Streaming Model Joan Feigenbaum Sampath - - PowerPoint PPT Presentation

graph distances in the streaming model
SMART_READER_LITE
LIVE PREVIEW

Graph Distances in the Streaming Model Joan Feigenbaum Sampath - - PowerPoint PPT Presentation

Graph Distances in the Streaming Model Joan Feigenbaum Sampath Kannan Andrew McGregor Siddharth Suri & Jian Zhang The Streaming Model The Streaming Model Classic Problem: Median Finding The Streaming Model Classic Problem:


slide-1
SLIDE 1

Graph Distances in the Streaming Model

Joan Feigenbaum Sampath Kannan Andrew McGregor Siddharth Suri & Jian Zhang

slide-2
SLIDE 2

The Streaming Model

slide-3
SLIDE 3

The Streaming Model

  • Classic Problem: Median Finding
slide-4
SLIDE 4

The Streaming Model

  • Classic Problem: Median Finding
  • Parameters of the Model:

– How much memory? – How many passes? – How much computation time between data elements?

slide-5
SLIDE 5

The Streaming Model

  • Classic Problem: Median Finding
  • Parameters of the Model:

– How much memory? – How many passes? – How much computation time between data elements?

  • Statistics, Norms and Histograms…
slide-6
SLIDE 6

The Streaming Model

  • Classic Problem: Median Finding
  • Parameters of the Model:

– How much memory? – How many passes? – How much computation time between data elements?

  • Statistics, Norms and Histograms…
  • What about graph problems?
slide-7
SLIDE 7

Graph Streaming

slide-8
SLIDE 8

Graph Streaming

  • Consider an instance of a graph problem G=(V,E)
slide-9
SLIDE 9

Graph Streaming

  • Consider an instance of a graph problem G=(V,E)
  • The edges are revealed to us in some arbitrary order

(e1, e2, e3, …)

slide-10
SLIDE 10

Graph Streaming

  • Consider an instance of a graph problem G=(V,E)
  • The edges are revealed to us in some arbitrary order

(e1, e2, e3, …)

  • We focus on the memory limit O(n polylog n).
slide-11
SLIDE 11

Overview

  • Efficient Spanner Construction
  • Lower Bounds for Approximation Factors
  • Hardness of Constructing BFS
slide-12
SLIDE 12
  • 1. Spanner Construction
slide-13
SLIDE 13

Spanner Construction

slide-14
SLIDE 14

Spanner Construction

  • t-Spanner of Graph G: Subgraph H where no

distance is stretched by more than factor t.

slide-15
SLIDE 15

Spanner Construction

  • t-Spanner of Graph G: Subgraph H where no

distance is stretched by more than factor t.

slide-16
SLIDE 16

Spanner Construction

  • t-Spanner of Graph G: Subgraph H where no

distance is stretched by more than factor t.

  • Main result: Randomized algorithm for log n-spanner

using O(n polylog n) space and O(polylog n) time per edge.

slide-17
SLIDE 17

Spanner Construction

  • t-Spanner of Graph G: Subgraph H where no

distance is stretched by more than factor t.

  • Main result: Randomized algorithm for log n-spanner

using O(n polylog n) space and O(polylog n) time per edge.

slide-18
SLIDE 18

Spanner Construction

  • t-Spanner of Graph G: Subgraph H where no

distance is stretched by more than factor t.

  • Main result: Randomized algorithm for log n-spanner

using O(n polylog n) space and O(polylog n) time per edge.

  • Naive Algorithm: If an edge completes a short cycle,

ignore it.

slide-19
SLIDE 19

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

  • Assign an initial set of labels L(v) to each vertex v:
slide-20
SLIDE 20

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12)

  • Assign an initial set of labels L(v) to each vertex v:
slide-21
SLIDE 21

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0

slide-22
SLIDE 22

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0

slide-23
SLIDE 23

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0 Level 1

slide-24
SLIDE 24

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11) (2,2) (2,7)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0 Level 1

slide-25
SLIDE 25

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11) (2,2) (2,7)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0 Level 1 Level 2

slide-26
SLIDE 26

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11) (2,2) (2,7)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0 Level 1 Level 2

slide-27
SLIDE 27

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 L(v2)

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11) (2,2) (2,7)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0 Level 1 Level 2

slide-28
SLIDE 28

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 L(v2)

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11) (2,2) (2,7)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0 Level 1 Level 2

slide-29
SLIDE 29

Our Algorithm for a 2t+1 Spanner

  • Stop at top level labels of height t/2
  • C(l) = cluster of nodes with label l
  • As edges stream in we grow L(.) and C(.)

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 L(v2)

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11) (2,2) (2,7)

  • Assign an initial set of labels L(v) to each vertex v:

Level 0 Level 1 Level 2

slide-30
SLIDE 30

Types of edges in Spanner:

  • Spanning trees for each C(l)
  • Set T of edges connecting clusters at top level
  • For each vertex v, set of edges M(v) to neighbours of v.

Invariants:

  • Each vertex occurs in at most one cluster per level.
  • If l ∈ L(v) and l’=Succ(l ) then l’ ∈ L(v)
slide-31
SLIDE 31

On arrival of edge e =(u,v)…

slide-32
SLIDE 32

On arrival of edge e =(u,v)…

  • If u and v have a label in common then ignore.
slide-33
SLIDE 33

On arrival of edge e =(u,v)…

  • If u and v have a label in common then ignore.
slide-34
SLIDE 34

On arrival of edge e =(u,v)…

  • If u and v have a label in common then ignore.
  • If u and v both have top layer labels then add to T

(unless there’s already an edge between these labels)

slide-35
SLIDE 35

On arrival of edge e =(u,v)…

  • If u and v have a label in common then ignore.
  • If u and v both have top layer labels then add to T

(unless there’s already an edge between these labels)

slide-36
SLIDE 36

On arrival of edge e =(u,v)…

  • If u and v have a label in common then ignore.
  • If u and v both have top layer labels then add to T

(unless there’s already an edge between these labels)

  • Let Lu (v) = all labels in L(u) higher than L(v):
slide-37
SLIDE 37

On arrival of edge e =(u,v)…

  • If u and v have a label in common then ignore.
  • If u and v both have top layer labels then add to T

(unless there’s already an edge between these labels)

  • Let Lu (v) = all labels in L(u) higher than L(v):

– If Lu (v) contains a selected label l, choose the smallest and add all the successors (l’, l’’…) of l to L(v). Add e to C(l’), C(l’’)... – If Lu (v) doesn’t contains a selected label, add e to M(v) if it doesn’t contain a u’ with the same label as u.

slide-38
SLIDE 38

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11) (2,2) (2,7)

slide-39
SLIDE 39

(v2,v6): Lv2(v6) = {(0,2),(1,2),(2,2)}

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(2,2) (2,7) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11)

slide-40
SLIDE 40

(v2,v6): Lv2(v6) = {(0,2),(1,2),(2,2)} L(v6) = L(v6) U {(1,2),(2,2)}. Add (v2,v6) to spanning trees for clusters C(1,2) and C(2,2).

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(2,2) (2,7) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,7) (1,11)

slide-41
SLIDE 41

(v2,v6): Lv2(v6) = {(0,2),(1,2),(2,2)} L(v6) = L(v6) U {(1,2),(2,2)}. Add (v2,v6) to spanning trees for clusters C(1,2) and C(2,2).

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(2,2) (2,2) (2,7) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,2) (1,4) (1,2) (1,7) (1,11)

slide-42
SLIDE 42

Proofs: Graph Created is Sparse

slide-43
SLIDE 43

Proofs: Graph Created is Sparse

  • |T| = O(n) w.h.p:
slide-44
SLIDE 44

Proofs: Graph Created is Sparse

  • |T| = O(n) w.h.p:

With high probability, # of clusters at top level is O(√n).

slide-45
SLIDE 45

Proofs: Graph Created is Sparse

  • |T| = O(n) w.h.p:

With high probability, # of clusters at top level is O(√n).

slide-46
SLIDE 46

Proofs: Graph Created is Sparse

  • |T| = O(n) w.h.p:

With high probability, # of clusters at top level is O(√n).

  • Total size of all cluster trees is O(t n):
slide-47
SLIDE 47

Proofs: Graph Created is Sparse

  • |T| = O(n) w.h.p:

With high probability, # of clusters at top level is O(√n).

  • Total size of all cluster trees is O(t n):

Each vertex appears at most in one cluster at each level.

slide-48
SLIDE 48

Proofs: Graph Created is Sparse

  • |T| = O(n) w.h.p:

With high probability, # of clusters at top level is O(√n).

  • Total size of all cluster trees is O(t n):

Each vertex appears at most in one cluster at each level.

slide-49
SLIDE 49

Proofs: Graph Created is Sparse

  • |T| = O(n) w.h.p:

With high probability, # of clusters at top level is O(√n).

  • Total size of all cluster trees is O(t n):

Each vertex appears at most in one cluster at each level.

  • |M(v)| = O(t n1/t log n) for each v w.h.p:
slide-50
SLIDE 50

Proofs: Graph Created is Sparse

  • |T| = O(n) w.h.p:

With high probability, # of clusters at top level is O(√n).

  • Total size of all cluster trees is O(t n):

Each vertex appears at most in one cluster at each level.

  • |M(v)| = O(t n1/t log n) for each v w.h.p:

Each edge added to M(v) corresponds to an unselected label… hence # has geometric distribution.

slide-51
SLIDE 51

Proofs: Graph is a 2t+1 spanner

  • Spanning tree of ith level cluster has diameter ≤ 2i

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,1) (2,1) (3,1) (4,1)

slide-52
SLIDE 52

Proofs: Graph is a 2t+1 spanner

  • Spanning tree of ith level cluster has diameter ≤ 2i

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,1) (1,1) (2,1) (2,1) (3,1) (3,1) (4,1) (4,1)

slide-53
SLIDE 53

Proofs: Graph is a 2t+1 spanner

  • Spanning tree of ith level cluster has diameter ≤ 2i

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,1) (1,1) (2,1) (2,1) (2,1) (3,1) (3,1) (3,1) (4,1) (4,1) (4,1)

slide-54
SLIDE 54

Proofs: Graph is a 2t+1 spanner

  • Spanning tree of ith level cluster has diameter ≤ 2i

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,1) (1,1) (2,1) (2,1) (2,1) (3,1) (3,1) (3,1) (3,1) (4,1) (4,1) (4,1) (4,1)

slide-55
SLIDE 55

Proofs: Graph is a 2t+1 spanner

  • Spanning tree of ith level cluster has diameter ≤ 2i

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12

(0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,1) (1,1) (2,1) (2,1) (2,1) (3,1) (3,1) (3,1) (3,1) (4,1) (4,1) (4,1) (4,1) (4,1)

slide-56
SLIDE 56

Proofs: Graph is a 2t+1 spanner

  • Spanning tree of ith level cluster has diameter ≤ 2i
  • For each edge ignored there is a short detour:

– If u and v have an label l in common they are ≤ t apart. – If u and v have top level labels then they are ≤ 2t+1 apart. – If (u,v) not added to M(v) there was an edge (u’,v) in M (v) with u’ in same cluster as u. Then they are ≤ t+1 apart.

slide-57
SLIDE 57
  • 2. Lower Bounds

Lower

slide-58
SLIDE 58
  • 2. Lower Bounds
slide-59
SLIDE 59

Estimating a Distance

slide-60
SLIDE 60

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

slide-61
SLIDE 61

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

slide-62
SLIDE 62

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

slide-63
SLIDE 63

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

slide-64
SLIDE 64

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

slide-65
SLIDE 65

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

slide-66
SLIDE 66

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

slide-67
SLIDE 67

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

slide-68
SLIDE 68

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

slide-69
SLIDE 69

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

slide-70
SLIDE 70

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

  • In one pass it is not possible to approximate the distance to

better than 1/γ factor using space o(n1+ γ).

slide-71
SLIDE 71

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

  • In one pass it is not possible to approximate the distance to

better than 1/γ factor using space o(n1+ γ).

u v H

slide-72
SLIDE 72

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

  • In one pass it is not possible to approximate the distance to

better than 1/γ factor using space o(n1+ γ).

u v H s t

slide-73
SLIDE 73

Estimating a Distance

  • Consider Zombie edges whose original presence can not be

decided from the memory configuration.

  • An edge (u,v) is k-critical if the shortest path from u to v in G\

(u,v) has length at least k.

  • There exists a graph with O(n1+ γ) edges such that the majority
  • f edges are 1/γ-critical. Consider a random subgraph H formed

by deleting at most half the 1/γ-critical edges.

  • In one pass it is not possible to approximate the distance to

better than 1/γ factor using space o(n1+ γ).

u v H s t

slide-74
SLIDE 74
  • 3. Hardness of Computing a BFS
slide-75
SLIDE 75

Layered Graph

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-76
SLIDE 76

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-77
SLIDE 77

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-78
SLIDE 78

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-79
SLIDE 79

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-80
SLIDE 80

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-81
SLIDE 81

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-82
SLIDE 82

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-83
SLIDE 83

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-84
SLIDE 84

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-85
SLIDE 85

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-86
SLIDE 86

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-87
SLIDE 87

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-88
SLIDE 88

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-89
SLIDE 89

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-90
SLIDE 90

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-91
SLIDE 91

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-92
SLIDE 92

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-93
SLIDE 93

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-94
SLIDE 94

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-95
SLIDE 95

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-96
SLIDE 96

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-97
SLIDE 97

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-98
SLIDE 98

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-99
SLIDE 99

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-100
SLIDE 100

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-101
SLIDE 101

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-102
SLIDE 102

Layered Graph

Problem: Find all vertices in layer i that are a distance i from vertex s.

Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 1 s

slide-103
SLIDE 103

Specifics…

  • Each vertex in layer i is connected to (n-1/d)1/2d

vertices in layer i+1 where d is the number of layers.

  • Thm: For all d ∈ {1, … , t/2}, doing a BFS takes d

passes when the space restriction is o(n1+1/t)

slide-104
SLIDE 104

Further Work?

  • Estimating Distances in Multiple Passes?
  • How important is the order of the edges?
slide-105
SLIDE 105

Questions?

slide-106
SLIDE 106

Questions?