A Nearly Optimal Algorithm for Approximating Replacement Paths and k Shortest Simple Paths in General Graphs Abhilasha Seth CSCE 669.

Slides:



Advertisements
Similar presentations
Lower Bounds for Additive Spanners, Emulators, and More David P. Woodruff MIT and Tsinghua University To appear in FOCS, 2006.
Advertisements

Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Single Source Shortest Paths
Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
* Bellman-Ford: single-source shortest distance * O(VE) for graphs with negative edges * Detects negative weight cycles * Floyd-Warshall: All pairs shortest.
Definitions Distance Diameter Radio Labeling Span Radio Number Gear Graph.
Radio Labeling of Ladder Graphs Josefina Flores Kathleen Lewis From: California State University Channel Islands Advisors: Dr. Tomova and Dr.Wyels Funding:
The Greedy Approach Chapter 8. The Greedy Approach It’s a design technique for solving optimization problems Based on finding optimal local solutions.
1 Appendix B: Solving TSP by Dynamic Programming Course: Algorithm Design and Analysis.
Dynamic All Pairs Shortest Paths Based on the following resources: Camil Demetrescu and Giuseppe F. Italiano (2004) A New Approach to Dynamic All Pairs.
Chapter 25: All-Pairs Shortest-Paths
Lectures on Network Flows
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
1 Spanning Trees Lecture 20 CS2110 – Spring
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Dean H. Lorenz, Danny Raz Operations Research Letter, Vol. 28, No
Graph Algorithms: Shortest Path We are given a weighted, directed graph G = (V, E), with weight function w: E R mapping.
Data Structures, Spring 2004 © L. Joskowicz 1 Data Structures – LECTURE 16 All shortest paths algorithms Properties of all shortest paths Simple algorithm:
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
Shortest Paths1 C B A E D F
Approximation Algorithms
The Shortest Path Problem
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
KNURE, Software department, Ph , N.V. Bilous Faculty of computer sciences Software department, KNURE The distance.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Dijkstra's algorithm.
Graphs – Shortest Path (Weighted Graph) ORD DFW SFO LAX
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2012 Lecture 10.
On Graph Query Optimization in Large Networks Alice Leung ICS 624 4/14/2011.
Prims’ spanning tree algorithm Given: connected graph (V, E) (sets of vertices and edges) V1= {an arbitrary node of V}; E1= {}; //inv: (V1, E1) is a tree,
Minimum weight spanning trees
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Speeding Up Enumeration Algorithms with Amortized Analysis Takeaki Uno (National Institute of Informatics, JAPAN)
© The McGraw-Hill Companies, Inc., Chapter 12 On-Line Algorithms.
Introduction to Algorithms All-Pairs Shortest Paths My T. UF.
11 -1 Chapter 12 On-Line Algorithms On-Line Algorithms On-line algorithms are used to solve on-line problems. The disk scheduling problem The requests.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Chapter 14 Section 3 - Slide 1 Copyright © 2009 Pearson Education, Inc. AND.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
Graphs 1 Neil Ghani University of Strathclyde. Where are we …. We studied lists: * Searching and sorting a list Then we studied trees: * Efficient search.
Introduction to the Design and Analysis of Algorithms
Graph Algorithms BFS, DFS, Dijkstra’s.
Randomized Algorithms CS648
Advanced Algorithms Analysis and Design
Applied Combinatorics, 4th Ed. Alan Tucker
Haitao Wang Utah State University WADS 2017, St. John’s, Canada
Advanced Algorithms Analysis and Design
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
CSC 380: Design and Analysis of Algorithms
Graph Algorithms: Shortest Path
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Chapter 24: Single-Source Shortest-Path
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Data Structures and Algorithm Analysis Lecture 8
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

A Nearly Optimal Algorithm for Approximating Replacement Paths and k Shortest Simple Paths in General Graphs Abhilasha Seth CSCE 669

Replacement Paths G = (V,E) - directed graph with positive edge weights ‘s’, ‘t’ - specified vertices π(s, t) - shortest path between them Replacement Paths: For every edge ‘e’ on π(s, t) Find shortest path from ‘s’ to ‘t’ that avoids ‘e’. Motivation Finding shortest path considering edge failures. Naïve Solution Remove each edge ‘e’ one at a time, calculate shortest s-t path O(mn + n 2 log n) Recently improved to - O(mn+n 2 log log n)

