Computing a directed minimum spanning tree, called arborescence, is a fundamental algorithmic problem, although not as common as its undirected counterpart. In 1967, Edmonds discussed an elegant solution. It was refined to run in $O(\min(n^2, m\log n))$ by Tarjan which is optimal for very dense and very sparse graphs. Gabow et al.~gave a version of Edmonds' algorithm that runs in $O(n\log n + m)$, thus asymptotically beating the Tarjan variant in the regime between sparse and dense. Despite the attention the problem received theoretically, there exists, to the best of our knowledge, no empirical evaluation of either of these algorithms. In fact, the version by Gabow et al.~has never been implemented and, aside from coding competitions, all readily available Tarjan implementations run in $O(n^2)$. In this paper, we provide the first implementation of the version by Gabow et al.~as well as five variants of Tarjan's version with different underlying data structures. We evaluate these algorithms and existing solvers on a large set of real-world and random graphs.
翻译:一种直接的最小横贯树的计算方法,称为arborescence, 是一个基本的算法问题, 虽然不像其非方向的对应方那样常见。 1967年, Edmonds 讨论了一个优雅的解决方案。 由Tarjan 以美元( min( min) 2, m\log n) 运行, 由Tarjan 进行精细的精炼, 对于非常稠密和非常稀少的图形来说是最佳的。 Gabow 等人 等人 ~ gave 都有一个版本的Edmonds 算法, 以$O( n + m) 美元运行, 从而在分散和稠密的政权中以静态方式击败Tarjan 变式。 尽管从理论上看, 这个问题已经存在, 但从我们所了解的顶尖锐性的角度, 没有对这些算法进行经验性评估。 事实上, Gabow 等人 和 al. ~ 的版本从未被实施过, 除了编码竞争之外, 所有可用的 Tarjan 都以$O (n) 2美元运行。 。 在本文中, 我们提供了Gabroalgal- sal- sal- sal- sables and sets and sets lagal- sets.