Download presentation

Presentation is loading. Please wait.

Published byLane Cameron Modified over 4 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

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]

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)

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. 3.1 29 99 41.5 78167.4 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. 3.1 29 99 41.5 78167.4 1 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 2 4 8 1 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 )

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

OK

Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.

Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.

© 2018 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google