We present an O(√nlogn)-approximation algorithm for the problem of finding the sparsest spanner of a given directed graph G on n vertices. A spanner of a graph is a sparse subgraph that approximately preserves distances in the original graph. More precisely, given a graph G=(V,E) with nonnegative edge lengths d:E→ℝ0 and a stretch k≥1, a subgraph H=(V,EH) is a k-spanner of G if for every edge (s,t)∈E, the graph H contains a path from s to t of length at most k·d(s,t). The previous best approximation ratio was Õ(n2/3), due to Dinitz and Krauthgamer (STOC E11). We also improve the approximation ratio for the important special case of directed 3-spanners with unit edge lengths from Õ(n) to O(n1/3logn). The best previously known algorithms for this problem are due to Berman, Raskhodnikova and Ruan (FSTTCS E10) and Dinitz and Krauthgamer. The approximation ratio of our algorithm almost matches Dinitz and KrauthgamerEs lower bound for the integrality gap of a natural linear programming relaxation. Our algorithm directly implies an O(n 1/3logn)-approximation for the 3-spanner problem on undirected graphs with unit lengths. An easy O(√n)-approximation algorithm for this problem has been the best known for decades. Finally, we consider the Directed Steiner Forest problem: given a directed graph with edge costs and a collection of ordered vertex pairs, find a minimum-cost subgraph that contains a path between every prescribed pair. We obtain an approximation ratio of O(n 2/3+ε) for any constant ε>0, which improves the O( nε×min(n4/5,m2/3)) ratio due to Feldman, Kortsarz and Nutov (JCSSE12).
ASJC Scopus subject areas
- Theoretical Computer Science
- Information Systems
- Computer Science Applications
- Computational Theory and Mathematics