Faster Parallel Algorithm for Approximate Shortest Path Jason Li - - PowerPoint PPT Presentation

faster parallel algorithm for approximate shortest path
SMART_READER_LITE
LIVE PREVIEW

Faster Parallel Algorithm for Approximate Shortest Path Jason Li - - PowerPoint PPT Presentation

Faster Parallel Algorithm for Approximate Shortest Path Jason Li (CMU) STOC 2020 March 2, 2020 Introduction Approximate single-source shortest path (SSSP)... Introduction Approximate single-source shortest path (SSSP)... Input:


slide-1
SLIDE 1

Faster Parallel Algorithm for Approximate Shortest Path

Jason Li (CMU) STOC 2020 March 2, 2020

slide-2
SLIDE 2

Introduction

Approximate single-source shortest path (SSSP)...

slide-3
SLIDE 3

Introduction

Approximate single-source shortest path (SSSP)...

  • Input: undirected graph with nonnegative weights, and a

source vertex s

slide-4
SLIDE 4

Introduction

Approximate single-source shortest path (SSSP)...

  • Input: undirected graph with nonnegative weights, and a

source vertex s

  • Output (distances): approximations ˜

d(v) for all v ∈ V satisfying dG(s, v) ≤ ˜ d(v) ≤ (1 + ǫ)dG(s, v)

slide-5
SLIDE 5

Introduction

Approximate single-source shortest path (SSSP)...

  • Input: undirected graph with nonnegative weights, and a

source vertex s

  • Output (distances): approximations ˜

d(v) for all v ∈ V satisfying dG(s, v) ≤ ˜ d(v) ≤ (1 + ǫ)dG(s, v)

  • Output (tree): a spanning tree T satisfying

dG(s, v) ≤ ˜ dT(s, v) ≤ (1 + ǫ)dG(s, v)

slide-6
SLIDE 6

Introduction

Approximate single-source shortest path (SSSP)...

  • Input: undirected graph with nonnegative weights, and a

source vertex s

  • Output (distances): approximations ˜

d(v) for all v ∈ V satisfying dG(s, v) ≤ ˜ d(v) ≤ (1 + ǫ)dG(s, v)

  • Output (tree): a spanning tree T satisfying

dG(s, v) ≤ ˜ dT(s, v) ≤ (1 + ǫ)dG(s, v)

...in parallel

slide-7
SLIDE 7

Introduction

Approximate single-source shortest path (SSSP)...

  • Input: undirected graph with nonnegative weights, and a

source vertex s

  • Output (distances): approximations ˜

d(v) for all v ∈ V satisfying dG(s, v) ≤ ˜ d(v) ≤ (1 + ǫ)dG(s, v)

  • Output (tree): a spanning tree T satisfying

dG(s, v) ≤ ˜ dT(s, v) ≤ (1 + ǫ)dG(s, v)

...in parallel

  • PRAM model: parallel foreach, runs each loop

independently in parallel

slide-8
SLIDE 8

Introduction

Approximate single-source shortest path (SSSP)...

  • Input: undirected graph with nonnegative weights, and a

source vertex s

  • Output (distances): approximations ˜

d(v) for all v ∈ V satisfying dG(s, v) ≤ ˜ d(v) ≤ (1 + ǫ)dG(s, v)

  • Output (tree): a spanning tree T satisfying

dG(s, v) ≤ ˜ dT(s, v) ≤ (1 + ǫ)dG(s, v)

...in parallel

  • PRAM model: parallel foreach, runs each loop

independently in parallel

  • Work: sum of running times of each loop
slide-9
SLIDE 9

Introduction

Approximate single-source shortest path (SSSP)...

  • Input: undirected graph with nonnegative weights, and a

source vertex s

  • Output (distances): approximations ˜

d(v) for all v ∈ V satisfying dG(s, v) ≤ ˜ d(v) ≤ (1 + ǫ)dG(s, v)

  • Output (tree): a spanning tree T satisfying

