rustworkx.digraph_betweenness_centrality#
- digraph_betweenness_centrality(graph, /, normalized=True, endpoints=False, parallel_threshold=50)#
计算PyDiGraph中所有节点的中介中心性。
节点 \(v\) 的介数中心性是指所有通过 \(v\) 的最短路径对的分数之和
\[c_B(v) =\sum_{s,t \in V} \frac{\sigma(s, t|v)}{\sigma(s, t)}\]其中 \(V\) 是节点集合,\(\sigma(s, t)\) 表示最短
\((s, t)\) 路径的数量,而 \(\sigma(s, t|v)\) 是那些通过
除了 \(s, t\) 之外的某个节点 \(v\) 的路径数量。
如果 \(s = t\),则 \(\sigma(s, t) = 1\),且如果 \(v \in {s, t}\),
\(\sigma(s, t|v) = 0\)此函数使用的算法基于:
乌尔里克·布拉德斯,《快速介数中心性算法》。 社会学数学期刊 25(2):163-177, 2001。
此函数支持多线程,若图中节点数量超过
parallel_threshold的值(默认值为 50)时会并行运行。若函数将以并行方式运行,可使用环境变量RAYON_NUM_THREADS来调整使用的线程数量。更多相关内容请参阅#
digraph_edge_betweenness_centrality()- param PyDiGraph graph:
输入图
- param bool normalized:
是否通过对所有节点对之间的不同路径数量来标准化中介中心性分数。
- param bool endpoints:
是否在用于计算介数的路径长度中包含路径的端点。
- param int parallel_threshold:
要并行计算中介中心性的节点数量,如果图中的节点数低于此值,将以单线程运行。默认值为50
- returns:
一个只读的类字典对象,其键为节点索引,值为每个节点的介数中心性分数。
- rtype:
CentralityMapping