Surender Baswana Indian Institute of Technology Kanpur, India - - PowerPoint PPT Presentation

surender baswana
SMART_READER_LITE
LIVE PREVIEW

Surender Baswana Indian Institute of Technology Kanpur, India - - PowerPoint PPT Presentation

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve Shortest paths in presence of node or link failures Surender Baswana Indian Institute of Technology Kanpur,


slide-1
SLIDE 1

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Shortest paths in presence of node or link failures

Surender Baswana

Indian Institute of Technology Kanpur, India

slide-2
SLIDE 2

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Shortest Paths Problem Problem Domain Graph G = (V, E), with n = |V|, m = |E|, ω : E → R. P(u, v) : shortest path from u to v. δ(u, v) : distance from u to v.

slide-3
SLIDE 3

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Shortest Paths Problem Single Source Shortest Paths (SSSP) Positive edge weights: Dijkstra’s algorithm : O(m + n log n) time, O(n) space. Negative edge weights (but no negative cycle): Bellman Ford algorithm : O(mn) time, O(n) space. All-Pairs Shortest Paths (APSP) Floyd and Warshal Algorithm : O(n3) Johnson’s algorithm : O(mn + n2 log n) Pettie [2004] : O(mn + n2 log log n)

slide-4
SLIDE 4

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Shortest paths in planar graphs Planar graph A graph is said to be planar if its vertices can be embedded on a sphere so that no two edges cross each others. Research on SSSP for planar graphs For possibly negative weights Late 70’s : O(n1.5) ... Klein[2006] : O(n log n) Key ingredients

  • Topology.
  • Small size separator.
slide-5
SLIDE 5

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Shortest paths in presence of vertex failure Algorithmic Objective Construct a data-structure that supports following query. report P(x, y, z) : the shortest path from x to y in G\{z}. report δ(x, y, z) : the length of the path P(x, y, z).

slide-6
SLIDE 6

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Motivation and applications A model for dynamic shortest paths

1

At any time a subset S ⊂ V of at most t vertices may be down.

2

The set S may keep changing but |S| ≤ t holds always. Other applications k-shortest paths problem most vital node or link

slide-7
SLIDE 7

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Single source shortest paths in presence of vertex failure Trivial upper bound preprocessing time: O(mn) space: O(n2) Lower bounds for directed graphs preprocessing time: Ω(m√n) space: Ω(n2)

slide-8
SLIDE 8

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Replacement paths problem for a source-destination pair

slide-9
SLIDE 9

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Replacement paths problem for a (r, t) pair Problem definition Given an undirected graph, a source r and destination t, compute P(r, t, e) efficiently for all e ∈ P(r, t). Solution O(m) time and O(n) space solution Gupta and Malik [1989], Hershberger and Suri [2001]

slide-10
SLIDE 10

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Notations used Tr : shortest path tree rooted at r. Tr(x) : subtree of Tr rooted at x.

slide-11
SLIDE 11

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Replacement paths problem for a (r, t) pair Key Ideas

1

Revisiting the shortest paths problem

2

Investigating the properties of P(r, t, e)

3

Deriving key observations

4

Using elementary data structure

slide-12
SLIDE 12

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Handling an edge failure Revisiting the shortest paths problem Recall Dijkstra’s algorithm ...

1

  • ptimal subpath property

2

use of Heap data structure

slide-13
SLIDE 13

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Investigating properties of P(r, t, e)

. . . .

e r t Ue Tr(y) How does the path P(r, t, e) look like ?

slide-14
SLIDE 14

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Observation 1

. . . .

e r t u v Ue Tr(y) Once P(r, t, e) leaves Ue, it never enters Ue again

slide-15
SLIDE 15

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Observation 2

. . . .

e r t u v Ue Tr(y) P(v, t, e) is the same as P(v, t)

slide-16
SLIDE 16

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Replacement paths problem for (r, t) pair Key idea For an edge e = (x, y) δ(r, t, e) = min

(u,v)∈E,u∈Ue,v∈Tr(y) δ(r, u) + ω(u, v) + δ(t, v)

slide-17
SLIDE 17

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Replacement paths problem for (r, t) pair Key idea For an edge e = (x, y) δ(r, t, e) = min

(u,v)∈E,u∈Ue,v∈Tr(y) δ(r, u) + ω(u, v) + δ(t, v)

solution lies in classical SSSP itself !!

slide-18
SLIDE 18

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Replacement paths problem for (r, t) pair An O(m) time and O(n) space solution build shortest path tree Tr rooted at source r build shortest path tree Tt rooted at destination t use Heap on crossing edges with suitable weights.

slide-19
SLIDE 19

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

All-pairs replacement paths problem

slide-20
SLIDE 20

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Problem Definition Compute a compact data structure for reporting P(r, t, x) and/or δ(r, t, x) for all r, t, x ∈ V in optimal time. Solution Demetrescu et al. [SICOMP 2008]

˜ O(n2) storage-space and O(mn2 polylog n) processing time.

