An FPT Algorithm for Directed Spanning k-Leaf
An out-branching of a directed graph is a rooted spanning tree with all arcs directed outwards from the root. We consider the problem of deciding whether a given directed graph D has an out-branching with at least k leaves (Directed Spanning k-Leaf). We prove that this problem is fixed parameter tractable, when k is chosen as the parameter. Previously this was only known for restricted classes of directed graphs. The main new ingredient in our approach is a lemma that shows that given a locally optimal out-branching of a directed graph in which every arc is part of at least one out-branching, either an out-branching with at least k leaves exists, or a path decomposition with width O(k^3) can be found. This enables a dynamic programming based algorithm of running time 2^{O(k^3 \log k)} n^{O(1)}, where n=|V(D)|.
💡 Research Summary
The paper addresses the Directed Spanning k‑Leaf problem: given a directed graph D, decide whether there exists an out‑branching (a spanning arborescence rooted at some vertex r, with all arcs directed away from r) that contains at least k leaves (vertices of out‑degree zero). While the analogous problem on undirected graphs has long been known to be fixed‑parameter tractable (FPT) with respect to k, the directed version remained open for general digraphs; previous FPT results applied only to restricted classes such as strongly connected digraphs or acyclic digraphs.
The authors present the first FPT algorithm that works for all directed graphs. The algorithm follows a high‑level scheme introduced earlier for special classes but augments it with two crucial new ingredients:
-
Removal of “useless” arcs. For a candidate root r, an arc (u, v) is called useless if no out‑branching rooted at r can contain it. The authors show that (u, v) is useless exactly when there is no directed path from r to u that avoids v. This condition can be tested in polynomial time for every arc, allowing the construction of a reduced digraph D′ in which every remaining arc belongs to at least one out‑branching rooted at r.
-
Computation of a 1‑optimal out‑branching. An out‑branching T is 1‑optimal if no single “1‑change” (replace the unique in‑arc of a vertex v by a non‑tree arc (u, v) and delete the former in‑arc) can increase the number of leaves. The paper proves two simple lemmas: a 1‑change yields another out‑branching iff v is not reachable from u in T, and it increases the leaf count iff the head of the inserted arc is not already a leaf or a successor of a branch vertex. Using these criteria, a 1‑optimal out‑branching can be found in polynomial time by repeatedly applying improving 1‑changes until none exist.
With a 1‑optimal out‑branching T in hand, the algorithm examines the structure of backward arcs. For each leaf ℓ of T and each vertex z that lies on the directed path from the root to ℓ, the set B_T(z, ℓ) consists of arcs whose heads appear before z on that path while their tails lie between z and ℓ. The authors focus on the subset H_B_T(z, ℓ) of heads that are not successors of branch vertices. The key technical lemma shows:
- If there exists a pair (z, ℓ) with |H_B_T(z, ℓ)| ≥ 6k², then one can construct, in polynomial time, an out‑branching with at least k leaves.
- Otherwise, for every pair the set is smaller than 6k², and the tree T can be decomposed into a path decomposition of the underlying undirected graph D′_u whose width is bounded by 6k³.
The existence of a bounded‑width path decomposition enables a classic dynamic programming (DP) approach: each bag of the decomposition contains O(k³) vertices, so the DP state space is 2^{O(k³ log k)}. Traversing the decomposition yields a decision (YES/NO) in time proportional to this state space times a polynomial factor in n = |V(D)|.
The overall algorithm (Algorithm 3.1) iterates over all possible roots r such that every vertex is reachable from r (i.e., R_D(r) = V(D)). For each r it performs the three steps above: (i) delete useless arcs, (ii) compute a 1‑optimal out‑branching, (iii) either directly answer YES (if enough leaves are already present or the backward‑arc condition holds) or construct the path decomposition and run DP. If none of the roots yields a YES answer, the algorithm returns NO.
Complexity. The preprocessing and 1‑optimal construction are polynomial in n and m. The DP step dominates the running time, giving a total complexity of
2^{O(k³ log k)} · n^{O(1)}.
Thus the algorithm is fixed‑parameter tractable with respect to k, and its parameter dependence improves upon earlier results that required quadratic or exponential dependence on k for restricted graph classes.
Significance. The paper introduces a novel use of the partial order induced by an out‑branching to quantify backward arcs, and shows how this quantitative measure can be turned into either a constructive large‑leaf out‑branching or a structural decomposition of bounded width. The removal of useless arcs simplifies the graph without losing any feasible solutions, a step that was not needed in prior work on special graph families. By combining these ideas, the authors bridge the gap between the undirected and directed versions of the maximum leaf spanning tree problem, providing the first general‑purpose FPT algorithm for the directed case.
Future directions. Potential improvements include tightening the width bound from O(k³) to O(k²) or reducing the exponent in the parameter dependence, perhaps by refining the analysis of backward arcs or by employing more sophisticated kernelization techniques. Moreover, the methodology of exploiting partial orders and path decompositions may be applicable to other directed‑graph optimization problems such as directed feedback vertex set, directed domination, or connectivity augmentation.
Comments & Academic Discussion
Loading comments...
Leave a Comment