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 [email protected] 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 Dijkstra’s 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 Goldberg’s 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 Goldberg’s algorithm in O ( r √ r log L ) , overall O ( n √ r log L ) (could recurse instead of running Goldberg’s 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 Goldberg’s 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 Goldberg’s 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
 Fall '11
 ErikDemaine
 Algorithms, Graph Theory, Andrew V. Goldberg, feasible price function

Click to edit the document details