dG(s, v) ≤ ˜ dT(s, v) ≤ (1 + ǫ)dG(s, v)

...in parallel

  • PRAM model: parallel foreach, runs each loop

independently in parallel

  • Work: sum of running times of each loop
  • Time/Span: max of running times
slide-10
SLIDE 10

Results

Past work

slide-11
SLIDE 11

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

slide-12
SLIDE 12

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

  • Introduced the concept of hopsets, “shortcut edges”
slide-13
SLIDE 13

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

  • Introduced the concept of hopsets, “shortcut edges”
  • polylog(n) factor improved by Elkin and Neiman [’18]
slide-14
SLIDE 14

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

  • Introduced the concept of hopsets, “shortcut edges”
  • polylog(n) factor improved by Elkin and Neiman [’18]
  • Open: m polylog(n) work and polylog(n) time
slide-15
SLIDE 15

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

  • Introduced the concept of hopsets, “shortcut edges”
  • polylog(n) factor improved by Elkin and Neiman [’18]
  • Open: m polylog(n) work and polylog(n) time
  • Surprising lower bound: no hopset-based m polylog(n)

work and polylog(n) time algorithm!

slide-16
SLIDE 16

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

  • Introduced the concept of hopsets, “shortcut edges”
  • polylog(n) factor improved by Elkin and Neiman [’18]
  • Open: m polylog(n) work and polylog(n) time
  • Surprising lower bound: no hopset-based m polylog(n)

work and polylog(n) time algorithm!

Our result

slide-17
SLIDE 17

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

  • Introduced the concept of hopsets, “shortcut edges”
  • polylog(n) factor improved by Elkin and Neiman [’18]
  • Open: m polylog(n) work and polylog(n) time
  • Surprising lower bound: no hopset-based m polylog(n)

work and polylog(n) time algorithm!

Our result

  • m polylog(n) work and polylog(n) time via continuous
  • ptimization
slide-18
SLIDE 18

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

  • Introduced the concept of hopsets, “shortcut edges”
  • polylog(n) factor improved by Elkin and Neiman [’18]
  • Open: m polylog(n) work and polylog(n) time
  • Surprising lower bound: no hopset-based m polylog(n)

work and polylog(n) time algorithm!

Our result

  • m polylog(n) work and polylog(n) time via continuous
  • ptimization
  • Study a continuous relaxation of SSSP

, the minimum transshipment problem

slide-19
SLIDE 19

Results

Past work

  • Cohen [’94]: m1+δ work and polylog(n) time for any

constant δ > 0

  • Introduced the concept of hopsets, “shortcut edges”
  • polylog(n) factor improved by Elkin and Neiman [’18]
  • Open: m polylog(n) work and polylog(n) time
  • Surprising lower bound: no hopset-based m polylog(n)

work and polylog(n) time algorithm!

Our result

  • m polylog(n) work and polylog(n) time via continuous
  • ptimization
  • Study a continuous relaxation of SSSP

, the minimum transshipment problem

  • Concurrently: Andoni, Stein, Zhong [STOC’20] obtain the

same result with similar techniques

slide-20
SLIDE 20

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

slide-21
SLIDE 21

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

  • Input: graph with vertex-edge incidence matrix A ∈ RV×E

and demand vector b ∈ RV satisfying

v bv = 0

slide-22
SLIDE 22

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

  • Input: graph with vertex-edge incidence matrix A ∈ RV×E

and demand vector b ∈ RV satisfying

v bv = 0

  • Constraint: a flow vector f ∈ RE satisfying the flow

constraint Af = b

slide-23
SLIDE 23

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

  • Input: graph with vertex-edge incidence matrix A ∈ RV×E

and demand vector b ∈ RV satisfying

v bv = 0

  • Constraint: a flow vector f ∈ RE satisfying the flow

constraint Af = b

  • Objective: minimize Cf1 =

e cefe

slide-24
SLIDE 24

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

  • Input: graph with vertex-edge incidence matrix A ∈ RV×E

and demand vector b ∈ RV satisfying

