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| + 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|))$.
翻译:定向环球图(DAG) $G = (V, E) 宽度 等于 (V, E) 最大对称不可接触的脊椎数量。 将宽度从1950年代的 Dilworth 和 Fulkeson 的结果计算为1950年代的宽度, 在最坏的情况下, 可以在四进制时间里使用。 由于美元在实际应用中可能很小, 研究还研究了复杂度以美元为参数的算法。 尽管作出了这些努力, 是否存在线性时间 $(f) (k) (V) + ⁇ E) 值的参数化算法以最大数量计算宽度仍然是开放的。 我们肯定地回答这个问题的方法是: $(k) 24 ⁇ k 和 Fulke + kük ⁇ ) 时间算法, 以新的边境防锁概念为基础, 。 当我们用表层处理螺旋时, 所有的边端反链都可以在几个组合性属性的帮助下维持, 沿着时间只支付$(k) $($) 。 (V) + + + + ⁇ Q 计算宽度计算宽度, 也可以在一个新的 AGAG.