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

Slides:



Advertisements
Similar presentations
Bellman-Ford algorithm
Advertisements

Lower Bounds for Additive Spanners, Emulators, and More David P. Woodruff MIT and Tsinghua University To appear in FOCS, 2006.
Graph Algorithms - 3 Algorithm Design and Analysis Victor AdamchikCS Spring 2014 Lecture 13Feb 12, 2014Carnegie Mellon University.
Graphs: basic definitions and notation Definition A (undirected, unweighted) graph is a pair G = (V, E), where V = {v 1, v 2,..., v n } is a set of vertices,
Single Source Shortest Paths
all-pairs shortest paths in undirected graphs
Algorithmic Mechanism Design: an Introduction VCG-mechanisms for some basic network optimization problems: The Minimum Spanning Tree problem Guido Proietti.
Minimum Weight Cycle Liam Roditty Bar-Ilan University Based on: Approximating the girth, (SODA`11) with Roei Tov (BIU) Minimum Weight Cycles and Triangles:
Approximate Distance Oracles and Spanners with sublinear surplus Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University.
1 Efficient algorithms on sets of permutations, dominance, and real-weighted APSP Raphael Yuster University of Haifa.
Competitive fault tolerant Distance Oracles and Routing Schemes Weizmann Open U Weizmann Bar Ilan Shiri Chechik Michael Langberg David Peleg Liam Roditty.
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
* Bellman-Ford: single-source shortest distance * O(VE) for graphs with negative edges * Detects negative weight cycles * Floyd-Warshall: All pairs shortest.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Dynamic Graph Algorithms - I
~1~ Infocom’04 Mar. 10th On Finding Disjoint Paths in Single and Dual Link Cost Networks Chunming Qiao* LANDER, CSE Department SUNY at Buffalo *Collaborators:
A Nearly Optimal Algorithm for Approximating Replacement Paths and k Shortest Simple Paths in General Graphs Abhilasha Seth CSCE 669.
CS2420: Lecture 37 Vladimir Kulyukin Computer Science Department Utah State University.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
CSE 780 Algorithms Advanced Algorithms Graph Algorithms Representations BFS.
CS541 Advanced Networking 1 Routing and Shortest Path Algorithms Neil Tang 2/18/2009.
1 Exact and Approximate Distances in Graphs – A Survey Uri Zwick Tel Aviv University.
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
Improved Randomized Algorithms for Path Problems in Graphs PhD Thesis Surender Baswana Department of Computer Science & Engineering, I.I.T. Delhi Research.
Directed graphs Definition. A directed graph (or digraph) is a pair (V, E), where V is a finite non-empty set of vertices, and E is a set of ordered pairs.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Near Optimal Streaming algorithms for Graph Spanners Surender Baswana IIT Kanpur.
Distance sensitivity oracles in weighted directed graphs Raphael Yuster University of Haifa Joint work with Oren Weimann Weizmann inst.
Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik.
Data Structures & Algorithms Shortest Paths Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Graph Algorithms Why graph algorithms ? It is not a “graph theory” course! Many problems in networks can be modeled as graph problems. Note that -The topology.
Dijkstra animation. Dijksta’s Algorithm (Shortest Path Between 2 Nodes) 2 Phases:initialization;iteration Initialization: 1. Included:(Boolean) 2. Distance:(Weight)
Data Structures for Emergency Planning Cyril Gavoille (LaBRI, University of Bordeaux) 8 th FoIKS Bordeaux – March 3, 2014.
Fully Dynamic Approximate Distance Oracles for Planar Graphs via Forbidden-Set Distance Labels Presented by: Shiri Chechik (Weizmann Institute) Joint with:
Shortest Paths.
Forbidden-Set Distance Labels for Graphs of Bounded Doubling Dimension
Shortest Paths and Minimum Spanning Trees
Dijkstra’s Algorithm SSSP, non-neg Edge weights = w(x,y)
CSC317 Shortest path algorithms
Improved Randomized Algorithms for Path Problems in Graphs
Shortest Path Problems
CS330 Discussion 6.
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
All-Pairs Shortest Paths (26.0/25)
CS223 Advanced Data Structures and Algorithms
Greedy Technique.
Greedy Algorithms / Dijkstra’s Algorithm Yin Tat Lee
Randomized Algorithms CS648
Shortest Paths.
Shortest-Paths Trees Kun-Mao Chao (趙坤茂)
Shortest Path Problems
Shortest Path Algorithms
Shortest Paths and Minimum Spanning Trees
Advanced Algorithms Analysis and Design
Honors Track: Competitive Programming & Problem Solving Avoiding negative edges Steven Ge.
Algorithms (2IL15) – Lecture 7
Algorithms: Design and Analysis
Exact and Approximate Distances in Graphs – A Survey
Chapter 24: Single-Source Shortest Paths
CS 584 Project Write up Poster session for final Due on day of final
Dynamic Graph Algorithms
Shortest Paths.
Chapter 24: Single-Source Shortest Paths
Distance-preserving Subgraphs of Interval Graphs
Answering distance queries in directed graphs using fast matrix multiplication Raphael Yuster Haifa University Uri Zwick Tel Aviv University.
Parallel Graph Algorithms
All Pairs Shortest Path Examples While the illustrations which follow only show solutions from vertex A (or 1) for simplicity, students should note that.
Routing in Networks with Low Doubling Dimension
Forbidden-set labelling in graphs
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 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 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 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 ?