v bv = 0

  • Constraint: a flow vector f ∈ RE satisfying the flow

constraint Af = b

  • Objective: minimize Cf1 =

e cefe

  • ℓ1 version of max-flow (which is minimize Cf∞)
slide-25
SLIDE 25

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

  • Input: graph with vertex-edge incidence matrix A ∈ RV×E

and demand vector b ∈ RV satisfying

v bv = 0

  • Constraint: a flow vector f ∈ RE satisfying the flow

constraint Af = b

  • Objective: minimize Cf1 =

e cefe

  • ℓ1 version of max-flow (which is minimize Cf∞)
  • If b =

v(1v − 1s), then best flow sends 1 unit along

shortest s–v path for each v = s

slide-26
SLIDE 26

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

  • Input: graph with vertex-edge incidence matrix A ∈ RV×E

and demand vector b ∈ RV satisfying

v bv = 0

  • Constraint: a flow vector f ∈ RE satisfying the flow

constraint Af = b

  • Objective: minimize Cf1 =

e cefe

  • ℓ1 version of max-flow (which is minimize Cf∞)
  • If b =

v(1v − 1s), then best flow sends 1 unit along

shortest s–v path for each v = s = ⇒ generalizes SSSP in exact case

slide-27
SLIDE 27

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

  • Input: graph with vertex-edge incidence matrix A ∈ RV×E

and demand vector b ∈ RV satisfying

v bv = 0

  • Constraint: a flow vector f ∈ RE satisfying the flow

constraint Af = b

  • Objective: minimize Cf1 =

e cefe

  • ℓ1 version of max-flow (which is minimize Cf∞)
  • If b =

v(1v − 1s), then best flow sends 1 unit along

shortest s–v path for each v = s = ⇒ generalizes SSSP in exact case

  • Approximate versions do not generalize!
slide-28
SLIDE 28

Transshipment

Transshipment, a.k.a. uncapacitated min-cost flow

  • Input: graph with vertex-edge incidence matrix A ∈ RV×E

and demand vector b ∈ RV satisfying

v bv = 0

  • Constraint: a flow vector f ∈ RE satisfying the flow

constraint Af = b

  • Objective: minimize Cf1 =

e cefe

  • ℓ1 version of max-flow (which is minimize Cf∞)
  • If b =

v(1v − 1s), then best flow sends 1 unit along

shortest s–v path for each v = s = ⇒ generalizes SSSP in exact case

  • Approximate versions do not generalize!
  • But can reduce approximate SSSP to polylog(n) many

approximate transshipment calls

slide-29
SLIDE 29

Sherman’s framework

Sherman’s framework

slide-30
SLIDE 30

Sherman’s framework

Sherman’s framework

  • Originally used by Sherman [’13] to solve

(1 + ǫ)-approximate max flow

slide-31
SLIDE 31

Sherman’s framework

Sherman’s framework

  • Originally used by Sherman [’13] to solve

(1 + ǫ)-approximate max flow

  • Reduces (1 + ǫ)-approximate transshipment to computing a

polylog(n)-approximate ℓ1-oblivious routing scheme

slide-32
SLIDE 32

Sherman’s framework

Sherman’s framework

  • Originally used by Sherman [’13] to solve

(1 + ǫ)-approximate max flow

  • Reduces (1 + ǫ)-approximate transshipment to computing a

polylog(n)-approximate ℓ1-oblivious routing scheme

  • Reduction can be interpreted as multiplicative weights

update

slide-33
SLIDE 33

Sherman’s framework

Sherman’s framework

  • Originally used by Sherman [’13] to solve

(1 + ǫ)-approximate max flow

  • Reduces (1 + ǫ)-approximate transshipment to computing a

polylog(n)-approximate ℓ1-oblivious routing scheme

  • Reduction can be interpreted as multiplicative weights

update

ℓ1-oblivious routing

slide-34
SLIDE 34

Sherman’s framework

Sherman’s framework

  • Originally used by Sherman [’13] to solve

