Fast algorithms for (max, min)-matrix multiplication and bottleneck shortest paths

  • Authors:
  • Ran Duan;Seth Pettie

  • Affiliations:
  • University of Michigan;University of Michigan

  • Venue:
  • SODA '09 Proceedings of the twentieth Annual ACM-SIAM Symposium on Discrete Algorithms
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given a directed graph with a capacity on each edge, the all-pairs bottleneck paths (APBP) problem is to determine, for all vertices s and t, the maximum flow that can be routed from s to t. For dense graphs this problem is equivalent to that of computing the (max, min)-transitive closure of a real-valued matrix. In this paper, we give a (max, min)-matrix multiplication algorithm running in time O(n(3+ω)/2) ≤ O(n2.688), where ω is the exponent of binary matrix multiplication. Our algorithm improves on a recent O(n2+ω/3) ≤ O(n2.792)- time algorithm of Vassilevska, Williams, and Yuster. Although our algorithm is slower than the best APBP algorithm on vertex capacitated graphs, running in O(n2.575) time, it is just as efficient as the best algorithm for computing the dominance product, a problem closely related to (max, min)-matrix multiplication. Our techniques can be extended to give subcubic algorithms for related bottleneck problems. The all-pairs bottleneck shortest paths problem (APBSP) asks for the maximum flow that can be routed along a shortest path. We give an APBSP algorithm for edge-capacitated graphs running in O(n(3+ω)/2) time and a slightly faster O(n2.657)-time algorithm for vertex-capactitated graphs. The second algorithm significantly improves on an O(n2.859)-time APBSP algorithm of Shapira, Yuster, and Zwick. Our APBSP algorithms make use of new hybrid products we call the distance-max-min product and dominance-distance product.