Algorithmic Applications of Baur-Strassen's Theorem: Shortest Cycles, Diameter and Matchings

  • Authors:
  • Marek Cygan;Harold N. Gabow;Piotr Sankowski

  • Affiliations:
  • -;-;-

  • Venue:
  • FOCS '12 Proceedings of the 2012 IEEE 53rd Annual Symposium on Foundations of Computer Science
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Consider a directed or undirected graph with integral edge weights in [â'W, W ]. This paper introduces a general framework for solving problems on such graphs using matrix multiplication. The framework is based on the Baur-Strassen Theorem and Strojohannâs determinant algorithm. For directed and undirected graphs without negative cycles we obtain simple \tilde{O}(Wn^\omega) running time algorithms for finding a shortest cycle, computing the diameter or radius, and detecting a negative weight cycle. For each of these problems we unify and extend the class of graphs for which \tilde{O}(Wn^\omega) time algorithms are known. In particular no such algorithms were known for any of these problems in undirected graphs with (potentially) negative weights. We also present an \tilde{O}(Wn^\omega) time algorithm for minimum weight perfect matching. This resolves an open problem posed by Sankowski in 2006, who presented such an algorithm for bipartite graphs. Our algorithm uses a novel combinatorial interpretation of the linear program dual for minimum perfect matching. We believe this framework will find applications for finding larger spectra of related problems. As an example we give a simple \tilde{O}(Wn^\omega) time algorithm to find all the vertices that lie on cycles of length at most t, for given t. This improves a \tilde{O}(Wtn^\omega) time algorithm of Yuster.