slide-21
SLIDE 21

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Problem Definition Compute a compact data structure for reporting P(r, t, x) and/or δ(r, t, x) for all r, t, x ∈ V in optimal time. Solution Demetrescu et al. [SICOMP 2008]

˜ O(n2) storage-space and O(mn2 polylog n) processing time.

Bernstein and Karger [STOC 2009]

Improved processing time to O(mn polylogn).

slide-22
SLIDE 22

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Overcoming challenges through Collaboration A toy problem : Given an array A storing n numbers, design a data structure to to answer query of the following kind report_min(A, i, j): smallest element from {A[i], A[i + 1], ..., A[j]}. Trivial solution Build an n × n table M where M[i, j] stores the smallest element from {A[i], A[i + 1], ..., A[j]}.

slide-23
SLIDE 23

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Solving the toy problem through collaboration

8 4 2

A i

slide-24
SLIDE 24

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Solving the toy problem through collaboration A i j

slide-25
SLIDE 25

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

O(n log n) space and O(1) query time solution A i j − 2i j 2k 2k

slide-26
SLIDE 26

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Solving all-pairs replacement paths problem

x

r i 1 2 3 2k

slide-27
SLIDE 27

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Solving all-pairs replacement paths problem r u x t 2k

slide-28
SLIDE 28

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Solving all-pairs replacement paths problem For each u ∈ V and i ∈ [0, log2 n], do Compute and store δ(u, v, x) for all x lying at level 2i in G. Compute and store δ(u, v, x) for all x lying at level 2i in Gr. (guess why ... ) Compute and store δ(u, v, P) for all paths P starting from a vertex at level 2i−1 to level 2i. (guess why ...)

slide-29
SLIDE 29

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Recent results on replacement paths Efficient solution for Approximate replacement paths Efficient solution for Planar graphs

slide-30
SLIDE 30

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Single source shortest paths in presence of vertex failure Trivial upper bound preprocessing time: O(mn) space: O(n2) Lower bounds preprocessing time: Ω(m√n) space: Ω(n2)

slide-31
SLIDE 31

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

New results for approximate replacement paths

slide-32
SLIDE 32

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

New results for approximate replacement paths Compact data structures for Single Source approximate shortest paths avoiding any failed vertex

slide-33
SLIDE 33

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

New results for approximate replacement paths Compact data structures for Single Source approximate shortest paths avoiding any failed vertex All-pairs approximate shortest paths avoiding any failed vertex

slide-34
SLIDE 34

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

New results for approximate replacement paths Compact data structures for Single Source approximate shortest paths avoiding any failed vertex All-pairs approximate shortest paths avoiding any failed vertex Optimality !! the size of our data structures nearly match their best static

  • counterpart. [STACS 2010]
slide-35
SLIDE 35

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Single source version best static result keep a shortest path tree, space = O(n)

slide-36
SLIDE 36

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Single source version best static result keep a shortest path tree, space = O(n) New result I Single source approx. shortest paths avoiding a failed vertex Stretch Space Weighted graph 3 O(n log n)

slide-37
SLIDE 37

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Single source version best static result keep a shortest path tree, space = O(n) New result I Single source approx. shortest paths avoiding a failed vertex Stretch Space Weighted graph 3 O(n log n) Unweighted graph (1 + ǫ) O(n/ǫ3 log n)

slide-38
SLIDE 38

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

All-pairs version best static result by Thorup and Zwick [JACM 2005] All-pairs (2k − 1)-Approximate shortest paths oracle Stretch Space Query time (2k − 1) O(kn1+1/k) O(k)

slide-39
SLIDE 39

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

All-pairs version best static result by Thorup and Zwick [JACM 2005] All-pairs (2k − 1)-Approximate shortest paths oracle Stretch Space Query time (2k − 1) O(kn1+1/k) O(k) New result II For unweighted graphs, an oracle capable of handling single vertex failure

slide-40
SLIDE 40

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

All-pairs version best static result by Thorup and Zwick [JACM 2005] All-pairs (2k − 1)-Approximate shortest paths oracle Stretch Space Query time (2k − 1) O(kn1+1/k) O(k) New result II For unweighted graphs, an oracle capable of handling single vertex failure Stretch Space Query time (2k − 1)(1 + ǫ) O( k

ǫ4n1+1/k log n)

O(k)

slide-41
SLIDE 41

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

New results for planar graphs [unpublished]

slide-42
SLIDE 42

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

single source Preprocessing time: O(n log4) Space: O(n log4 n) Query time: O(log2 n)

slide-43
SLIDE 43

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

single source Preprocessing time: O(n log4) Space: O(n log4 n) Query time: O(log2 n) All-pairs Preprocessing time: O(n√n) Space: O(n√n) Query time: O(√n)

slide-44
SLIDE 44

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Open problems For weighted graphs, is it possible to have single source

  • racle with O(n) space but stretch better than 3 ?
slide-45
SLIDE 45

Shortest paths problem in static setting Replacement paths problem for a source destination pair All-pairs shortest paths avoiding ve

Open problems For weighted graphs, is it possible to have single source

  • racle with O(n) space but stretch better than 3 ?

Extending the results of planar graphs to bounded genus graphs.