Covering Directed Graphs by In-trees
Given a directed graph $D=(V,A)$ with a set of $d$ specified vertices $S={s_1,…,s_d}\subseteq V$ and a function $f\colon S \to \mathbb{Z}+$ where $\mathbb{Z}+$ denotes the set of non-negative integers, we consider the problem which asks whether there exist $\sum_{i=1}^d f(s_i)$ in-trees denoted by $T_{i,1},T_{i,2},…, T_{i,f(s_i)}$ for every $i=1,…,d$ such that $T_{i,1},…,T_{i,f(s_i)}$ are rooted at $s_i$, each $T_{i,j}$ spans vertices from which $s_i$ is reachable and the union of all arc sets of $T_{i,j}$ for $i=1,…,d$ and $j=1,…,f(s_i)$ covers $A$. In this paper, we prove that such set of in-trees covering $A$ can be found by using an algorithm for the weighted matroid intersection problem in time bounded by a polynomial in $\sum_{i=1}^df(s_i)$ and the size of $D$. Furthermore, for the case where $D$ is acyclic, we present another characterization of the existence of in-trees covering $A$, and then we prove that in-trees covering $A$ can be computed more efficiently than the general case by finding maximum matchings in a series of bipartite graphs.
💡 Research Summary
The paper studies the problem of covering a directed graph with a prescribed collection of rooted in‑trees. Formally, we are given a digraph D = (V, A) together with a set S = {s₁,…,s_d} ⊆ V of distinguished vertices (the roots) and a non‑negative integer function f on S. For each root s_i we must construct exactly f(s_i) in‑trees rooted at s_i that span all vertices from which s_i is reachable. The union of the arc sets of all these in‑trees must equal the whole arc set A. The decision problem—does such a family of in‑trees exist?—is called CDGI (Covering Directed Graphs by In‑trees).
The authors first observe that if the graph is not “(S,f)‑proper”, i.e., if for some vertex v the total number of arcs incident to v (including the added arcs to a new super‑root s*) exceeds the total demand f(R_D(v)), then a solution is impossible. Assuming (S,f)‑properness, they transform the original instance into an auxiliary digraph D* by adding a new vertex s* and, for each root s_i, f(s_i) parallel arcs from s_i to s*. This construction enables a unified treatment of the multiple‑root requirement.
Two matroids are defined on the arc set A* of D*:
1. M(D*) is the sum of graphic matroids, one for each pair (i,j) where i indexes a root and j ∈ {1,…,f(s_i)}. An independent set in M(D*) is a collection of arcs that can be partitioned into f(s_i) forests, each forest lying inside V_i ∪ {s*} (where V_i is the set of vertices that can reach s_i in D). A basis of M(D*) corresponds to a collection of f(s_i) edge‑disjoint spanning trees rooted at s_i.
2. U(D*) is a partition matroid that limits, for each original vertex v, the number of incident arcs selected to be at most f(R_D(v)).
A set of arcs that is simultaneously a basis of both matroids is called a “complete D*‑intersection”. The authors prove (Theorem 2.4) that the existence of a complete D*‑intersection is equivalent to the existence of a D‑canonical set of arc‑disjoint in‑trees covering A, which in turn is equivalent to the condition that for every vertex v, the local arc‑connectivity from v to s* in D* is at least f(R_D(v)).
Thus the CDGI problem reduces to finding a minimum‑weight complete D*‑intersection. This is precisely the weighted matroid intersection (WMI) problem. Using known algorithms for WMI (e.g., Frank’s algorithm), the authors obtain a polynomial‑time solution whose running time is O(M·|A*|⁶) where M = ∑_{v∈V} f(R_D(v)). This bound is polynomial in both the total demand ∑ f(s_i) and the size of the input graph, thereby answering the open question of an algorithmic solution for CDGI in the general case.
For the special case where D is acyclic, the authors give a more efficient characterization. In a DAG the condition |δ⁻_{D*}(v)| ≤ f(R_D(v)) for all v is both necessary and sufficient for the existence of a feasible covering. They show that constructing a minimum‑size D*‑rooted connector (a set B of parallel arcs that, when added to D*, satisfies the connectivity requirement) can be done by a sequence of bipartite‑graph maximum‑matching problems. Each matching determines which additional arcs are needed to satisfy the demand at a particular vertex. Because maximum matching in a bipartite graph can be solved in O(|V|·|A|) time, the overall algorithm for DAGs runs in time polynomially smaller than the general‑case bound.
The paper also situates its contributions relative to prior work. Vidyasankar (1993) considered the single‑root case and gave a linear‑inequality characterization but no algorithm. Frank (1992) gave an NP‑hardness result for a related augmentation problem (IARA) and an algorithm for the rooted‑connector version when there is only one root. The present work generalizes these results to multiple roots with arbitrary non‑negative demands, provides a complete algorithmic framework for both general digraphs and DAGs, and connects the problem to well‑studied combinatorial optimization tools (matroid intersection and bipartite matching).
Finally, the authors motivate the problem with an evacuation‑planning scenario: vertices represent intersections and buildings, arcs represent roads, and the roots are safety locations. Each safety location can issue only a bounded number of evacuation instructions (the function f). The in‑trees correspond to non‑overlapping evacuation routes that together cover every road segment, ensuring that all people can be guided to safety without conflict. The algorithms presented thus have direct applicability to such logistical planning problems.
Comments & Academic Discussion
Loading comments...
Leave a Comment