Core decomposition is a fundamental operator in network analysis. In this paper, we study the problem of computing distance-generalized core decomposition on a network. A distance-generalized core, also termed $(k, h)$-core, is a maximal subgraph in which every vertex has at least $k$ other vertices at distance no larger than $h$. The state-of-the-art algorithm for solving this problem is based on a peeling technique which iteratively removes the vertex (denoted by $v$) from the graph that has the smallest $h$-degree. The $h$-degree of a vertex $v$ denotes the number of other vertices that are reachable from $v$ within $h$ hops. Such a peeling algorithm, however, needs to frequently recompute the $h$-degrees of $v$'s neighbors after deleting $v$, which is typically very costly for a large $h$. To overcome this limitation, we propose an efficient peeling algorithm based on a novel $h$-degree updating technique. Instead of recomputing the $h$-degrees, our algorithm can dynamically maintain the $h$-degrees for all vertices via exploring a very small subgraph, after peeling a vertex. We show that such an $h$-degree updating procedure can be efficiently implemented by an elegant bitmap technique. In addition, we also propose a sampling-based algorithm and a parallelization technique to further improve the efficiency. Finally, we conduct extensive experiments on 12 real-world graphs to evaluate our algorithms. The results show that, when $h\ge 3$, our exact and sampling-based algorithms can achieve up to $10\times$ and $100\times$ speedup over the state-of-the-art algorithm, respectively.
翻译:核心分解是网络分析的基本操作器。 在本文中, 我们研究的是计算网络中远程一般核心分解的分解问题。 远程通用核心, 也称为$( k, h) $( 核心), 是一个最大子谱, 每个顶点在不大于$h的距离上至少拥有$( k) 其他脊椎。 解决这一问题的最先进的算法是基于一种剥离技术, 它会反复地从具有最小美元水平的图表中去除顶点( 以美元为单位 ) 。 一个高端核心, 也称为$( k, h) $( 美元) 核心, 表示其他脊椎的数量。 然而, 这种剥离算法需要经常在删除美元之后重新估算 $( av) 邻居的度, 通常以美元为基点, 通常非常昂贵的 美元 。 为了克服这一限制, 我们提议以新的 美元 美元 美元 水平的 算法, 也可以通过新 美元 的 美元 的 水平 不断 不断 更新 的 水平, 显示我们 10 水平 的 水平 的 的 的 水平 水平 的 的 的 水平 的 方法 来显示我们 的 的 的 的 水平 的 的 水平 的,, 水平 水平, 以 以 新的 的 水平 的 水平 的 的, 以 的 的 的 的 以 新的 水平 水平 的 的 的 的 的 的 的 的 的 的 的 水平 。