{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

L25 - 6.889 — Lecture 25 Single-Source Shortest Paths...

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 Document Right 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 [email protected] 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 Dijkstra’s 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 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 ) non-negative 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 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 Goldberg’s 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

{[ snackBarMessage ]}

Page1 / 4

L25 - 6.889 — Lecture 25 Single-Source Shortest Paths...

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

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