Dynamic Graph Algorithms Giuseppe F. Italiano University of Rome - - PowerPoint PPT Presentation

dynamic graph algorithms
SMART_READER_LITE
LIVE PREVIEW

Dynamic Graph Algorithms Giuseppe F. Italiano University of Rome - - PowerPoint PPT Presentation

Dynamic Graph Algorithms Giuseppe F. Italiano University of Rome Tor Vergata giuseppe.italiano@uniroma2.it http://people.uniroma2.it/giuseppe.italiano/ Outline Dynamic Graph Problems Quick Intro Topic 1. (Undirected Graphs) Dynamic


slide-1
SLIDE 1

Dynamic Graph Algorithms

Giuseppe F. Italiano

University of Rome Tor Vergata giuseppe.italiano@uniroma2.it

http://people.uniroma2.it/giuseppe.italiano/

slide-2
SLIDE 2

Outline

Topic 1. (Undirected Graphs) Dynamic Connectivity & MST Topic 2. (Undirected/Directed Graphs) Dynamic Shortest Paths Topic 3. (Non-dynamic?) 2-Connectivity in Directed Graphs Dynamic Graph Problems – Quick Intro

slide-3
SLIDE 3

Outline

Dynamic Graph Problems – Quick Intro Topic 1. (Undirected Graphs) Dynamic Connectivity & MST Topic 2. (Undirected/Directed Graphs) Dynamic Shortest Paths Topic 3. (Non-dynamic?) 2-Connectivity in Directed Graphs

slide-4
SLIDE 4

Several Variants

APSP: All Pairs Shortest Paths NAPSP, NSSP, NSSS: Shortest Paths on Non- negative weight graphs SSSS: Single Source Single Sink Shortest Paths SSSP: Single Source Shortest Paths

slide-5
SLIDE 5

Several Variants

APSP: All Pairs Shortest Paths NAPSP, NSSP, NSSS: Shortest Paths on Non- negative weight graphs SSSS: Single Source Single Sink Shortest Paths SSSP: Single Source Shortest Paths

slide-6
SLIDE 6

Miscellanea

  • Without loss of generality, directed graphs
  • W.l.o.g., update operations restricted to edge

cost changes: cost decreases can simulate insertions; cost increases can simulate deletions. (If edge not there, cost of + ∞)

  • Subpath Optimality (Optimal Substructure): any

subpath of a shortest path is a shortest path

slide-7
SLIDE 7

Fully Dynamic APSP

Given a weighted directed graph G = (V, E, w), perform any intermixed sequence of the following

  • perations:

return distance from x to y

(or shortest path from x to y)

Query(x,y): update cost of edge (u,v) to w Update(u,v,w): update edges incident to v [w( )] Update(v,w):

slide-8
SLIDE 8

Simple-minded Approaches

Keep the solution up to date. Fast query approach Rebuild it from scratch at each update. Do nothing on graph. Fast update approach Visit graph to answer queries.

slide-9
SLIDE 9

Rebuild the distance matrix from scratch after each update. Fast query approach O(n2) To answer a query about (x,y), perform a single-source computation from x. Fast update approach O(1) O(1) Query Update O(1) O(1) Query O(n2) O(n3) Update

Simple-minded Approaches

slide-10
SLIDE 10

Can we do better?

O(1) O(1) Query O(n2) O(n3) Update

slide-11
SLIDE 11

Can we do better?

O(1) O(1) Query O(n2) O(n3) Update

?

slide-12
SLIDE 12

State of the Art

First fully dynamic algorithms date back to the 60’s Until 1999, none of them was better in the worst case than recomputing APSP from scratch (~ cubic time!) Query Update Graph Weight Ramalin.&Reps 96 general real O(n3) O(1) King 99 general [0,C] O(n2.5 (C log n)0.5) O(1)

  • P. Loubal, A network evaluation procedure, Highway

Research Record 205, 96-109, 1967.

  • J. Murchland, The effect of increasing or decreasing the

length of a single arc on all shortest distances in a graph, TR LBS-TNT-26, Transport Network Theory Unit, London Business School, 1967.

  • V. Rodionov, A dynamization of the all-pairs least cost

problem, USSR Comput. Math. And Math. Phys. 8, 233-277, 1968.

slide-13
SLIDE 13

Fully Dynamic APSP

Edge insertions (edge cost decreases) Quite “easy”: O(n2)

10 10 10 10

For each pair x,y check whether D(x,i) + w(i,j) + D(j,y) < D(x,y)

x y i j

slide-14
SLIDE 14
  • Edge deletions (edge cost increases)

Seem the “hard” operations. Intuition:

  • When edge (shortest path) deleted: need info

about second shortest path? (3rd, 4th, …)

G

… …

G

Fully Dynamic APSP

slide-15
SLIDE 15

Dynamic APSP

O(1) O(1) Query O(n2) O(n2) O(n3) Update O(n2.5) ~ ~ Demetrescu-I, J.ACM’04 Real-weighted digraphs King, FOCS’99 Unweighted digraphs Thorup, SWAT’04 Supporting negative weights + improvements on log factors

Decremental bounds: Baswana, Hariharan, Sen J.Algs’07 Approximate dynamic APSP: Roditty, Zwick FOCS’04 +…

~

slide-16
SLIDE 16

Quadratic Update Time Barrier?

Θ(n) Θ(n) +1

  • 1

+1

If distances are to be maintained explicitly, any algorithm must pay Ω(n2) per update…

slide-17
SLIDE 17

Related Problems

Dynamic Transitive Closure (directed graph G) update query authors

