论文标题
快速,实用的DAG分解与可及性应用
Fast and Practical DAG Decomposition with Reachability Applications
论文作者
论文摘要
我们提出了实用的线性和几乎线性时间算法,以计算有向无环图(DAG)的链分解,$ g =(v,e)$。计算出的顶点 - 偶链链的数量非常接近最小值。我们算法的时间复杂性为$ O(| e |+c*l)$,其中$ c $是路径串联的数量,而$ l $是该图最长路径的长度。我们在以下各节中对因素$ c $和$ l $做出了全面的解释。我们的技术在许多领域都有重要的应用,包括设计更快的实用及物闭合算法。我们观察到$ | e_ {red} | \ leq width*| v | $($ e_ {red} $:非传播边缘),并展示如何使用线性链分解时间在线性时间中找到$ e_ {tr} $的大量$ e_ {tr} $(tristitive Edges),而无需计算传递性封闭。我们广泛的实验结果表明,在各种图形模型中,宽度,$ e_ {red} $,$ e_ {tr} $之间的相互作用。我们展示了如何在$ o(k_c*| e_ {red} |)$时间中计算可及性索引方案,其中$ k_c $是链的数量,$ | e_ {red {red} | $是非传播边缘的数量。该方案可以在恒定时间内回答Reachabilitiy查询。该方案的空间复杂性为$ O(K_C*| V |)$。实验结果表明,在实践中,我们的方法比理论界限的暗示还要好,这表明链分解算法的速度可以应用于传递闭合问题。
We present practical linear and almost linear-time algorithms to compute a chain decomposition of a directed acyclic graph (DAG), $G=(V,E)$. The number of vertex-disjoint chains computed is very close to the minimum. The time complexity of our algorithm is $O(|E|+c*l)$, where $c$ is the number of path concatenations and $l$ is the length of a longest path of the graph. We give a comprehensive explanation on factors $c$ and $l$ in the following sections. Our techniques have important applications in many areas, including the design of faster practical transitive closure algorithms. We observe that $|E_{red}|\leq width*|V|$ ($E_{red}$: non-transitive edges) and show how to find a substantially large subset of $E_{tr}$ (transitive edges) using a chain decomposition in linear time, without calculating the transitive closure. Our extensive experimental results show the interplay between the width, $E_{red}$, $E_{tr}$ in various models of graphs. We show how to compute a reachability indexing scheme in $O(k_c*|E_{red}|)$ time, where $k_c$ is the number of chains and $|E_{red}|$ is the number of non-transitive edges. This scheme can answer reachabilitiy queries in constant time. The space complexity of the scheme is $O(k_c*|V|)$. The experimental results reveal that our methods are even better in practice than the theoretical bounds imply, indicating how fast chain decomposition algorithms can be applied to the transitive closure problem.