Faster algorithms for packing forests in graphs and related problems
Abstract
We consider several problems related to packing forests in graphs. The first one is to find k edge-disjoint forests in a directed graph G of maximal size such that the indegree of each vertex in these forests is at most k. We describe a min-max characterization for this problem and show that it can be solved in almost linear time for fixed k, extending the algorithm of [Gabow, 1995]. Specifically, the complexity is O(k δ m n), where n, m are the number of vertices and edges in G respectively, and δ = \1, k - kG\, where kG is the edge connectivity of the graph. Using our solution to this problem, we improve complexities for two existing applications: (1) k-forest problem: find k forests in an undirected graph G maximizing the number of edges in their union. We show how to solve this problem in O(k3 \kn, m\ 2 n + k · MAXFLOW(m, m) n) time, breaking the Ok(n3/2) complexity barrier of previously known approaches. (2) Directed edge-connectivity augmentation problem: find a smallest set of directed edges whose addition to the given directed graph makes it strongly k-connected. We improve the deterministic complexity for this problem from O(k δ (m+δ n) n) [Gabow, STOC 1994] to O(k δ m n). A similar approach with the same complexity also works for the undirected version of the problem.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.