中文

用于大型图中三角形列举的通用连接算法

数据库 2015-01-28 v1

摘要

我们研究了在核外环境下将通用连接算法应用于三角形列举问题。特别地,我们聚焦于 Veldhuizen 2014 提出的 Leapfrog Triejoin (LFTJ),这是一种最近提出的、最坏情况最优的算法。我们提出了“装箱”:一种向 LFTJ 输入数据的新颖而概念上简单的方法。我们广泛的分析表明,这种方法是 I/O 高效的,并且在某种意义上是最坏情况最优的。此外,如果输入数据仅比可用内存大一个常数因子,那么装箱的 LFTJ 本质上保持了原始 LFTJ 的 CPU 数据复杂度。接下来,聚焦于应用于三角形查询的 LFTJ,我们表明对于许多图,装箱的 LFTJ 匹配了最近由 Hu、Tao 和 Yufei 提出的、用于核外环境下列举三角形的专用算法 MGT 的 I/O 复杂度。我们还通过考虑不仅以边数而且以其密度度量为特征的输入图族,加强了 LFTJ 针对三角形查询的计算复杂度分析。例如,我们证明对于平面图,LFTJ 实现了 O(ElogE)O(|E|\log|E|) 的 CPU 复杂度,而在一般图上,没有算法能快于 O(E1.5)O(|E|^{1.5})。最后,我们对三角形列举问题进行了实验评估,证实了我们的理论结果并展示了我们方法的整体有效性。在我们所有的真实和合成数据集(其中一些包含超过 12 亿条边)上,单线程模式下的 LFTJ 与专用 MGT 的差距在 3 倍以内;正如我们所展示的,这一性能损失可以通过并行化来缓解。

关键词

引用

@article{arxiv.1501.06689,
  title  = {General-Purpose Join Algorithms for Listing Triangles in Large Graphs},
  author = {Daniel Zinn},
  journal= {arXiv preprint arXiv:1501.06689},
  year   = {2015}
}