中文

DAG中最低公共祖先的列举、验证与计数:算法与细粒度下界

数据结构与算法 2022-04-26 v1

摘要

AP-LCA问题要求,给定一个 nn 节点的有向无环图(DAG),为DAG中的每一对顶点 uuvv 计算它们的一个最低公共祖先(LCA)(如果存在)。在本文中,我们研究了AP-LCA的几个有趣变体,并为此提供了算法和细粒度下界。我们获得的下界是LCA问题中首个高于 nωo(1)n^{\omega-o(1)} 的条件下界,其中 ω\omega 是矩阵乘法指数。我们的部分结果包括:- 在任何DAG中,我们可以在 O(nω)O(n^\omega) 时间内检测所有最多有两个LCA的顶点对,并列出它们所有的LCA。该算法扩展了 [Kowaluk and Lingas ESA'07] 的结果,后者展示了一种 O~(nω)\tilde{O}(n^\omega) 时间的算法,用于检测DAG中具有唯一LCA的所有顶点对并输出其对应的LCA。- 在3-一致5-团超图检测需要 n5o(1)n^{5-o(1)} 时间的流行假设下,在DAG中为每个顶点对列举 77 个LCA需要 n3o(1)n^{3-o(1)} 时间。这令人惊讶,因为如果 ω=2\omega=2,列出所有LCA本质上只需立方时间就足够了。- 在强指数时间假设下,为DAG中的每个顶点对计算LCA的数量需要 n3o(1)n^{3-o(1)} 时间,而在 44-团假设下需要 nω(1,2,1)o(1)n^{\omega(1,2,1)-o(1)} 时间。这表明 [Echkardt, M"{u}hling and Nowak ESA'07] 提出的为每个顶点对列出所有LCA的算法很可能是最优的。- 给定一个DAG以及每个顶点对 u,vu,v 的一个顶点 wu,vw_{u,v},在3-一致4-团超图需要 n4o(1)n^{4 - o(1)} 时间的假设下,验证所有 wu,vw_{u,v} 是否为有效的LCA需要 n2.5o(1)n^{2.5-o(1)} 时间。这违背了验证比计算更容易的普遍直觉,因为为每个顶点对返回某个LCA可以在 O(n2.447)O(n^{2.447}) 时间内解决 [Grandoni et al. SODA'21]。

关键词

引用

@article{arxiv.2204.10932,
  title  = {Listing, Verifying and Counting Lowest Common Ancestors in DAGs: Algorithms and Fine-Grained Lower Bounds},
  author = {Surya Mathialagan and Virginia Vassilevska Williams and Yinzhan Xu},
  journal= {arXiv preprint arXiv:2204.10932},
  year   = {2022}
}

备注

To appear in ICALP 2022. Abstract shortened to fit arXiv requirement