DAG 中的全点对 LCA:突破 $O(n^{2.5})$ 壁垒
数据结构与算法
2020-11-16 v2
摘要
设 为一个 顶点有向无环图(DAG)。两个顶点 和 的最低公共祖先(LCA)是 和 的一个公共祖先 ,使得 的任何后代都不具有该性质。在本文中,我们考虑计算 DAG 中所有顶点对的 LCA(若存在)的问题。该问题已知最快的算法利用快速矩阵乘法子程序,运行时间从 [Bender et al. SODA'01] 到 [Kowaluk and Lingas ICALP'05] 和 [Czumaj et al. TCS'07] 不等。有些令人惊讶的是,即使矩阵乘法可以最优求解(即 ),所有这些界仍会是 。这似乎是当前所有已知方法的一个固有壁垒,从而自然引出了能否突破该问题 壁垒的疑问。在本文中,我们肯定地回答了该问题:特别地,我们提出了一种 (当 时为 )的算法,用于寻找 DAG 中所有顶点对的 LCA,这是过去 13 年来该问题运行时间的首次改进。我们方法中的一个关键工具是一种快速算法,对于给定的参数 ,将 的传递闭包的顶集划分为 条链和 个反链的集合。通常,链是一条路径,而反链是一个独立集。然后,我们分别从链顶点和反链顶点中为所有顶点对寻找一个\emph{候选} LCA。第一组通过归约到最小-最大矩阵乘法获得。第二组的计算可类似于该问题的先前结果归约到布尔矩阵乘法。我们最终以谨慎(非显然)的方式将两种解结合在一起。
引用
@article{arxiv.2007.08914,
title = {All-Pairs LCA in DAGs: Breaking through the $O(n^{2.5})$ barrier},
author = {Fabrizio Grandoni and Giuseppe F. Italiano and Aleksander Łukasiewicz and Nikos Parotsidis and Przemysław Uznański},
journal= {arXiv preprint arXiv:2007.08914},
year = {2020}
}