edge_betweenness_centrality#
- edge_betweenness_centrality(G, k=None, normalized=True, weight=None, seed=None)[source]#
计算边的中介中心性。
边 \(e\) 的中介中心性是所有节点对最短路径中通过 \(e\) 的路径所占的比例之和。
\[c_B(e) =\sum_{s,t \in V} \frac{\sigma(s, t|e)}{\sigma(s, t)}\]其中 \(V\) 是节点集合,\(\sigma(s, t)\) 是 \((s, t)\) 最短路径的数量,\(\sigma(s, t|e)\) 是通过边 \(e\) 的这些路径的数量 [2]。
- Parameters:
- G图
一个 NetworkX 图。
- kint, 可选 (默认=None)
如果 k 不是 None,则使用 k 个节点样本来估计中介中心性。 k 的值应小于等于图中的节点数 n。 更高的值给出更好的近似。
- normalizedbool, 可选
如果为 True,则中介中心性值通过 \(2/(n(n-1))\) 进行归一化(对于无向图), 或 \(1/(n(n-1))\) 进行归一化(对于有向图),其中 \(n\) 是图 G 中的节点数。
- weightNone 或 string, 可选 (默认=None)
如果为 None,则所有边的权重视为相等。 否则,持有用作权重的边属性的名称。 权重用于计算加权最短路径,因此它们被解释为距离。
- seedinteger, random_state, 或 None (默认)
随机数生成状态的指示器。 参见 Randomness 。 注意,这仅在 k 不是 None 时使用。
- Returns:
- edges字典
包含边及其对应中介中心性值的字典。
See also
betweenness_centrality
edge_load
Notes
该算法来自 Ulrik Brandes [1]。
对于加权图,边权重必须大于零。 零边权重可能导致节点对之间存在无限数量的等长路径。
References
[1]Ulrik Brandes, A Faster Algorithm for Betweenness Centrality. Journal of Mathematical Sociology 25(2):163-177, 2001. https://doi.org/10.1080/0022250X.2001.9990249
[2]Ulrik Brandes: On Variants of Shortest-Path Betweenness Centrality and their Generic Computation. Social Networks 30(2):136-145, 2008. https://doi.org/10.1016/j.socnet.2007.11.001
Additional backends implement this function
- parallelParallel backend for NetworkX algorithms
The parallel computation is implemented by dividing the nodes into chunks and computing edge betweenness centrality for each chunk concurrently.
- Additional parameters:
- get_chunksstr, function (default = “chunks”)
A function that takes in a list of all the nodes as input and returns an iterable
node_chunks
. The default chunking is done by slicing thenodes
inton
chunks, wheren
is the number of CPU cores.
[Source]