-
Blocking Trails for $f$-factors of Multigraphs
Authors:
Harold N. Gabow
Abstract:
Blocking flows, introduced by Dinic [2] for network flow, have been used to speed up many augmenting-path type algorithms, especially matching algorithms e.g., [18, 23, 16]. We present an $O(m)$ time algorithm for blocking trails for f-factors of general multigraphs. This improves a previous algorithm by a factor of $α(m,n)$. This speeds up a number of efficient algorithms for f-factors, e.g., the…
▽ More
Blocking flows, introduced by Dinic [2] for network flow, have been used to speed up many augmenting-path type algorithms, especially matching algorithms e.g., [18, 23, 16]. We present an $O(m)$ time algorithm for blocking trails for f-factors of general multigraphs. This improves a previous algorithm by a factor of $α(m,n)$. This speeds up a number of efficient algorithms for f-factors, e.g., the algorithm of [11] for maximum weight f-matching improves by the aforementioned $α(m,n)$ factor to running time $O( \sqrt {Φ\log Φ} m \log (ΦW) )$ for $Φ=\sum _{v\in V} f(v)$, $W$ the maximum edge weight. This time bound is within a factor $\sqrt {\log Φ}$ of the bound for bipartite multigraphs. The technical difficulty for this work stems from the fact that previous algorithms for both matching and $f$-matching use vertex contractions to form blossoms, but our dfs-based approach necessitates using edge contractions. As an example difficulty, edge contractions introduce a new form of blossoms we call "skew blossoms". These are configurations that must be reorganized in order to become valid blossoms.
△ Less
Submitted 7 December, 2021;
originally announced December 2021.
-
The Weighted Matching Approach to Maximum Cardinality Matching
Authors:
Harold N. Gabow
Abstract:
Several papers have achieved time $O(\sqrt n m)$ for cardinality matching, starting from first principles. This results in a long derivation. We simplify the task by employing well-known concepts for maximum weight matching. We use Edmonds' algorithm to derive the structure of shortest augmenting paths. We extend this to a complete algorithm for maximum cardinality matching in time $O(\sqrt n m)$.
Several papers have achieved time $O(\sqrt n m)$ for cardinality matching, starting from first principles. This results in a long derivation. We simplify the task by employing well-known concepts for maximum weight matching. We use Edmonds' algorithm to derive the structure of shortest augmenting paths. We extend this to a complete algorithm for maximum cardinality matching in time $O(\sqrt n m)$.
△ Less
Submitted 11 March, 2017;
originally announced March 2017.
-
Data Structures for Weighted Matching and Extensions to $b$-matching and $f$-factors
Authors:
Harold N. Gabow
Abstract:
This paper shows the weighted matching problem on general graphs can be solved in time $O(n(m + n\log n))$ for $n$ and $m$ the number of vertices and edges, respectively. This was previously known only for bipartite graphs. The crux is a data structure for blossom creation. It uses a dynamic nearest-common-ancestor algorithm to simplify blossom steps, so they involve only back edges rather than ar…
▽ More
This paper shows the weighted matching problem on general graphs can be solved in time $O(n(m + n\log n))$ for $n$ and $m$ the number of vertices and edges, respectively. This was previously known only for bipartite graphs. The crux is a data structure for blossom creation. It uses a dynamic nearest-common-ancestor algorithm to simplify blossom steps, so they involve only back edges rather than arbitrary nontree edges.
The rest of the paper presents direct extensions of Edmonds' blossom algorithm to weighted $b$-matching and $f$-factors. Again the time bound is the one previously known for bipartite graphs: for $b$-matching the time is $O(\min\{b(V),n\log n\}(m + n\log n))$ and for $f$-factors the time is $O(\min\{f(V),m\log n\}( m + n\log n) )$, where $b(V)$ and $f(V)$ denote the sum of all degree constraints. Several immediate applications of the $f$-factor algorithm are given: The generalized shortest path structure of \cite{GS13}, i.e., the analog of the shortest path tree for conservative undirected graphs, is shown to be a version of the blossom structure for $f$-factors. This structure is found in time $O(|N|(m+n\log n))$ for $N$ the set of negative edges ($0<|N|<n$). A shortest $T$-join is found in time $O(n(m+n\log n))$, or $O(|T|(m+n\log n))$ when all costs are nonnegative. These bounds are all slight improvements of previously known ones, and are simply achieved by proper initialization of the $f$-factor algorithm.
△ Less
Submitted 22 November, 2016;
originally announced November 2016.
-
A Data Structure for Nearest Common Ancestors with Linking
Authors:
Harold N. Gabow
Abstract:
Consider a forest that evolves via $link$ operations that make the root of one tree the child of a node in another tree. Intermixed with $link$ operations are $nca$ operations, which return the nearest common ancestor of two given nodes when such exists. This paper shows that a sequence of $m$ such $nca$ and $link$ operations on a forest of $n$ nodes can be processed on-line in time…
▽ More
Consider a forest that evolves via $link$ operations that make the root of one tree the child of a node in another tree. Intermixed with $link$ operations are $nca$ operations, which return the nearest common ancestor of two given nodes when such exists. This paper shows that a sequence of $m$ such $nca$ and $link$ operations on a forest of $n$ nodes can be processed on-line in time $O(mα(m,n)+n)$. This was previously known only for a restricted type of $link$ operation. The special case where a $link$ only extends a tree by adding a new leaf occurs in Edmonds' algorithm for finding a maximum weight matching on a general graph. Incorporating our algorithm into the implementation of Edmonds' algorithm in \cite{G17} achieves time $O(n(m + n\log n))$ for weighted matching, an arguably optimum asymptotic bound ($n$ and $m$ are the number of vertices and edges, respectively).
△ Less
Submitted 21 November, 2016;
originally announced November 2016.
-
Set-merging for the Matching Algorithm of Micali and Vazirani
Authors:
Harold N. Gabow
Abstract:
The algorithm of Micali and Vazirani \cite{MV} finds a maximum cardinality matching in time $O(\sqrt n m)$ if an efficient set-merging algorithm is used. The latter is provided by the incremental-tree set-merging algorithm of \cite{GabTar}. Details of this application to matching were omitted from \cite{GabTar} and are presented in this note.
The algorithm of Micali and Vazirani \cite{MV} finds a maximum cardinality matching in time $O(\sqrt n m)$ if an efficient set-merging algorithm is used. The latter is provided by the incremental-tree set-merging algorithm of \cite{GabTar}. Details of this application to matching were omitted from \cite{GabTar} and are presented in this note.
△ Less
Submitted 31 December, 2014;
originally announced January 2015.
-
Algebraic Algorithms for b-Matching, Shortest Undirected Paths, and f-Factors
Authors:
Harold N. Gabow,
Piotr Sankowski
Abstract:
Let G=(V,E) be a graph with f:V\to Z_+ a function assigning degree bounds to vertices. We present the first efficient algebraic algorithm to find an f-factor. The time is \tilde{O}(f(V)^ω). More generally for graphs with integral edge weights of maximum absolute value W we find a maximum weight f-factor in time \tilde{O}(Wf(V)^ω). (The algorithms are randomized, correct with high probability and L…
▽ More
Let G=(V,E) be a graph with f:V\to Z_+ a function assigning degree bounds to vertices. We present the first efficient algebraic algorithm to find an f-factor. The time is \tilde{O}(f(V)^ω). More generally for graphs with integral edge weights of maximum absolute value W we find a maximum weight f-factor in time \tilde{O}(Wf(V)^ω). (The algorithms are randomized, correct with high probability and Las Vegas; the time bound is worst-case.) We also present three specializations of these algorithms: For maximum weight perfect f-matching the algorithm is considerably simpler (and almost identical to its special case of ordinary weighted matching). For the single-source shortest-path problem in undirected graphs with conservative edge weights, we present a generalization of the shortest-path tree, and we compute it in \tilde{O(Wn^ω) time. For bipartite graphs, we improve the known complexity bounds for vertex capacitated max-flow and min-cost max-flow on a subclass of graphs.
△ Less
Submitted 24 April, 2013;
originally announced April 2013.
-
A Model for Minimizing Active Processor Time
Authors:
Jessica Chang,
Harold N. Gabow,
Samir Khuller
Abstract:
We introduce the following elementary scheduling problem. We are given a collection of n jobs, where each job has an integer length as well as a set Ti of time intervals in which it can be feasibly scheduled. Given a parameter B, the processor can schedule up to B jobs at a timeslot t so long as it is "active" at t. The goal is to schedule all the jobs in the fewest number of active timeslots. The…
▽ More
We introduce the following elementary scheduling problem. We are given a collection of n jobs, where each job has an integer length as well as a set Ti of time intervals in which it can be feasibly scheduled. Given a parameter B, the processor can schedule up to B jobs at a timeslot t so long as it is "active" at t. The goal is to schedule all the jobs in the fewest number of active timeslots. The machine consumes a fixed amount of energy per active timeslot, regardless of the number of jobs scheduled in that slot (as long as the number of jobs is non-zero). In other words, subject to all units of each job being scheduled in its feasible region and at each slot at most B jobs being scheduled, we are interested in minimizing the total time during which the machine is active. We present a linear time algorithm for the case where jobs are unit length and each Ti is a single interval. For general Ti, we show that the problem is NP-complete even for B = 3. However when B = 2, we show that it can be efficiently solved. In addition, we consider a version of the problem where jobs have arbitrary lengths and can be preempted at any point in time. For general B, the problem can be solved by linear programming. For B = 2, the problem amounts to finding a triangle-free 2-matching on a special graph. We extend the algorithm of Babenko et. al. to handle our variant, and also to handle non-unit length jobs. This yields an O(sqrt(L)m) time algorithm to solve the preemptive scheduling problem for B = 2, where L is the sum of the job lengths. We also show that for B = 2 and unit length jobs, the optimal non-preemptive schedule has at most 4/3 times the active time of the optimal preemptive schedule; this bound extends to several versions of the problem when jobs have arbitrary length.
△ Less
Submitted 1 August, 2012;
originally announced August 2012.
-
Algorithmic Applications of Baur-Strassen's Theorem: Shortest Cycles, Diameter and Matchings
Authors:
Marek Cygan,
Harold N. Gabow,
Piotr Sankowski
Abstract:
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 solutio…
▽ More
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^ω) 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^ω) 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^ω) 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^ω) 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.
△ Less
Submitted 17 August, 2012; v1 submitted 7 April, 2012;
originally announced April 2012.