97 research outputs found
Algorithmic Applications of Baur-Strassen's Theorem: Shortest Cycles, Diameter and Matchings
Consider a directed or an undirected graph with integral edge weights from
the set [-W, W], that does not contain negative weight cycles. In this paper,
we introduce a general framework for solving problems on such graphs using
matrix multiplication. The framework is based on the usage of Baur-Strassen's
theorem and of Strojohann's determinant algorithm. It allows us to give new and
simple solutions to the following problems:
* Finding Shortest Cycles -- We give a simple \tilde{O}(Wn^{\omega}) time
algorithm for finding shortest cycles in undirected and directed graphs. For
directed graphs (and undirected graphs with non-negative weights) this matches
the time bounds obtained in 2011 by Roditty and Vassilevska-Williams. On the
other hand, no algorithm working in \tilde{O}(Wn^{\omega}) time was previously
known for undirected graphs with negative weights. Furthermore our algorithm
for a given directed or undirected graph detects whether it contains a negative
weight cycle within the same running time.
* Computing Diameter and Radius -- We give a simple \tilde{O}(Wn^{\omega})
time algorithm for computing a diameter and radius of an undirected or directed
graphs. To the best of our knowledge no algorithm with this running time was
known for undirected graphs with negative weights.
* Finding Minimum Weight Perfect Matchings -- We present an
\tilde{O}(Wn^{\omega}) time algorithm for finding minimum weight perfect
matchings in undirected graphs. This resolves an open problem posted by
Sankowski in 2006, who presented such an algorithm but only in the case of
bipartite graphs.
In order to solve minimum weight perfect matching problem we develop a novel
combinatorial interpretation of the dual solution which sheds new light on this
problem. Such a combinatorial interpretation was not know previously, and is of
independent interest.Comment: To appear in FOCS 201
Recommended from our members
Using Euler Partitions to Edge Color Bipartite Multigraphs ; CU-CS-082-75
An algorithm for coloring the edges of a bipartite multigraph using as few colors as possible is presented. The algorithm uses 0(V1/2E logV+V) time and 0(E+V) space. It is based on a divide-and-conquer strategy, using euler partitions to divide the graph. A modification of the algorithm for matching is described. This algorithm finds a maximum matching on a regular bipartite graph with all degrees 2^n, for some n, in 0(E+V) time and 0(E+V) space
Recommended from our members
Improved Bounds on the Number of 1-Factors on n-Connected Perfect Graphs ; CU-CS-086-76
Recommended from our members
A Good Algorithm for Minimum Spanning Trees with a Degree Constraint ; CU-CS-105-77
Given a connected graph with edge costs, we seek a spanning tree having a specified degree at one vertex r, with cost as small as possible. A previous algorithm, using edge exchanges, has run time 0(V^2); we improve this to 0(E log log V+V log V). Here V and E are the number of vertices and edges. The algorithm uses edge exchanges ordered efficiently on a reduced graph; it also uses efficient algorithms for minimum spanning trees and priority queues
Recommended from our members
An Almost-Linear Algorithm for Two Processor Scheduling ; CU-CS-169-80
N unit-length jobs subject to precedence constraints are to be scheduled on two processors to minimize finish time. Previous algorithms for this well-known problem begin by finding the transitive closure, and so use time 0(min(mn, n2.61)). An 0(m+nα(n)) algorithm is presented. The algorithm constructs a “lexicographic maximum schedule,” which is shown to be optimal
Recommended from our members
A Framework for Cost-Scaling Algorithms for Submodular Flow Problems ; CU-CS-661-93
- …