(1 + ǫ)-approximate max flow

  • Reduces (1 + ǫ)-approximate transshipment to computing a

polylog(n)-approximate ℓ1-oblivious routing scheme

  • Reduction can be interpreted as multiplicative weights

update

ℓ1-oblivious routing

  • “ℓ1” version of standard oblivious routing for max flow
slide-35
SLIDE 35

Sherman’s framework

Sherman’s framework

  • Originally used by Sherman [’13] to solve

(1 + ǫ)-approximate max flow

  • Reduces (1 + ǫ)-approximate transshipment to computing a

polylog(n)-approximate ℓ1-oblivious routing scheme

  • Reduction can be interpreted as multiplicative weights

update

ℓ1-oblivious routing

  • “ℓ1” version of standard oblivious routing for max flow
  • Main technical contribution: ℓ1-oblivious routing in ˜

O(m) work and polylog(n) time given an ℓ1-embedding of the graph

slide-36
SLIDE 36

Oblivious routing

Reducing to ℓ1-metric

slide-37
SLIDE 37

Oblivious routing

Reducing to ℓ1-metric

  • Bourgain’s embedding: can embed a graph metric into

O(log n) dimensions distortion O(log n) (under ℓ2 metric)

slide-38
SLIDE 38

Oblivious routing

Reducing to ℓ1-metric

  • Bourgain’s embedding: can embed a graph metric into

O(log n) dimensions distortion O(log n) (under ℓ2 metric) = ⇒ O(log1.5 n) distortion under ℓ1 metric

slide-39
SLIDE 39

Oblivious routing

Reducing to ℓ1-metric

  • Bourgain’s embedding: can embed a graph metric into

O(log n) dimensions distortion O(log n) (under ℓ2 metric) = ⇒ O(log1.5 n) distortion under ℓ1 metric

  • Not clear how to do in parallel! (more later)
slide-40
SLIDE 40

Oblivious routing

Reducing to ℓ1-metric

  • Bourgain’s embedding: can embed a graph metric into

O(log n) dimensions distortion O(log n) (under ℓ2 metric) = ⇒ O(log1.5 n) distortion under ℓ1 metric

  • Not clear how to do in parallel! (more later)
  • But if we can do this, then reduces to solving ℓ1-oblivious

routing on ℓ1-metric

slide-41
SLIDE 41

Oblivious routing

Reducing to ℓ1-metric

  • Bourgain’s embedding: can embed a graph metric into

O(log n) dimensions distortion O(log n) (under ℓ2 metric) = ⇒ O(log1.5 n) distortion under ℓ1 metric

  • Not clear how to do in parallel! (more later)
  • But if we can do this, then reduces to solving ℓ1-oblivious

routing on ℓ1-metric

  • Purely geometric problem now: vertices are just points in

ℓ1-space

slide-42
SLIDE 42

Oblivious routing

Oblivious routing on ℓ1-metric

slide-43
SLIDE 43

Oblivious routing

Oblivious routing on ℓ1-metric

  • Input: set of points V ⊆ Zd, and “demand” function

b : V → R (

v∈V b(v) = 0) that is unknown to us.

slide-44
SLIDE 44

Oblivious routing

Oblivious routing on ℓ1-metric

  • Input: set of points V ⊆ Zd, and “demand” function

b : V → R (

v∈V b(v) = 0) that is unknown to us.

  • On each step, choose any two points x, y ∈ Zd and a scalar

c ∈ R, and “shift” c times the demand at x to location y. That is, we simultaneously update b(x) ← b(x) − c ∙ b(x) and b(y) ← b(y) + c ∙ b(x). Pay c ∙ b(x) ∙ |x − y| total cost for this step. (We not know how much we pay!)

slide-45
SLIDE 45

Oblivious routing

Oblivious routing on ℓ1-metric

  • Input: set of points V ⊆ Zd, and “demand” function

b : V → R (

v∈V b(v) = 0) that is unknown to us.

  • On each step, choose any two points x, y ∈ Zd and a scalar

