This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 6.889 Lecture 25: SingleSource Shortest Paths with Negative Lengths in MinorFree Graphs Christian Sommer csom@mit.edu December 12, 2011 Setting directed graph G = ( V,A ) , underlying undirected graph is H minorfree, arbitrary real arc lengths : A R or integer arc lengths : A Z such that a : ( a ) > L for some L > SingleSource Shortest Path cannot use Dijkstras algorithm since arc lengths may be negative General H MinorFree Planar O ( mn ) BellmanFord 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 ) HighLevel Algorithm (framework) based on separators and r divisions 1. compute r division 2. FOR EACH piece P , compute feasible price function P (BellmanFord, or Goldberg, or recurse) nonnegative 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 ) allpairs 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 ) nonnegative 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 BellmanFord in time O ( r log r ) , overall O ( n log r ) nontrivial, 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/path05slides.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.
 Fall '11
 ErikDemaine
 Algorithms

Click to edit the document details