O(n2 log n) O(1) King, FOCS’99 Demetrescu-I., Algorithmica’08 O(n1.575) O(n0.575) Demetrescu-I., J.ACM’05

notes

DAGs

Sankowski, FOCS’04

DAGs

O(n2) O(1) King-Sagert, JCSS ‘02 Decremental bounds: Baswana, Hariharan, Sen, J.Algs.’07 O(m n1/2) O(n1/2) Roditty, Zwick, SIAM J. Comp.’08 O(m+n log n) O(n) Roditty, Zwick, FOCS’04 Sankowski, FOCS’04 worst-case

slide-18
SLIDE 18

Dynamic Shortest Paths

Many interesting ideas and techniques introduced

  • Algebraic graph methods
  • Decremental BFS [Even & Shiloach 1981]
  • Locally shortest paths
  • Long paths property
  • Path decompositions
slide-19
SLIDE 19

Dynamic Shortest Paths

Many interesting ideas and techniques introduced

  • Algebraic graph methods
  • Decremental BFS [Even & Shiloach 1981]
  • Locally shortest paths
  • Long paths property
  • Path decompositions
slide-20
SLIDE 20

Main Ingredients

Long paths property Decremental BFS Locally shortest paths Output bounded Counting Path decompositions Algebraic techniques

slide-21
SLIDE 21

Dynamic shortest paths: roadmap

Shortest path trees NSSSP Ramalingam-Reps ’96 Decremental BFS Even-Shiloach ’81 Long paths decomposition NAPSP King ’99 Locally-defined path properties NAPSP/APSP

Demetrescu-Italiano ’04

Reduced costs SSSP Frigioni et al ’98 Demetrescu ’01

slide-22
SLIDE 22

Long paths property Decremental BFS Locally shortest paths Output bounded Counting Path decompositions Algebraic techniques

Main Ingredients

slide-23
SLIDE 23

Dynamic shortest paths: roadmap

Shortest path trees NSSSP Ramalingam-Reps ’96

slide-24
SLIDE 24

Fully Dynamic SSSP

Perform intermixed sequence of operations: s ∈ V source node G = (V,E,w) weighted directed graph Let:

Increase(u,v,ε): Increase weight w(u,v) by ε Decrease(u,v,ε): Decrease weight w(u,v) by ε Query(v):

Return distance (or sh. path) from s to v in G w(u,v) weight of edge (u,v)

slide-25
SLIDE 25

Ramalingam & Reps’ approach

Maintain a shortest paths tree throughout the sequence of updates Querying a shortest paths or distance takes

  • ptimal time

Update operations work only on the portion of tree affected by the update Each update may take, in the worst case, as long as a static SSSP computation! But very efficient in practice

slide-26
SLIDE 26

Increase(u,v,ε)

v T(v) T(s) s u

Shortest paths tree before the update

slide-27
SLIDE 27

v w T'(v) T'(s)

+

s u

Increase(u,v,ε)

Shortest paths tree after the update

slide-28
SLIDE 28

Graph G

Ramalingam & Reps’ approach

u v s s

Perform SSSP

  • nly on the subgraph

and source s

Subgraph induced by vertices in T(v)

slide-29
SLIDE 29

Long paths property Decremental BFS Output bounded Counting Path decompositions Algebraic techniques

Main Ingredients

Locally shortest paths

slide-30
SLIDE 30

Path Counting [King/Sagert, JCSS’02]

C[u,x] C[y,v] C[u,v] u x y v

Dynamic Transitive Closure in a DAG Idea: count # distinct paths for any vertex pair Problem: Counters may be as large as 2n Solution: Use arithmetic modulo a random prime

C[u,v] ← C[u,v] + C[u,x] · C[y,v] ∀ u,v:

O(n2)

C[u,v] ← C[u,v] - C[u,x] · C[y,v] ∀ u,v:

O(n2)

slide-31
SLIDE 31

Arithmetic mod primes

Reduce wordsize to 2c log n: pick random prime p between nc and nc+1 and perform arithmetic mod p O(1) time with wordsize O(log n) But false 0s (x mod p = 0 but x ≠ 0)

  • Lemma. If O(nk) arithmetic computations involving

