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

## Presentation on theme: "Surender Baswana Department of CSE, IIT Kanpur. Surender Baswana Department of CSE, IIT Kanpur."— Presentation transcript:

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

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]

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.

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

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

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

A related problem: replacement paths problem

Single source distance sensitivity oracle Also the best known

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]

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]

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]

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)

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

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

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

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

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

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

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

Range-minima problem : O(n log n) space 2 4 8 1 i n 1 A

i n 1 A j

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

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

4 2 1 x y z

All-pairs distance sensitivity oracle Building it in pieces…

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

All-pairs distance sensitivity oracle Building it in pieces…

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)?

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

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

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

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

Similar presentations