Triangle centrality is introduced for finding important vertices in a graph based on the concentration of triangles surrounding each vertex. An important vertex in triangle centrality is at the center of many triangles, and therefore it may be in many triangles or none at all. We give optimal algorithms that compute triangle centrality in $O(m\sqrt{m})$ time and $O(m+n)$ space. Using fast matrix multiplication it takes $n^{\omega+o(1)}$ time where $\omega$ is the matrix product exponent. On a Concurrent Read Exclusive Write (CREW) Parallel Random Access Memory (PRAM) machine, we give a near work-optimal algorithm that takes $O(\log n)$ time using $O(m\sqrt{m})$ CREW PRAM processors. In MapReduce, we show it takes four rounds using $O(m\sqrt{m})$ communication bits, and is therefore optimal. We also give a deterministic algorithm to find the triangle neighborhood and triangle count of each vertex in $O(m\sqrt{m})$ time and $O(m+n)$ space. Our empirical results demonstrate that triangle centrality uniquely identified central vertices thirty-percent of the time in comparison to five other well-known centrality measures, while being asymptotically faster to compute on sparse graphs than all but the most trivial of these other measures.
翻译:在基于每个顶点周围三角的集中度的图表中,为查找重要的顶点,引入了三角三角中心中心点,而三角中心点的一个重要顶点位于许多三角的中心点,因此可能是许多三角点的中心点,因此可能是许多三角点或根本没有。我们给出了计算三角中心点的最佳算法,以$O(m\sqrt{m})美元、时间和$O(m+n)美元计算三角中心点。使用快速矩阵乘法,它需要美元(m ⁇ omega+o(1)}$\omega$(m+n)美元(美元)的快速模型产品输出。在同时阅读专用书写(CREW)平行随机访问存储(PRAM)机器中,我们给出了一个接近工作最佳的算法算法,用$(m\sqrgn n) 来计算三角中心点核心点($) 。在地图中,我们显示它需要用$(m\qrentral) 通讯点的已知值位元比,因此是最佳的。我们还给一个确定但确定性算法性算法的三角点 区区区和三角点数 最核心值的计算。