使用HyperBall进行几何中心性的内存计算:千亿节点及更多
数据结构与算法
2013-08-13 v2 社会与信息网络
物理与社会
摘要
给定一个社交网络,哪些节点更中心?这个问题在社会学、心理学和计算机科学中被多次提出,并提出了大量中心性度量(又称中心性指标或排序)来解释网络中节点的重要性。本文研究在超大图上计算几何中心性(如紧密度和调和中心性)的问题;传统上,精确计算需要全对最短路径计算,近似计算需要多次广度优先遍历,但这些技术在高不连通图上给出的统计保证非常弱。我们假设图以半流式方式访问,即邻接表几乎顺序扫描,并且每个节点在内存中仅有非常小的空间(约十几个字节)。我们利用基于HyperLogLog计数器的新算法,能够以极高速度和精度近似多种几何中心性。虽然类似算法曾在MapReduce框架中用于近似紧密度,但我们利用HyperLogLog计数器将内存占用指数级降低,从而为使用“仅”2TiB RAM处理千亿节点网络的内存计算铺平了道路。此外,我们描述的计算本质上是可并行的,并且随可用核心数线性扩展。
引用
@article{arxiv.1308.2144,
title = {In-Core Computation of Geometric Centralities with HyperBall: A Hundred Billion Nodes and Beyond},
author = {Paolo Boldi and Sebastiano Vigna},
journal= {arXiv preprint arXiv:1308.2144},
year = {2013}
}