numbers ≤ 2n are performed mod random p of value Θ(nc), then probability of false 0 is O(1/nc-k-1) (As # ops with particular prime increases, so does chance of getting false 0s)

slide-32
SLIDE 32

Arithmetic mod primes

  • Lemma. If O(nk) arithmetic computations involving

numbers ≤ 2n are performed mod random p of value Θ(nc), then probability of false 0 is O(1/nc-k-1)

  • Proof. Let x ≤ 2n. There are O(n / log n) prime

divisors of value Θ(nc) which divide x. So, there are O(nk+1/ log n) prime divisors of any of the numbers generated. By Prime Number Theorem, approx. Θ(nc / log n) primes of value Θ(nc). Hence probability that random prime of value Θ(nc) divides any of the numbers generated is O(1/nc-k-1).

slide-33
SLIDE 33

Arithmetic mod primes

Reduce wordsize to 2c log n: pick random prime p between nc and nc+1 and perform arithmetic mod p O(1) time with wordsize O(log n) But false 0s (x mod p = 0 but x ≠ 0)

  • Lemma. If O(nk) arithmetic computations involving

numbers ≤ 2n are performed mod random p of value Θ(nc), then probability of false 0 is O(1/nc-k-1) Choose new prime every n updates and reinitialize all data structures (k = 3, thus enough c ≥ 5)

slide-34
SLIDE 34

Dynamic Transitive Closure [King/Sagert, JCSS’02]

O(n2) worst-case time O(1) worst-case time Query: Update: Works for directed acyclic graphs. Randomized Monte Carlo: one-sided error. Can we trade off query time for update time?

slide-35
SLIDE 35

Looking from the matrix viewpoint

C[u,x] C[y,v] C[u,v] u x y v C[u,v] ← C[u,v] + C[u,x] · C[y,v] ∀ u,v:

+ ←

·

slide-36
SLIDE 36

Maintaining dynamic integer matrices

Given a matrix M of integers, perform any intermixed sequence of the following operations:

+ ←

·

Update(J,I): M ← M + J · I Query(i,j): return M[i,j] O(n2) O(1)

slide-37
SLIDE 37

Maintaining dynamic integer matrices

Lazy approach: buffer at most nε updates Global rebuilding every nε updates Rebuilding done via matrix multiplication

How can we trade off operations?

slide-38
SLIDE 38

Maintaining dynamic integer matrices

m M m i1 I1 j1 J1 + j1· i1 i2 I2 j2 J2 + j2· i2 i3 I3 j3 J3 + j3· i3

slide-39
SLIDE 39

Maintaining dynamic integer matrices

i1 I1 j1 J1 + j1· i1 i2 I2 j2 J2 + j2· i2 i3 I3 j3 J3 + j3· i3 m M m

·

M’

+

nε n Global rebuilding every nε updates O(nω(1,ε,1))

slide-40
SLIDE 40

Back to Dynamic Transitive Closure

C[u,x] C[y,v] C[u,v] u x y v C[u,v] ← C[u,v] + C[u,x] · C[y,v] ∀ u,v:

+ ←

·

slide-41
SLIDE 41

Query Time

i1 I1 j1 J1 + j1· i1 i2 I2 j2 J2 + j2· i2 i3 I3 j3 J3 + j3· i3 m M m

·

M’

+

nε n

O(nε) Total Query time

slide-42
SLIDE 42

Update Time

O(n1+ε ) Time:

C[u,v] ← C[u,v] + C[u,x] · C[y,v] ∀ u,v:

+ ←

·

  • 1. Compute C[u,x] and C[y,v] for any u,v

Carried out via O(n) queries

slide-43
SLIDE 43

Update Time

O( nω(1,ε,1) / n ε ) Amortized time:

  • 2. Global rebuild every nε updates

Carried out via (rectangular) matrix multipl.

i1 I1 j1 J1 i2 I2 j2 J2 i3 I3 j3 J3 m M

·

M’

+

nε n

slide-44
SLIDE 44

Dynamic Transitive Closure [Demetrescu-I., J.ACM05]

O(nω(1,ε,1)-ε ) O(nε)

for any 0 < ε < 1

Query: Update: +n1+ε

Find ε such that ω(1,ε,1) = 1+2ε

Best bound for rectangular matrix multiplication [Huang/Pan98]

ε < 0.575 O(n1.575) worst-case time O(n0.575) worst-case time Query: Update:

slide-45
SLIDE 45

Long paths property Decremental BFS Output bounded Counting Path decompositions Algebraic techniques

Main Ingredients

Locally shortest paths

slide-46
SLIDE 46

Dynamic shortest paths: roadmap

Shortest path trees Reduced costs NSSSP Ramalingam-Reps ’96 Decremental BFS Even-Shiloach ’81 SSSP Frigioni et al ’98 Demetrescu ’01

slide-47
SLIDE 47

Decremental BFS [Even-Shiloach, JACM’81]

Maintain BFS levels under deletion of edges depth d

Undirected graphs: non BFS-tree edges can be either between two consecutive levels

  • r at the same level
slide-48
SLIDE 48

Decremental BFS [Even-Shiloach, JACM’81]

slide-49
SLIDE 49

Decremental BFS [Even-Shiloach, JACM’81]

This implies that during deletion of edges depth d

each non-tree edge can fall down at most 2d times overall… O(md) total time

  • ver any sequence

O(d) time per deletion (amortized over Ω(m) deletions)

slide-50
SLIDE 50

Can we do better than O(mn)?

Roditty and Zwick [2011] have shown two reductions: Boolean matrix multiplication (off-line) decremental undirected BFS Weighted (static) undirected APSP (off-line) decremental undirected SSSP

slide-51
SLIDE 51

Matrix mult. Decremental BFS

A and B Boolean matrices Wish to compute C=A·B C[x,y]=1 iff there is z such that A[x,z]=1 and B[z,y]=1

A

Bipartite graph with an edge (x,y) for each A[x,y]=1

B

Bipartite graph with an edge (x,y) for each B[x,y]=1

C[x,y]=1 iff path of length 2 between x on first layer and y on last layer x y

slide-52
SLIDE 52

C

Matrix mult. Decremental BFS

A B

s 1 0 1 0 0 First row: C[1,x]=1 iff dist(s,x)=3 0 1 0 0 0 Second row: C[2,x]=1 iff dist(s,x)=4 0 0 0 0 0 Third row: C[3,x]=1 iff dist(s,x)=5 0 0 0 0 0 1 0 1 0 0 … … n deletions and n2 queries Decremental BFS in o(mn) total time would imply Boolean matrix multiplication in o(mn) x x x

slide-53
SLIDE 53

More details in

Decremental BFS: [Even-Shiloach’81]

  • S. Even and Y. Shiloach,

An On-line Edge Deletion Problem,

  • J. Assoc. Comput. Mach, Vol. 28, pp. 1-4, 1981

Reductions to decremental BFS: [Roditty-Zwick’11] Liam Roditty, Uri Zwick, On dynamic shortest paths problems Algorithmica 61(2): 389-401 (2011).

slide-54
SLIDE 54

Long paths property Decremental BFS Path decompositions Output bounded Counting Algebraic techniques

Main Ingredients

Locally shortest paths

slide-55
SLIDE 55

Dynamic shortest paths: roadmap

Shortest path trees Reduced costs NSSSP Ramalingam-Reps ’96 Decremental BFS Even-Shiloach ’81 Long paths decomposition NAPSP King ’99 SSSP Frigioni et al ’98 Demetrescu ’01

slide-56
SLIDE 56

d d v IN(v) maintained as a decremental BFS tree OUT(v) maintained as a decremental BFS tree Building block: pair of IN/OUT trees keeps track of all paths of length ≤ 4 passing through v x y keeps track of all paths of length ≤ d passing through v

Make decremental (ES) fully dynamic

For each vertex v:

slide-57
SLIDE 57

v

IN(v) OUT(v)

Total cost for rebuilding IN, OUT trees + deleting edges in between: O(md) This is charged to insert(v) v

IN(v) OUT(v) insert(v) insert(v) Rebuild IN(v), OUT(v) Rebuild IN(v), OUT(v) sequence

  • f ops

deletions only for IN(v), OUT(v)

Make decremental (ES) fully dynamic

slide-58
SLIDE 58

d=2 d=2 v IN(v) maintained as a decremental BFS tree OUT(v) maintained as a decremental BFS tree Building block: pair of IN/OUT trees keeps track of all paths of length ≤ 4 passing through v Doubling decomposition + x y keeps track of all paths of length ≤ 2 passing through v Decremental BFS Ingredients: Total cost for building the two trees + deleting all edges: O(m)

Dynamic Transitive Closure [King, FOCS’99]

slide-59
SLIDE 59

Doubling Decomposition [folklore]

… log n Xn-1

Transitive closure can be computed with O(log n) products of Boolean matrices

X = adjacency matrix + I Xn-1 = transitive closure

X X paths with ≤ 2 edges X2 X2 paths with ≤ 4 edges X4 X4 paths with ≤ 8 edges

slide-60
SLIDE 60

G3 Glog n … … … … … … … G0 = G G1

If there is a path from x to y in G

  • f length ≤ k, then

there is an edge (x,y) in G⎡log k⎤ Invariant:

G2

(x,y) ∈ G2 iff x ∈ IN(v) and y ∈ OUT(v) for some v in G1

IN/OUT trees in G1 for each vertex

(x,y) ∈ G1 iff x ∈ IN(v) and y ∈ OUT(v) for some v in G0

IN/OUT trees in G0 for each vertex Reachability queries in G⎡log n⎤

Dynamic Transitive Closure [King, FOCS’99]

slide-61
SLIDE 61

… … … … … … G0 = G G3 Glog n … G1 G2

Edge deletions (amortized against the creation of trees) Deletion of any subset of the edges of G

Dynamic Transitive Closure [King, FOCS’99]

slide-62
SLIDE 62

G0 = G … … … … … G3 Glog n … G1 G2

IN(v) and OUT(v) rebuilt from scratch on each level… Each level has O(n2) edges O(n2 log n) total time Insertion of edges incident to a vertex v

v v v v v v

v v

Dynamic Transitive Closure [King, FOCS’99]

slide-63
SLIDE 63

Dynamic Transitive Closure [King, FOCS’99]

Correctness?

G0 = G … … … … … G3 Glog n … G1 G2

Insertion of edges incident to a vertex v

a b c …

v v v v v v

v v

Path a,b,c in Gi-1 ⇒ (a,c) in Gi ?

slide-64
SLIDE 64

Dynamic Transitive Closure

O(n2) O(1)

amortized

Query: Update:

via (Dynamic) Matrix Product: [Demetrescu-I., FOCS 00, Algorithmica 08]

O(n2) O(1)

worst-case

Query: Update:

via (Dynamic) Matrix Inversion: [Sankowski, FOCS 04]

O(n2 log n) O(1)

amortized

Query: Update:

slide-65
SLIDE 65

Long paths property Decremental BFS Path decompositions Output bounded Counting Algebraic techniques

Main Ingredients

Locally shortest paths

slide-66
SLIDE 66

“Road”

slide-67
SLIDE 67

“Road”

Roads Roads Highway

slide-68
SLIDE 68

A real-life problem

“Road”

slide-69
SLIDE 69

A real-life problem

Highway Roads Roads

slide-70
SLIDE 70

Are there roads and highways in graphs?

Let P be a path of length at least k. Let S be a random subset of vertices

  • f size (c n ln n) / k.

Then with high probability P ∩ S ≠ ∅. Probability ≥ 1 – (1 / nc) ( depends on c )

Long Paths Property

[Ullman-Yannakakis‘91]

slide-71
SLIDE 71

Select each element independently with probability n k The probability that a given set of k elements is not hit is

ln 1

(1 )

k k c

c n n k

p

⎛ ⎞ = − < ⎜ ⎟ ⎝ ⎠

ln c n p k =

Long Paths Property [Ullman-Yannakakis‘91]

slide-72
SLIDE 72

Long Paths Property

Can prove stronger property: Let P be a path of length at least k. Let S be a random subset of vertices of size (c n ln n) / k. Then with high probability there is no subpath of P of length k with no vertices in S (P ∩ S ≠ ∅ ). Probability ≥ 1 – (1 / nα c ) for some α > 0.

slide-73
SLIDE 73

Exploit Long Paths Property

Randomly pick a set S of vertices in the graph |S| = c n log n k c, k > 0 Then on any path in the graph

every k vertices there is a vertex in S,

with probability ≥ 1 – ( 1 / nα c ) <k <k <k <k <k <k <k Rome Warsaw vertices in S

slide-74
SLIDE 74

Roads and Highways in Graphs

Highway = shortest path between two vertices in S Highway Highway entry points = vertices in S Rome Warsaw Road = shortest path using at most k edges <k Road <k Road Road <k

slide-75
SLIDE 75

Computing Shortest Paths 1/3

Rome Warsaw k Compute roads (shortest paths using at most k edges)

1

Even & Shiloach BFS trees may become handy…

slide-76
SLIDE 76

Computing Shortest Paths 2/3

…essentially an all pairs shortest paths computation on a contracted graph with vertex set S, and edge set = roads Highway <k Road <k Road Compute highways (by stitching together roads)

2

slide-77
SLIDE 77

Computing Shortest Paths 3/3

Highway Rome Warsaw Road Road Compute shortest paths (longer than k edges) (by stitching together roads + highways + roads)

3

Used (for dynamic graphs) by King [FOCS’99], Demetrescu-I. [JCSS’06], Roditty-Zwick [FOCS’04], …

slide-78
SLIDE 78

Fully Dynamic APSP

Given a weighted directed graph G=(V, E, w), perform any intermixed sequence of the following

  • perations:

return distance from x to y

(or shortest path from x to y)

Query(x,y): update weight of edge (u,v) to w Update(u,v,w):

slide-79
SLIDE 79

King’s algorithm [King’99]

Directed graphs with integer edge weights in [0,C]

O(1) query time O(n2.5 √C) space O(n2.5√C) update time ~ ~

  • 1. Maintain dynamically shortest paths up to length

k = (nClogn)0.5 using variant of decremental data structure by Even-Shiloach. Amortized cost per update is O(n2(nClogn)0.5) (details in the paper) Approach:

  • 2. Stitch together short paths from scratch to form

long paths exploiting long paths decomposition

<k <k <k <k <k <k <k Rome Warsaw Vienna

slide-80
SLIDE 80

More details on stitching

  • 1. Build S deterministically, |S|=(Cnlogn)1/2 : O(n2)
  • 2. Compute APSP in S: O(|S|3) = O((Cnlogn)3/2)
  • 3. For each v in V, s in S, update distance by considering

mins’{D(v,s’)+D(s’,s)}: O(n|S|2) = O(Cn2logn)

  • 4. For each u,v in V, update distance by considering

mins’{D(u,s’)+D(s’,v)}: O(n2|S|) = O(n5/2(Clogn)1/2)

<k <k <k <k <k <k <k Rome Warsaw Vienna

Perform the following tasks at each update: Always distances up to k=(Cnlogn)1/2 (IN e OUT trees)

O(1) query time O(n2.5 √C) space O(n2.5√C) update time ~ ~

slide-81
SLIDE 81

More details in

Long paths decomposition: [Ullman-Yannakakis’91] J.D. Ullman and M. Yannakakis. High-probability parallel transitive-closure algorithms. SIAM Journal on Computing, 20(1), February 1991 King’s algorithm: [King’99] Valerie King Fully Dynamic Algorithms for Maintaining All-Pairs Shortest Paths and Transitive Closure in Digraphs. FOCS 1999: 81-91

slide-82
SLIDE 82

Long paths property Decremental BFS Path decompositions Locally shortest paths Output bounded Counting Algebraic techniques

Main Ingredients

slide-83
SLIDE 83

Dynamic shortest paths: roadmap

Shortest path trees Long paths decomposition Reduced costs NSSSP Ramalingam-Reps ’96 Decremental BFS Even-Shiloach ’81 NAPSP King ’99 Locally-defined path properties NAPSP/APSP

Demetrescu-Italiano ’04

SSSP Frigioni et al ’98 Demetrescu ’01

slide-84
SLIDE 84

Fully Dynamic APSP (Recall)

Edge insertions (edge cost decreases) Quite easy: O(n2)

10 10 10 10

For each pair x,y check whether D(x,i) + w(i,j) + D(j,y) < D(x,y)

x y i j

O(mn2) = O(n4) over a sequence Question 1 : Can we do better?

slide-85
SLIDE 85
  • Edge deletions (edge cost increases)

Seem the hard operations. Intuition:

  • When edge (shortest path) deleted: need info

about second shortest path? (3rd, 4th, …)

G

… …

G

Fully Dynamic APSP (Recall)

Question 2 : Can we keep this info?

slide-86
SLIDE 86

Edge insertions only Show how to improve the O(n4) bound over O(n2) edge insertions (O(n2) worst-case per insertion) Unweighted (directed) graphs: O(n3 log n) over O(n2) edge insertions (O(n log n) amortized per insertion) [Ausiello, I. , Marchetti-Spaccamela, Nanni J. Algs 1991]

Incremental Shortest Path

slide-87
SLIDE 87

SP(v) : Shortest path tree rooted at vertex v SPR(v) : Shortest path tree rooted at v in reverse graph

Terminology

1 3 2 6 7 5 4 1 3 2 6 7 5 4 1 3 2 7 4

SP(1) SPR(1)

slide-88
SLIDE 88

88

O(n2) Update

When edge (i,j) is inserted do the following: for each v in V, update SP(v) by considering SP(j) (basic update)

1 3 2 6 7 5 4 1 3 2 6 7 5 4

SP(1)

6 5

SP(5)

slide-89
SLIDE 89

89

O(n2) Update

When edge (i,j) is inserted do the following: for each v in V, update SP(v) by considering SP(j) (basic update)

1 3 2 6 7 5 4 1 3 2 6 7 5 4

SP(1)

6 5

✖ ✖

slide-90
SLIDE 90

90

First Idea

When edge (i,j) is inserted do the following: for each v in SPR(i), update SP(v) by considering SP(j) (basic update)

1 3 2 6 7 5 4 1 3 2 6 7 5 4

SP(1)

6 5

✖ ✖

slide-91
SLIDE 91

91

SPR(i) SP(j) i

j

First Idea

slide-92
SLIDE 92

92

SPR(i) i

First Idea

Still O(n2) update SP(j)

j

slide-93
SLIDE 93

93

SPR(i) SP(j) i

j

Second Idea

slide-94
SLIDE 94

94

SPR(i) i

Second Idea

✖ SP(j)

j

slide-95
SLIDE 95

95

SPR(i) i

Second Idea

✖ ✖ ✖ SP(j)

j

slide-96
SLIDE 96

96

SPR(i) i

Second Idea

✖ ✖ SP(j)

j

✖ ✖ ✖

slide-97
SLIDE 97

97

SPR(i) i

Second Idea

✖ ✖ SP(j)

j

✖ ✖ ✖ Can show O(n log n) amortized update (see paper for details)

slide-98
SLIDE 98

What are we doing exactly?

Do we need to look at pair (x,y)? y y neighbor

  • f v

Inserting edge (i,j) does NOT improve shortest path from x to v x v 2. When edge (i,j) is inserted, avoid to look at all O(n2) pairs (x,y) Look only at pairs (x,y) such that x that reaches i and y reachable from j 1. è i j No, by subpath optimality

slide-99
SLIDE 99

y y neighbor

  • f v

What are we doing exactly?

Do we need to look at all pairs (x,y)? Inserting edge (i,j) DOES improve shortest path from x to v x v 3. è i j We need to look only at the pairs (x,y) such that shortest path from u to y was improved u Let u be the vertex immediately after x in the shortest path from x to v Again by subpath optimality: if inserting (i,j) did not improve the shortest path from u to y, then it cannot improve the shortest path from x to y

slide-100
SLIDE 100

x y πxy Shortest path Shortest path Not a shortest path Shortest path x y πxy

A path is locally shortest if all of its proper subpaths are shortest paths

Locally Shortest Paths

[Demetrescu-I., J.ACM’04]

slide-101
SLIDE 101

Locally shortest paths

Locally shortest paths

Shortest paths

By optimal-substructure property of shortest paths:

slide-102
SLIDE 102

Back to Fully Dynamic APSP

Given a weighted directed graph G = (V,E,w), perform any intermixed sequence of the following

  • perations:

return distance from x to y

(or shortest path from x to y)

Query(x,y): update cost of edge (u,v) to w Update(u,v,w):

slide-103
SLIDE 103

Recall Fully Dynamic APSP

  • Hard operations edge deletions (increases)
  • When edge (shortest path) deleted: need info

about second shortest path? (3rd, 4th, …)

Shortest path Shortest path x y πxy

  • Hey… what about locally shortest paths?

Candidate for being shortest path! Falls short of being a shortest path just because some other path (somewhere else) is better! Locally shortest path

slide-104
SLIDE 104

Locally Shortest Paths for Dynamic APSP

Idea: Maintain all the locally shortest paths of the graph How do locally shortest paths change in a dynamic graph? We know already what happens for insertions (cost decreases) only. What about deletions (cost increase)

  • nly?
slide-105
SLIDE 105

Assumptions behind the analysis

Property 1 Locally shortest paths πxy are internally vertex-disjoint

This holds under the assumption that there is a unique shortest path between each pair of vertices in the graph (Ties can be broken by adding a small perturbation to the weight of each edge) x y π1 π3 π2

slide-106
SLIDE 106

Tie Breaking

Shortest paths are unique

Assumptions

In theory, tie breaking is not a problem

Practice

In practice, tie breaking can be subtle

slide-107
SLIDE 107

Properties of locally shortest paths

Property 2 There can be at most (n-1) locally shortest paths connecting x,y x y That’s a consequence of vertex- disjointess…

slide-108
SLIDE 108

Appearing locally shortest paths

Fact 1 At most n3 (mn) paths can start being locally shortest after an edge weight increase

x y

10 20 30 40

x y

100 10 20 30 40 100

slide-109
SLIDE 109

Disappearing locally shortest paths

Fact 2 At most n2 paths can stop being locally shortest after an edge weight increase π stops being locally shortest after increase of e subpath of π (was shortest path) must contain e shortest paths are unique: at most n2 contain e

slide-110
SLIDE 110

Maintaining locally shortest paths

# Locally shortest paths appearing after an increase: ≤ n3 # Locally shortest paths disappearing after an increase: ≤ n2

The amortized number of changes in the set of locally shortest paths at each update in an increase-only sequence is O(n2)

slide-111
SLIDE 111

An increase-only update algorithm

This gives (almost) immediately: O(n2 log n) amortized time per increase O(mn) space

slide-112
SLIDE 112

Maintaining locally shortest paths

x y

10 20 30 40

x y

100 10 20 30 40

What about fully dynamic sequences?

slide-113
SLIDE 113

x y

How to pay only once?

x y x y

This path remains the same while flipping between being LS and non-LS: Would like to have update algorithm that pays only once for it until it is further updated...

slide-114
SLIDE 114

x y

Looking at the substructure

x y

…but if we removed the same edge it would be a shortest path again!

It’s not dead! This path remains a shortest path after the insertion

This path is no longer a shortest path after the insertion…

slide-115
SLIDE 115

Historical paths

x y

A path is historical if it was shortest at some time since it was last updated historical path

slide-116
SLIDE 116

Locally historical paths

Shortest path Shortest path

x y πxy Locally shortest path

Historical path Historical path

x y πxy Locally historical path

slide-117
SLIDE 117

Key idea for partially dynamic

LSP SP

slide-118
SLIDE 118

Key idea for fully dynamic

LHP HP LHP SP HP

slide-119
SLIDE 119

Putting things into perspective…

LHP HP LSP SP

slide-120
SLIDE 120

The fully dynamic update algorithm

O(n2 log3 n) amortized time per update Fully dynamic update algorithm very similar to partially dynamic, but maintains locally historical paths instead of locally shortest paths (+ performs some other operations) O(mn log n) space Idea: Maintain all the locally historical paths

  • f the graph
slide-121
SLIDE 121

Full details in

Locally shortest paths: [Demetrescu-Italiano’04]

  • C. Demetrescu and G.F. Italiano

A New Approach to Dynamic All Pairs Shortest Paths Journal of the Association for Computing Machinery (JACM), 51(6), pp. 968-992, November 2004 Experimental study of dynamic NAPSP algorithms: [Demetrescu-Italiano’06] Camil Demetrescu, Giuseppe F. Italiano: Experimental analysis of dynamic all pairs shortest path algorithms. ACM Transactions on Algorithms 2 (4): 578-601 (2006).

slide-122
SLIDE 122

Further Improvements

O(n2 (log n + log2 (m/n))) amortized time per update O(mn) space Using locally historical paths, Thorup [SWAT’04] has shown:

slide-123
SLIDE 123

How many LSPs in a graph?

Locally shortest paths in random graphs (500 nodes)

5,000,000 10,000,000 15,000,000 20,000,000 25,000,000 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000

# edges m*n #LS-paths n*n

#LS-paths m*n n*n

slide-124
SLIDE 124

LSP’s in Random Graphs

Peres, Sotnikov, Sudakov & Zwick [FOCS 10] Complete directed graph on n vertices with edge weights chosen independently and uniformly at random from [0;1]: Number of locally shortest paths is O(n2), in expectation and with high probability. This yields immediately that APSP can be computed in time O(n2), in expectation and with high probability.

slide-125
SLIDE 125

Lower Bounds

Polylog bounds for dynamic connectivity (undirected) But dynamic shortest paths seem stubbornly more

  • difficult. Can we prove it?
slide-126
SLIDE 126

Dynamic SSSP (SSSS) not easier than APSP?

  • Claim. If Fully Dynamic SSSS can be solved in time O(f(n))

per update and query, then also Fully Dynamic APSP can be solved in time O(f(n)) per update and query. All-Pairs queryG(x,y) can be implemented in G’ as follows: updateG’ (s,x,0); updateG’ (y,t,0); queryG’ (s,t); updateG’ (s,x, +∞); updateG’ (y,t, +∞)

G

… … s t

Edges from s to G and from G to t have cost +∞

G’

slide-127
SLIDE 127

Lower Bounds

Polylog bounds for dynamic connectivity But dynamic shortest paths seem stubbornly more

  • difficult. Can we prove it?

Conditional lower bounds: basing hardness of dynamic problems on known conjectures (3SUM, All Pairs Shortest Paths, Triangle and Boolean Matrix Multiplication Conjectures and the Strong Exponential Time Hypothesis)

slide-128
SLIDE 128

Lower Bounds

[Patrascu 2010] For dynamic APSP either update or query time must be Ω(nε) [Roditty and Zwick 2011] Any decremental or incremental algorithm for SSSP with preprocessing time O(n3−ε), and update time O(n2−ε) and query time O(n1−ε) for any ε > 0 implies a truly subcubic time algorithm for APSP. Note: Trivial algorithm recomputes shortest paths from a source in O(m+nlog n) = O(n2) time after each update! [Abboud and Vassilevska Williams 2014] Exclude the possibility of an algorithm that has both O(n2−ε) time updates and O(n2−ε) time queries, even for SSSS.

slide-129
SLIDE 129

Fully Dynamic APSP

O(1) O(1) Query O(n2) O(n2) O(n3) Update [Abboud and Vassilevska Williams 2014] Exclude the possibility of an algorithm that has both O(n2−ε) time updates and O(n2−ε) time queries, even for SSSS.

slide-130
SLIDE 130

Fully Dynamic APSP

O(1) O(1) Query O(n2) O(n2) O(n3) Update [Abboud and Vassilevska Williams 2014] Exclude the possibility of an algorithm that has both O(n2−ε) time updates and O(n2−ε) time queries, even for SSSS.

slide-131
SLIDE 131

More work to be done on Dynamic APSP

Space is a BIG issue in practice More tradeoffs for dynamic shortest paths?

[Roditty-Zwick, Algoritmica 2011]

O(mn1/2) update, O(n3/4) query for unweighted ~ Worst-case bounds? O(n2.75) update [Thorup, STOC 05] ~ Can we have faster/simpler algorithms using randomization?

slide-132
SLIDE 132

Some Open Problems…

Fully Dynamic Maximum st-Flow Dynamic algorithm only known for planar graphs O(n2/3 log8/3 n) time per operation

I., Nussbaum, Sankowski & Wulf-Nilsen [STOC 2011]

What about general graphs? Fully Dynamic Topological Ordering No algorithm known to date!

slide-133
SLIDE 133

Some Other Problems…

Dynamic Strongly Connected Components (directed graph G) 


SCC(x,y):

Are vertices x and y in same SCC of G? Do we really need transitive closure for this? In the static case strong connectivity easier than transitive closure….

[Abboud and Vassilevska Williams 2014] Any fully dynamic algorithm must have either preprocessing O(n3−o(1)) or update/query O(n2−o(1)).

slide-134
SLIDE 134

References

  • A. Abboud, V. Vassilevska Williams. Popular conjectures imply

strong lower bounds for dynamic problems. FOCS 2014.

  • G. Ausiello, G.F. Italiano, A. Marchetti-Spaccamela, and U.
  • Nanni. Incremental algorithms for minimal length paths. Journal
  • f Algorithms, 12(4):615-638, 1991.
  • A. Bernstein. Fully dynamic (2 + ε) approximate all-pairs

shortest paths with fast query and close to linear update time. In FOCS, 693–702, 2009.

  • A. Bernstein. Maintaining shortest paths under deletions in

weighted directed graphs. In STOC, 725–734, 2013.

slide-135
SLIDE 135

References

  • A. Bernstein and L. Roditty. Improved dynamic algorithms for

maintaining approximate shortest paths under deletions. In SODA, 1355–1365, 2011.

  • C. Demetrescu and G. F. Italiano. A new approach to dynamic

all pairs shortest paths. J. ACM 51(6):968–992, 2004. See also STOC 2003.

  • C. Demetrescu and G. F. Italiano. Experimental analysis of

dynamic all pairs shortest path algorithms. ACM Transactions

  • n Algorithms 2(4): 578-601 (2006). See also SODA 2004.
  • C. Demetrescu and G.F. Italiano. Fully dynamic all pairs

shortest paths with real edge weights. Journal of Computer and System Sciences 72(5): 813-837 (2006). See also FOCS 2001.

slide-136
SLIDE 136

References

  • S. Even and H. Gazit. Updating distances in dynamic graphs.

Methods of Operations Research, 49:371–387, 1985.

  • S. Even and Y. Shiloach. An on-line edge-deletion problem.
  • J. ACM, 28:1–4, 1981
  • D. Frigioni, A. Marchetti-Spaccamela, and U. Nanni. Semi-

dynamic algorithms for maintaining single source shortest paths

  • trees. Algorithmica, 22(3):250–274, 1998.
  • D. Frigioni, A. Marchetti-Spaccamela, and U. Nanni. Fully

dynamic algorithms for maintaining shortest paths trees. Journal

  • f Algorithms, 34:351-381, 2000.
slide-137
SLIDE 137

References

  • M. Henzinger, S. Krinninger, and D. Nanongkai. Dynamic

approximate all-pairs shortest paths: Breaking the O(mn) barrier and derandomization. In FOCS, 538–547, 2013.

  • M. Henzinger, S. Krinninger, and D. Nanongkai. Sublinear-time

maintenance of breadth-first spanning tree in partially dynamic

  • networks. In ICALP, 607–619, 2013.
  • M. Henzinger, S. Krinninger, and D. Nanongkai. Sublinear-time

decremental algorithms for single-source reachability and shortest paths on directed graphs. In STOC, 674–683, 2014.

  • M. Henzinger, S. Krinninger, and D. Nanongkai. A

subquadratic-time algorithm for dynamic single-source shortest

  • paths. In SODA, 1053–1072, 2014.
slide-138
SLIDE 138

References

  • V. King. Fully dynamic algorithms for maintaining all-pairs

shortest paths and transitive closure in digraphs. In STOC, pages 81–91, 1999.

  • P. Loubal. A network evaluation procedure. Highway Research

Record 205, pages 96–109, 1967.

  • J. Murchland. The effect of increasing or decreasing the length
  • f a single arc on all shortest distances in a graph. Technical

report, LBS-TNT-26, London Business School, Transport Network Theory Unit, London, UK, 1967.

  • M. Patrascu. Towards polynomial lower bounds for dynamic
  • problems. Proc. STOC, 603–610, 2010.
slide-139
SLIDE 139

References

  • G. Ramalingam and T. Reps. An incremental algorithm for a

generalization of the shortest path problem. Journal of Algorithms, 21:267–305, 1996.

  • V. Rodionov. The parametric problem of shortest distances.

U.S.S.R. Computational Math. and Math. Phys., 8(5):336–343, 1968.

  • L. Roditty and U. Zwick. On dynamic shortest paths problems.

Algorithmica, 61(2):389–401, 2011. See also ESA 2004.

  • L. Roditty and U. Zwick. Dynamic approximate all-pairs

shortest paths in undirected graphs. SIAM Journal on Computing, 41(3):670–683, 2012. See also FOCS 2004.

slide-140
SLIDE 140

References

  • H. Rohnert. A dynamization of the all-pairs least cost problem.

In Proc. 2nd Annual Symposium on Theoretical Aspects of Computer Science, (STACS’85), LNCS 182, 279–286, 1985.

  • M. Thorup. Fully-dynamic all-pairs shortest paths: Faster and

allowing negative cycles. In Proceedings of the 9th Scandinavian Workshop on Algorithm Theory (SWAT’04), 384– 396, 2004.

  • M. Thorup. Worst-case update times for fully-dynamic all-pairs

shortest paths. In Proceedings of the 37th ACM Symposium on Theory of Computing (STOC 2005), 2005.