c ∈ R, and “shift” c times the demand at x to location y. That is, we simultaneously update b(x) ← b(x) − c ∙ b(x) and b(y) ← b(y) + c ∙ b(x). Pay c ∙ b(x) ∙ |x − y| total cost for this step. (We not know how much we pay!)

  • After some steps, declare that we are done. At this point,

we must be certain that the demand is 0 everywhere: b(x) = 0 for all x ∈ Zd.

slide-46
SLIDE 46

Oblivious routing

Oblivious routing on ℓ1-metric

  • Input: set of points V ⊆ Zd, and “demand” function

b : V → R (

v∈V b(v) = 0) that is unknown to us.

  • On each step, choose any two points x, y ∈ Zd and a scalar

c ∈ R, and “shift” c times the demand at x to location y. That is, we simultaneously update b(x) ← b(x) − c ∙ b(x) and b(y) ← b(y) + c ∙ b(x). Pay c ∙ b(x) ∙ |x − y| total cost for this step. (We not know how much we pay!)

  • After some steps, declare that we are done. At this point,

we must be certain that the demand is 0 everywhere: b(x) = 0 for all x ∈ Zd.

  • Once we are done, learn the set of initial demands, sum up
  • ur total cost, and compare it to the optimal strategy we

could have taken if we had known the demands

  • beforehand. Want polylog(n)-approximation.
slide-47
SLIDE 47

Oblivious routing

Algorithm intuition

slide-48
SLIDE 48

Oblivious routing

Algorithm intuition

  • Should be unbiased: demand from a given vertex should

be spread evenly

slide-49
SLIDE 49

Oblivious routing

Algorithm intuition

  • Should be unbiased: demand from a given vertex should

be spread evenly

  • Sherman’s algorithm [’17]: generalizes 1-d case, routes

each point to all 2d corners of the cube (d =

  • log n, get

2 √

log n factor)

slide-50
SLIDE 50

Oblivious routing

Algorithm intuition

  • Should be unbiased: demand from a given vertex should

be spread evenly

  • Sherman’s algorithm [’17]: generalizes 1-d case, routes

each point to all 2d corners of the cube (d =

  • log n, get

2 √

log n factor)

Our algorithm

slide-51
SLIDE 51

Oblivious routing

Algorithm intuition

  • Should be unbiased: demand from a given vertex should

be spread evenly

  • Sherman’s algorithm [’17]: generalizes 1-d case, routes

each point to all 2d corners of the cube (d =

  • log n, get

2 √

log n factor)

Our algorithm

  • Route each point to polylog(n) random points nearby (not 1

point to control the variance)

slide-52
SLIDE 52

Oblivious routing

Algorithm intuition

  • Should be unbiased: demand from a given vertex should

be spread evenly

  • Sherman’s algorithm [’17]: generalizes 1-d case, routes

each point to all 2d corners of the cube (d =

  • log n, get

2 √

log n factor)

Our algorithm

  • Route each point to polylog(n) random points nearby (not 1

point to control the variance)

  • Need to control number of new points (don’t want

polylog(n) blowup each level)

slide-53
SLIDE 53

Oblivious routing

Algorithm intuition

  • Should be unbiased: demand from a given vertex should

be spread evenly

  • Sherman’s algorithm [’17]: generalizes 1-d case, routes

each point to all 2d corners of the cube (d =

  • log n, get

2 √

log n factor)

Our algorithm

  • Route each point to polylog(n) random points nearby (not 1

point to control the variance)

  • Need to control number of new points (don’t want

polylog(n) blowup each level)

  • Overlay a randomly shifted grid: each point sends to the

center of the grid it’s in; do this for polylog(n) many grids

slide-54
SLIDE 54

ℓ1-embedding

Reducing to SSSP

slide-55
SLIDE 55

ℓ1-embedding

Reducing to SSSP

  • Bourgain’s embedding: reduces to computing O(log2 n)

many exact SSSP’s

slide-56
SLIDE 56

