Tugraph Analytics 图计算快速上手之紧密中心度算法
作者:张武科
概述
**紧密中心度(Closeness Centrality)**计量了一个节点到其他所有节点的紧密性,即该节点到其他节点的距离的倒数;节点对应的值越高表示紧密性越好,能够在图中传播信息的能力越强,可用以衡量信息流入或流出该节点的能力,多用与社交网络中关键节点发掘等场景。
算法介绍
对于图中一个给定节点,紧密性中心性是该节点到其他所有节点的最小距离和的倒数:
其中,u 表示待计算紧密中心度的节点,d(u, v)表示节点 u 到节点 v 的最短路径距离;实际场景中,更多地使用归一化后的紧密中心度,即计算目标节点到其他节点的平均距离的倒数:
其中,n 表示图中节点数。
算法实现
首先,基于AlgorithmUserFunction
接口实现ClosenessCentrality
,如下:
然后,可在 DSL 中引入自定义算法,直接调用使用,语法形式如下:
示例表示,计算图中 id = 1
节点的紧密中心度。
算法运行
在运行算法之前,要构造算法运行的底图数据。
图定义
首先,进行图定义:
图构建
完成图定义之后,导入点边数据,构造数据底图:
计算输出
最后,在底图数据上完成算法计算和结果输出;
运行示例
input
output
结语
在本篇文章中我们介绍了如何在 TuGraph Analytics 上实现紧密中心度算法,如果你觉得比较有趣,欢迎关注我们的社区(https://github.com/TuGraph-family/tugraph-analytics)。开源不易,如果你觉得还不错,可以给我们 star 支持一下~
GeaFlow(品牌名 TuGraph-Analytics) 已正式开源,欢迎大家关注!!!
欢迎给我们 Star 哦!
Welcome to give us a Star!
GitHub👉https://github.com/TuGraph-family/tugraph-analytics
更多精彩内容,关注我们的博客 https://geaflow.github.io/
评论