Download presentation

Presentation is loading. Please wait.

Published byLane Cameron Modified over 2 years ago

1
Surender Baswana Department of CSE, IIT Kanpur. Surender Baswana Department of CSE, IIT Kanpur.

2
Shortest paths problem Definition: Given a graph G=(V,E), w: E R, build a data structure which can report shortest path or distance between any pair of vertices. P(u,v): shortest path from u to v d(u,v): distance from u to v Objective: reporting P(u,v) in O(|P(u,v)|) time reporting d(u,v) in O(1) time Number of edges on P(u,v)

3
Versions of the shortest paths problem Single source shortest paths (SSSP): Space: O(n) Preprocessing time : O(m+n log n) Dijkstras algorithm O(mn) Bellman Ford algorithm All-pairs shortest paths(APSP): Space: O(n 2 ) Preprocessing time : O(n 3 ) Floyd Warshal algorithm O(mn+n 2 log n) Johnsons algorithm O(mn+n 2 loglog n) [Pettie 2004]

4
Distance sensitivity oracle Notations: P(u,v,x): shortest path from u to v in G\{x} d(u,v,x): distance from u to v in in G\{x} Distance sensitivity oracle: A compact data structure capable of reporting P(u,v,x) and d(u,v,x) efficiently.

5
Motivation Model of a real life network: Prone to failure of nodes/links Failures are rare Repair mechanism exists usually (failed node/link is up after some time) Problem formulation: Given a parameter k << n, build a compact data structure which can report P(u,v,S) for any subset S of at most k vertices/edges. Natural generalization of shortest paths problem

6
Outline of the talk Survey of the results on distance sensitivity oracles Replacement-paths problem for undirected graphs All-pairs distance sensitivity oracle Open problems

7

8
A related problem: replacement paths problem Problem definition: Given a source s, destination t, compute d(u,v,e) efficiently for each e ϵ P(s,t). Trivial algorithm: For every edge e ϵ P(s,t), run Dijkstras algorithm from s in G\{e}. Time complexity: O(mn) s t P(s,t) Also the best till date

9
A related problem: replacement paths problem

10
Single source distance sensitivity oracle Also the best known

11
Single source distance sensitivity oracle for planar graphs For a planar graph G=(V,E) on n vertices and a source s, we can build a data structure for reporting d(s,v,x) with parameters: Space O(n polylog n) Preprocessing time O(n polylog n) Query time O(log n) [B., Lath, and Mehta SODA2012]

12
Single source approximate distance sensitivity oracle d(s,v,x) t d(s,v,x) for all v,x ϵ V Undirected unweighted graphs stretch: (1+ε) for any ε>0 space: O(n log n) Undirected weighted graphs stretch: 3 space: O(n log n) [B. and Khanna 2010]

13
All-pairs distance sensitivity oracle Query: report d(u,v,x) for any u,v,x ϵ V Trivial solution: For each v,xϵ V, store a shortest paths tree rooted at v in G\{x} Space: ϴ(n 3 ) Preprocessing time: O(mn 2 +n 3 log n) Upper bound: Space: ϴ(n 2 log n) [Demetrescu et al. 2008] Preprocessing time: O(mn polylog n) [Bernstein 2009]

14

15
Replacement paths problem in undirected graphs Given an undirected graph G=(V,E), source s, destination t, compute d(s,t,e) for each e ϵ P(s,t). Time complexity : O(m+n log n) Tools needed : Fundamental of shortest paths problem Dijkstras algorithm s t P(s,t)

16
Replacement paths problem in undirected graphs s t T xixi x i+1 eiei

17
Replacement paths problem in undirected graphs s t xixi x i+1 UiUi DiDi How will P(s,t,e i ) look like ? eiei u

18
Replacement paths problem in undirected graphs s t xixi x i+1 UiUi DiDi eiei u v What about P(v,t,e) ? d(s,t,e) = d(s,u) + w(e)+ d(v,t,e) for some edge (u,v) P(v,t,e) = P(v,t) for each v ϵ D

19
Replacement paths problem in undirected graphs O(m+n log n)

20

21
Range-minima problem Query: Report_min(A,i,j) : report smallest element from {A[i],…,A[j]} Aim : To build a compact data structure which can answer Report_min(A,i,j) in O(1) time for any 1 i < j n i jn 1 A

22
Range-minima problem Why does O(n 2 ) bound on space appear so hard to break ? … If we fix the first parameter i, we need Ω(n) space. So for all i, we need Ω(n 2 ) space A n i True fact wrong inference

23
Range-minima problem : O(n log n) space i j Using collaboration i n 1 A

24
Range-minima problem : O(n log n) space i n 1 A

25
i n 1 A j

26
All-pairs distance sensitivity oracle Tools and Observations: Definition: Portion of P(u,v,x) between a and b is called detour associated with P(u,v,x). uvx How does P(u,v,x) appear relative to P(u,v) ? ba

27
All-pairs distance sensitivity oracle Tools and Observations: 4 2 1

28
4 2 1 x y z

29
All-pairs distance sensitivity oracle Building it in pieces…

30
All-pairs distance sensitivity oracle One more Observation: Let G R be the graph G after reversing all the edge directions. Observation: Path P(u,v,x) in G is present, though with direction reversed, as P(v,u,x) in G R. d(u,v,x) in G is the same as d(v,u,x) in G R

31
All-pairs distance sensitivity oracle Building it in pieces…

32
Exploring ways to compute d(u,v,x) … u v t t u(x) x If Detour of P(u,v,x) departs after u(x), then we are done ! What if Detour of P(u,v,x) departs before u(x)? v(x) Use backward data structure at v to compute d(v,u,x) if possible What if Detour of P(u,v,x) enters P(u,v) after v(x)?

33
Exploring ways to compute d(u,v,x) … u v u(x)v(x) x

34
All-pairs distance sensitivity oracle Building it in pieces… Total space of data structure: O(n 2 )

35

36
Open Problems Open Problems Single source distance sensitivity oracle: (1+ε)-approximation for undirected weighted graphs.

37
Open Problems Open Problems All-pairs distance sensitivity oracle: Better space-query trade off for planar graphs ? Handling multiple failures ?

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google