ℓ1-embedding

Reducing to SSSP

  • Bourgain’s embedding: reduces to computing O(log2 n)

many exact SSSP’s

  • Turns out (1 +

1 log n)-approximate SSSP(*) is sufficient

slide-57
SLIDE 57

ℓ1-embedding

Reducing to SSSP

  • Bourgain’s embedding: reduces to computing O(log2 n)

many exact SSSP’s

  • Turns out (1 +

1 log n)-approximate SSSP(*) is sufficient

  • Want to apply recursion somehow
slide-58
SLIDE 58

ℓ1-embedding

Reducing to SSSP

  • Bourgain’s embedding: reduces to computing O(log2 n)

many exact SSSP’s

  • Turns out (1 +

1 log n)-approximate SSSP(*) is sufficient

  • Want to apply recursion somehow

Ultrasparsification and recursion

slide-59
SLIDE 59

ℓ1-embedding

Reducing to SSSP

  • Bourgain’s embedding: reduces to computing O(log2 n)

many exact SSSP’s

  • Turns out (1 +

1 log n)-approximate SSSP(*) is sufficient

  • Want to apply recursion somehow

Ultrasparsification and recursion

  • Compute an ultraspanner of the graph: (n − 1) +

m log4 n

edges, preserves distances up to polylog(n) factor

slide-60
SLIDE 60

ℓ1-embedding

Reducing to SSSP

  • Bourgain’s embedding: reduces to computing O(log2 n)

many exact SSSP’s

  • Turns out (1 +

1 log n)-approximate SSSP(*) is sufficient

  • Want to apply recursion somehow

Ultrasparsification and recursion

  • Compute an ultraspanner of the graph: (n − 1) +

m log4 n

edges, preserves distances up to polylog(n) factor

  • Suffices to ℓ1-embed this ultraspanner (pick up extra

polylog(n) in the distortion)

slide-61
SLIDE 61

ℓ1-embedding

Reducing to SSSP

  • Bourgain’s embedding: reduces to computing O(log2 n)

many exact SSSP’s

  • Turns out (1 +

1 log n)-approximate SSSP(*) is sufficient

  • Want to apply recursion somehow

Ultrasparsification and recursion

  • Compute an ultraspanner of the graph: (n − 1) +

m log4 n

edges, preserves distances up to polylog(n) factor

  • Suffices to ℓ1-embed this ultraspanner (pick up extra

polylog(n) in the distortion)

  • SSSP on an ultraspanner can be reduced to approximate

SSSP on a graph of size

m log4 n

slide-62
SLIDE 62

ℓ1-embedding

Reducing to SSSP

  • Bourgain’s embedding: reduces to computing O(log2 n)

many exact SSSP’s

  • Turns out (1 +

1 log n)-approximate SSSP(*) is sufficient

  • Want to apply recursion somehow

Ultrasparsification and recursion

  • Compute an ultraspanner of the graph: (n − 1) +

m log4 n

edges, preserves distances up to polylog(n) factor

  • Suffices to ℓ1-embed this ultraspanner (pick up extra

polylog(n) in the distortion)

  • SSSP on an ultraspanner can be reduced to approximate

SSSP on a graph of size

m log4 n

  • After all reductions, recursively call approximate SSSP on

log4 n many graphs of size

m log4 n

slide-63
SLIDE 63

Open problems

Improve polylog(n) factor in running time

slide-64
SLIDE 64

Open problems

Improve polylog(n) factor in running time

  • Currently very high (at least log20 n)
slide-65
SLIDE 65

Open problems

Improve polylog(n) factor in running time

  • Currently very high (at least log20 n)
  • Deeper connection between transshipment and SSSP?
slide-66
SLIDE 66

Open problems

Improve polylog(n) factor in running time

  • Currently very high (at least log20 n)
  • Deeper connection between transshipment and SSSP?
  • Exact SSSP? Current best is ˜

O(m) work, n1/2+o(1) time [Cao, Fineman, Russell STOC’20]