9、图算法中的中心性与社区检测

图算法中的中心性与社区检测

1. 介数中心性近似算法

在大型图中精确计算介数中心性的成本可能非常高,因此可以选择使用近似算法,它运行速度更快,且能提供有用(尽管不精确)的信息。随机近似Brandes(RA - Brandes)算法是计算介数中心性近似得分最著名的算法。它不计算每对节点之间的最短路径,而是只考虑节点的一个子集。选择节点子集有两种常见策略:
- 随机选择 :节点以均匀随机的方式被选择,有一个定义好的选择概率。默认概率是 $\frac{log_{10}N}{e^2}$ 。如果概率为 1,该算法的工作方式与普通的介数中心性算法相同,即加载所有节点。
- 度选择 :节点随机选择,但度低于平均值的节点会被自动排除(即只有关系较多的节点才有被访问的机会)。

还可以进一步优化,限制最短路径算法使用的深度,这样就能得到所有最短路径的一个子集。

1.1 使用 Neo4j 进行介数中心性近似计算

以下查询使用随机选择方法执行 RA - Brandes 算法:

CALL algo.betweenness.sampled.stream("User", "FOLLOWS", {strategy:"degree"})
YIELD nodeId, centrality
RETURN algo.getNodeById(nodeId).id AS user, centrality
ORDER BY centrality DESC

运行此过程会得到以下结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值