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 (O) over tilde (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 (O) over tilde (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 (O) over tilde (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 (O) over tilde (Wn(omega)) time algorithm to find all the vertices that lie on cycles of length at most t, for given t. This improves an (O) over tilde (Wn(omega)t) time algorithm of Yuster.
机构:
Fields Inst Res Math Sci, 222 Coll St, Toronto, ON M5T 3J1, Canada
Univ Toronto, Bahen Ctr, Dept Math, 40 St George St,Room 6290, Toronto, ON M5S 2E4, CanadaFields Inst Res Math Sci, 222 Coll St, Toronto, ON M5T 3J1, Canada
机构:
Fields Inst Res Math Sci, 222 Coll St, Toronto, ON M5T 3J1, Canada
Univ Toronto, Bahen Ctr, Dept Math, 40 St George St, Room 6290, Toronto, ON M5S 2E4, CanadaFields Inst Res Math Sci, 222 Coll St, Toronto, ON M5T 3J1, Canada