L25 - 6.889 Lecture 25: Single-Source Shortest Paths with...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 6.889 Lecture 25: Single-Source Shortest Paths with Negative Lengths in Minor-Free Graphs Christian Sommer csom@mit.edu December 12, 2011 Setting directed graph G = ( V,A ) , underlying undirected graph is H minor-free, arbitrary real arc lengths : A R or integer arc lengths : A Z such that a : ( a ) >- L for some L > Single-Source Shortest Path cannot use Dijkstras algorithm since arc lengths may be negative General H Minor-Free Planar O ( mn ) Bellman-Ford O ( n 3 / 2 ) O ( n log 2 n ) Lecture 14 O ( m n log L ) Goldberg O ( n 4 / 3 log n log L ) today O ( n 5 / 4+ log L ) High-Level Algorithm (framework) based on separators and r divisions 1. compute r division 2. FOR EACH piece P , compute feasible price function P (Bellman-Ford, or Goldberg, or recurse) non-negative edge lengths in P ( reduced lengths P ( u,v ) = ( u,v )+ P ( u )- P ( v ) , details in L. 14) 3. FOR EACH piece P , compute dense distance graph DDG P ( P ) all-pairs distances among boundary nodes P distances with respect to subgraph induced by P , reduced lengths defined by and P 4. run Goldbergs algorithm on graph with vertex set S P P and arc set S P DDG P ( P ) know distances from s to all boundary nodes 5. FOR EACH piece P , compute distances from P to all v P Correctness proof similar to proof in Lecture 14 Running time analysis let r := ( n log L ) 2 / 3 (for recursive version set r := n 1- ) 1. r division in O ( n log n ) assuming fast O ( n ) separator ! 2. for O ( n/r ) pieces of size O ( r ) , run Goldbergs algorithm in O ( r r log L ) , overall O ( n r log L ) (could recurse instead of running Goldbergs algorithm) 3. for O ( n/r ) pieces of size O ( r ) , run O ( r ) non-negative SSSP computations, overall O ( n r ) (can potentially be done faster using a distance oracle, see for example Lecture 12) 4. run Goldbergs algorithm on graph with O ( n/ r ) vertices and O ( n ) arcs, time O ( n 3 / 2 r- 1 / 4 log L ) 5. for O ( n/r ) pieces, do O (log r ) iterations of Bellman-Ford in time O ( r log r ) , overall O ( n log r ) non-trivial, uses shortcuts such that shortest paths have at most O (log r ) arcs, proof in papers 1 Goldbergs Algorithm see also: references, slides of Andrew V. Goldberg: http://www.avglab.com/andrew/pub/path05-slides.pdf , and lecture notes of Uri Zwick: http://www.cs.tau.ac.il/http://www....
View Full Document

This note was uploaded on 01/20/2012 for the course CS 6.889 taught by Professor Erikdemaine during the Fall '11 term at MIT.

Page1 / 4

L25 - 6.889 Lecture 25: Single-Source Shortest Paths with...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online