1 / 37

Distance sensitivity oracles

Distance sensitivity oracles. Surender Baswana Department of CSE, IIT Kanpur. 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

sugar
Download Presentation

Distance sensitivity oracles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distance sensitivity oracles SurenderBaswana 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+nlog n) Dijkstra’s algorithm O(mn)Bellman Ford algorithm All-pairs shortest paths(APSP): Space:O(n2) Preprocessing time : O(n3) Floyd Warshal algorithm O(mn+n2log n)Johnson’s algorithm O(mn+n2loglogn) [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 • Repairmechanism 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. Results on distance sensitivity oracles

  8. A related problem: replacement paths problem s 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 Dijkstra’s algorithm from s in G\{e}. Time complexity: O(mn) P(s,t) t Also the best till date

  9. A related problem: replacement paths problem Better bounds available for replacement paths problem for Undirected graphs: Time complexity: O(m+n log n) [Gupta et al. 1989] [Hershberger and Suri, 2001] Unweighted directed graphs: Time complexity: O(m)(Randomized MonteCarlo algorithm) [Rodittyand Zwick 2005]

  10. Single source distance sensitivity oracle Query: report d(s,v,x) for any v,x ϵV Trivial solution: For each xϵ V, store a shortest paths tree in G\{x} Space: ϴ(n2) Preprocessing time: O(mn+n2log n) Lower bound (even for the replacement paths problem): Space: Ω(m) Preprocessing time: Ω(m) [Hershberger, Suri, Bhosle 2004] Also the best known

  11. Single source distance sensitivity oraclefor 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 approximatedistance 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: ϴ(n3) Preprocessing time: O(mn2+n3log n) Upper bound: Space: ϴ(n2log n) [Demetrescu et al. 2008] Preprocessing time: O(mnpolylog n) [Bernstein 2009]

  14. Replacement PATHS Problem in Undirected graphs

  15. Replacement paths problem in undirected graphs s 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+nlog n) Tools needed : • Fundamental of shortest paths problem • Dijkstra’s algorithm P(s,t) t

  16. Replacement paths problem in undirected graphs s T xi ei xi+1 t

  17. Replacement paths problem in undirected graphs How will P(s,t,ei)look like ? s Ui xi ei xi+1 u t Di

  18. Replacement paths problem in undirected graphs What about P(v,t,e)? s 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 Ui xi ei xi+1 u t v Di

  19. Replacement paths problem in undirected graphs • Compute shortest path tree rooted at s • Compute shortest path tree rooted at t • For i=1 to k do ei) = min Space = O(n) Preprocessing time : • Use heap data structure to compute ei) efficiently O(m+n log n)

  20. all-pairs distance sensitivity oracle

  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. j n 1 i A 29 41.5 3.1 99 781 67.4

  22. Range-minima problem Why does O(n2) 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 Ω(n2) space. n 1 i A 29 41.5 3.1 99 781 67.4 True fact wrong inference

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

  24. Range-minima problem : O(n log n) space 8 4 2 1 A n 1 i Compute (n × log n) matrix Ms.t. M[i,t] = min {A[i],A[i+1],….,A[i + ] }

  25. Range-minima problem : O(n log n) space A n 1 i j j

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

  27. All-pairs distance sensitivity oracleTools and Observations: 1 2 4

  28. All-pairs distance sensitivity oracleTools and Observations: 1 2 4 z y x

  29. All-pairs distance sensitivity oracleBuilding it in pieces… Forward data structure : For the graph G: Each vertex u ϵ V keeps the following information: For each level i ≤ log n, For each vertex x at level , a data structure storing d(u,v,x) for each descendant of x. Space occupied by Forward data structure per vertex: O(n log n)

  30. All-pairs distance sensitivity oracleOne more Observation: Let GR 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 GR. d(u,v,x)in G is the same as d(v,u,x)inGR

  31. All-pairs distance sensitivity oracleBuilding it in pieces… Backward data structure : For the graph GR: Each vertex u ϵ V keeps the following information: For each level i ≤ log n, For each vertex x at level , a data structure storing d(u,v,x) for each descendant of x. Space occupied by Backward data structure per vertex: O(n log n)

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

  33. Exploring ways to compute d(u,v,x) … x u’(x) v’(x) v u The Detour of P(u,v,x) skips all vertices from P(u,v) lying from level to

  34. All-pairs distance sensitivity oracleBuilding it in pieces… Middle data structure : For the graph G: Each vertex u ϵ V keeps the following information: For each level i ≤ log n, For each vertex subpath P(x,y)originating at level a data structure storing d(u,v,P)for each descendant v of y. Space occupied by Middledata structure per vertex: O(n log n) Total space of data structure: O(n2)

  35. Open problems

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

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

More Related