在对数轮次内基于 Map-reduce 寻找连通分量
数据结构与算法
2012-11-14 v2 数据库
摘要
给定一个具有数百万节点和边的大型图 G = (V,E),我们如何高效地计算其连通分量?近期的工作在 map-reduce 中解决了这一问题,其中存在 map-reduce 轮次数与每轮通信量之间的基本权衡。记 d 为图的直径,n 为最大分量中的节点数,所有先前的 map-reduce 技术要么需要 d 轮,要么每轮需要约 n|V| + |E| 的通信量。我们提出了两种随机化 map-reduce 算法—— Hash-Greater-To-Min,可证明其以高概率在至多 3log(n) 轮内完成,且每轮通信量至多为 2(|V| + |E|);以及 Hash-to-Min,其理论复杂度较差,但在实际应用中至多在 2log(d) 轮内完成,且每轮通信量为 3(|V| + |E|)。我们用于连通分量的技术同样可应用于聚类。我们提出了一种在 map-reduce 中进行凝聚式单链接聚类的新颖算法。这是第一个可证明在至多 O(log(n)) 轮内完成聚类的算法,其中 n 为最大簇的大小。我们通过在大型合成数据集及真实世界数据集上的详细实验,展示了所有算法的有效性。
关键词
引用
@article{arxiv.1203.5387,
title = {Finding Connected Components on Map-reduce in Logarithmic Rounds},
author = {Vibhor Rastogi and Ashwin Machanavajjhala and Laukik Chitnis and Anish Das Sarma},
journal= {arXiv preprint arXiv:1203.5387},
year = {2012}
}