子线性时间内的跨越邻接预言

摘要:在给定一个$n$个节点,$m$条边的输入图$G$的情况下,目标是计算一个包含$O(n)$条边的生成子图$H$。可以通过广度优先搜索在线性$O(m + n)$时间内实现。但我们是否可以希望在一定的参数范围内实现\textbf{亚线性}运行时间呢? 如果目标是以邻接表的形式返回$H$,则存在简单的下界证明需要$Omega(m + n)$时间复杂度。如果目标是以邻接矩阵的形式返回$H$,则需要$Omega(n^2)$的时间复杂度仅仅用于写入输出矩阵的条目。但是,我们表明如果目标是返回一个\textbf{隐式}邻接矩阵(即称为邻接预处理器)$H$,则这些下界不再适用。邻接预处理器是一种数据结构,它给用户以一个邻接矩阵已被计算的假象:它接受边查询$(u, v)$,并以接近恒定的时间返回一个指示$(u, v) in E(H)$的比特。 我们的主要结果是,可以构造一个包含最多$(1+varepsilon)n$条边的邻接预处理器,在$ ilde{O}(n varepsilon^{-1})$的时间内,且该构造时间是接近最优的。其他结果包括在足够密集的输入图上构造$k$-连通证书和跨度器的邻接预处理器,这些预处理器同样在次线性时间内完成。 我们的邻接预处理器与图稀疏化的局部计算算法(Local Computation Algorithms,LCA)密切相关;它们可以被视为将一些计算移动到预处理步骤中的LCA,以加速查询。我们的预处理器意味着第一个用于计算一般输入图的稀疏生成子图的局部算法,查询时间为$ ilde{O}(n)$,方法是构建我们的邻接预处理器,进行一次查询,然后丢弃其余预处理器。这解决了Rubinfeld在CSR '17中提出的一个开放问题。

作者:Greg Bodwin and Henry Fleischmann

论文ID:2308.13890

分类:Data Structures and Algorithms

分类简称:cs.DS

提交时间:2023-08-29

PDF 下载: 英文版 中文版pdf翻译中