A minimum path cover (MPC) of a directed acyclic graph (DAG) G = (V, E) is a minimum-size set of paths that together cover all the vertices of the DAG. The size k of a MPC is also called the width of G. Computing a MPC is a basic problem, dating back to Dilworth's and Fulkerson's results in the 1950s, and is solvable in quadratic time in the worst case. Since the width of the DAG can be small in practical applications (e.g., from bioinformatics), research has also studied algorithms whose complexity is parameterized on k. Despite these efforts, it is a major open problem whether there exists a linear-time O(f(k)(| E | + | V |)) parameterized algorithm . We present here two significant results in this direction. First, we obtain an O(  | E| + k^2| V| \log{|V|)-time algorithm, which in particular is faster than all existing MPC algorithms when k = o(\sqrt{|V|}/\log{|V|}) and |E| = \omega(k|V|) but |E| = o(|V|^2). We obtain this by a new combination of three techniques: transitive edge sparsification, divide-and-conquer, and shrinking. This algorithm is also simple and can be parallelized, making it ideal for practical use. We also show that some basic problems on DAGs (reachability queries, longest increasing / common subsequence, co-linear chaining) get faster algorithms as immediate corollaries of this result. Second, we obtain an O(poly(k)(2}  ^k|E| + 4^k|V|) ) -time algorithmfor the dual problem of computing the width of the DAG. This is based on the notion of frontier antichains , generalizing the standard notion of right-most maximum antichain . As we process the vertices in a topological order, these at most 2^k frontier antichains can be maintained with the help of several combinatorial properties . As such, it is enough to sweep the graph once from left to right, paying only f(k) along the way , which is a new surprising insight into the classical MPC problem .
The width k of a directed acyclic graph (DAG) G = (V, E) equals the largest number of pairwise non-reachable vertices. Computing the width dates back to Dilworth's and Fulkerson's results in the 1950s, and is doable in quadratic time in the worst case. Since k can be small in practical applications , research has also studied algorithms whose complexity is parameterized on k. Despite these efforts, it is still open whether there exists a linear-time O(f(k)(| V | + | E |)) parameterized algorithm computing the width. We answer this question affirmatively by presenting an O( k^24^k | V| )-time algorithm, which in particular is faster than all existing MPC algorithms when k = o(\sqrt{|V|}/\log{|V|}) and |E| = \omega(k|V|) but |E| = o(|V|^2). We obtain this by a new combination of three techniques: transitive edge sparsification, divide-and-conquer, and shrinking. This algorithm is also simple and can be parallelized, making it ideal for practical use. We also show that some basic problems on DAGs (reachability queries, longest increasing / common subsequence, co-linear chaining) get faster algorithms as immediate corollaries of this result. Second, we obtain an O(poly(k)(2} + k2 ^k|E| ) time algorithm, based on a new notion of frontier antichains . As we process the vertices in a topological order, all frontier antichains can be maintained with the help of several combinatorial properties , paying only f(k) along the way . The fact that the width can be computed by a single f(k)-sweep of the DAG is a new surprising insight into this classical problem. Our algorithm also allows deciding whether the DAG has width at most w in time O(f(\min(w,k))(|V|+|E|)) .
R
A minimum path cover (MPC)
The width k
R
is a minimum-size set of paths that together cover all the vertices of the DAG. The size k of a MPC is also called the width of G. Computing a MPC is a basic problem, dating
equals the largest number of pairwise non-reachable vertices. Computing the width dates
R
solvable
doable
R
the width of the DAG
k
R
(e.g., from bioinformatics),
,
R
a major open problem
still open
R
E
V
R
V
E
R
. We present here two significant results in this direction. First, we obtain
computing the width. We answer this question affirmatively by presenting
A
k^24^k
D
E| + k^2|
D
\log{|V|
A
+ k2
D
+ 4^k|V|)
R
-time algorithmfor the dual problem of computing the width of the DAG. This is based on the
time algorithm, based on a new
D
, generalizing the standard notion of right-most maximum antichain
R
these at most 2^k
all
R
. As such, it is enough to sweep the graph once from left to right,
,
R
, which
. The fact that the width can be computed by a single f(k)-sweep of the DAG
R
the classical MPC problem
this classical problem. Our algorithm also allows deciding whether the DAG has width at most w in time O(f(\min(w,k))(|V|+|E|))