178,340 research outputs found

    Minimum Cycle Basis and All-Pairs Min Cut of a Planar Graph in Subquadratic Time

    Full text link
    A minimum cycle basis of a weighted undirected graph GG is a basis of the cycle space of GG such that the total weight of the cycles in this basis is minimized. If GG is a planar graph with non-negative edge weights, such a basis can be found in O(n2)O(n^2) time and space, where nn is the size of GG. We show that this is optimal if an explicit representation of the basis is required. We then present an O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space algorithm that computes a minimum cycle basis \emph{implicitly}. From this result, we obtain an output-sensitive algorithm that explicitly computes a minimum cycle basis in O(n3/2logn+C)O(n^{3/2}\log n + C) time and O(n3/2+C)O(n^{3/2} + C) space, where CC is the total size (number of edges and vertices) of the cycles in the basis. These bounds reduce to O(n3/2logn)O(n^{3/2}\log n) and O(n3/2)O(n^{3/2}), respectively, when GG is unweighted. We get similar results for the all-pairs min cut problem since it is dual equivalent to the minimum cycle basis problem for planar graphs. We also obtain O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space algorithms for finding, respectively, the weight vector and a Gomory-Hu tree of GG. The previous best time and space bound for these two problems was quadratic. From our Gomory-Hu tree algorithm, we obtain the following result: with O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space for preprocessing, the weight of a min cut between any two given vertices of GG can be reported in constant time. Previously, such an oracle required quadratic time and space for preprocessing. The oracle can also be extended to report the actual cut in time proportional to its size

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

    Full text link
    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

    Shortest Odd Paths in Undirected Graphs with Conservative Weight Functions

    Full text link
    We consider the Shortest Odd Path problem, where given an undirected graph GG, a weight function on its edges, and two vertices ss and tt in GG, the aim is to find an (s,t)(s,t)-path with odd length and, among all such paths, of minimum weight. For the case when the weight function is conservative, i.e., when every cycle has non-negative total weight, the complexity of the Shortest Odd Path problem had been open for 20 years, and was recently shown to be NP-hard. We give a polynomial-time algorithm for the special case when the weight function is conservative and the set EE^- of negative-weight edges forms a single tree. Our algorithm exploits the strong connection between Shortest Odd Path and the problem of finding two internally vertex-disjoint paths between two terminals in an undirected edge-weighted graph. It also relies on solving an intermediary problem variant called Shortest Parity-Constrained Odd Path where for certain edges we have parity constraints on their position along the path. Also, we exhibit two FPT algorithms for solving Shortest Odd Path in graphs with conservative weight functions. The first FPT algorithm is parameterized by E|E^-|, the number of negative edges, or more generally, by the maximum size of a matching in the subgraph of GG spanned by EE^-. Our second FPT algorithm is parameterized by the treewidth of GG
    corecore