All-pairs bottleneck paths in vertex weighted graphs

  • Authors:
  • Asaf Shapira;Raphael Yuster;Uri Zwick

  • Affiliations:
  • Microsoft Research;University of Haifa, Haifa, Israel;Tel Aviv University, Tel Aviv, Israel

  • Venue:
  • SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Let G = (V, E, w) be a directed graph, where w : V ← R is an arbitrary weight function defined on its vertices. The bottleneck weight, or the capacity, of a path is the smallest weight of a vertex on the path. For two vertices u, v the bottleneck weight, or the capacity, from u to v, denoted c(u, v), is the maximum bottleneck weight of a path from u to v. In the All-Pairs Bottleneck Paths (APBP) problem we have to find the bottleneck weights for all ordered pairs of vertices. Our main result is an O(n2.575) time algorithm for the APBP problem. The exponent is derived from the exponent of fast matrix multiplication. Our algorithm is the first sub-cubic algorithm for this problem. Unlike the sub-cubic algorithm for the all-pairs shortest paths (APSP) problem, that only applies to bounded (or relatively small) integer edge or vertex weights, the algorithm presented for APBP problem works for arbitrary large vertex weights. The APBP problem has numerous applications, and several interesting problems that have recently attracted attention can be reduced to it, with no asymptotic loss in the running times of the known algorithms for these problems. Some examples are a result of Vassilevska and Williams [STOC 2006] on finding a triangle of maximum weight, a result of Bender et al. [SODA 2001] on computing least common ancestors in DAGs and a result of Kowaluk and Lingas [ICALP 2005] on finding maximum witnesses for boolean matrix multiplication. Thus, the APBP problem provides a uniform framework for these applications. For some of these problems, we can in fact show that their complexity is equivalent to that of the APBP problem. A slight modification of our algorithm enables us to compute shortest paths of maximum bottleneck weight. Let d(u, v) denote the (unweighted) distance from u to v, and let sc(u, v) denote the maximum bottleneck weight of a path from u to v having length d(u, v). The All-Pairs Bottleneck Shortest Paths (APBSP) problem is to compute sc(u, v) for all ordered pairs of vertices. We present an algorithm for the APBSP problem whose running time is O(n2.86).