Approximation (1 + ε ) approximate replacement paths, ε = [0,1) For positive weighted, directed graphs O(mlog(nC/c)/ ε) time C- largest edge weight c – smallest edge weight α-approximate O(T(n)) algorithm for replacement paths: α –approximate O(T(n)) algorithm for computing second shortest simple path Just take the shortest replacement path

Notations G = (V, E) is directed graph with positive weights n = |V|, m = |E| ‘s’ and ‘t’ are arbitrary vertices For any path P, w(P) - length of P π(s, t) – shortest path π(s, t) = (s = v 1 ; v 2 ; :::; v q = t), q = 2 b for some b δ(x, y) = w (π(s, t)) π 2 (s, t) – second shortest path from s to t δ 2 (s,t) – analogous Aim – compute (1+ ε) approximation of π 2 (s, t)

Definitions Detour of P P is a simple path D(u,v) is a u-v simple path is a detour of P if: D(u,v) ∩ P = {u, v} u precedes v on P

Definitions The second shortest path from ‘s’ to ‘t’ is of the form: π(s, vi) o D(vi, vk) o π(vk, t) D(vi, vk) is a detour of π(s, t) Span of a detour D(vi, vk) = k – i

Approach Find s-t path with sufficiently large detour span Use it as an upper bound on δ 2 (s,t) Progressively improve upper bound – O(log q ) phases ‘i'th phase – Detour span in [q/2 i, q/2 i-1 ] Compute shortest s-t path

Approach W i be the length of shortest path s-t for phase i U i be the length of shortest path s-t with detour span >= q/2 i If q = 16 iDetour Span 1[q/2, q][8, 16] 2[q/4, q/2][4,8] 3[q/8, q/4][2,4] 4[q/16, q/8][1,2]

Approach Concept Either we can efficiently compute exact shortest path of ‘i’th phase. Shortest path of some phase j < i is (1 + ε ) approximation of shortest path of ‘i’th phase. Construct an algorithm which returns O(log q) values R 1 … R logq that satisfy the properties:

Approach Letting R = min i { R i }, we have R is a suitable approximation to the second shortest path Aim – find an algorithm which outputs a value of R i for (log q) phases which satisfy the three properties.

Algorithm Label some vertices as ‘start’ vertices Other vertices as ‘end’ vertices To find simple shortest path s-t, find shortest path whose detour: Starts at a ‘start’ vertex Ends at an ‘end’ vertex Modify the edges of G such that Remove incoming edges to start vertices Remove outgoing edges from end vertices Remove all edges on π(s, t) For every start vertex, add edge (s, v) with weight δ(s, v) For every end vertex, add edge (v, t) with weight δ(v, t)

Algorithm Any path of the form: π(s, vi) o D(vi, vk) o π(vk, t) is represented in the modified graph if a. vi is a start vertex b. vk is an end vertex

Computing R i ‘i’ th phase – compute shortest path with detour span [q/2 i, q/2 i-1 ] Split π(s, t) into intervals of size q/2 i. Let I 1, I 2,…. I 2^i be the intervals Split the phase into four sub phases. Label every fourth interval with start vertex For each subphase ‘j’, calculate R[i][j] R[i][j] is the length of the shortest path in i’th phase and j’th subphase

Computing R i Calculating Shortest distance Use Modified Dijikstra’s algorithm Progressive Dijikstra’s algorithm For every stage, do not start from scratch Use information from previous stages Since we are looking for approximation Explore a vertex ‘u’ only if the distance is significantly lower than previous stages Relax an edge (u’, u): Set c[u] = c[u’] + w(u’, u) Only if c[u’] + w(u’, u) < c[u]/ (1 + ε )

Calculating Replacement Paths Avoid vertices instead of edges. Extending the algorithm to avoid edges is easy: Insert a vertex in the middle of an edge Re-run the algorithm to avoid that vertex Le c[i, j, k ](v g )be the value of c(v g ) at the end of stage k of progressive Dijikstra’s algorithm.

Conclusion Second Shortest Path Approximation Final approximation to δ 2 (s,t) = min i,j { R[i, j] } Replacement Paths Final approximation to δ(s,t,v i ) = min i,j { m[i, j] (v i ) } Replacement Algorithm - O(mlog(nC/c)/ ε) time Hope – get rid of log(nC/c) in the approximation replacement paths