approximate_current_flow_betweenness_centrality#

approximate_current_flow_betweenness_centrality(G, normalized=True, weight=None, dtype=<class 'float'>, solver='full', epsilon=0.5, kmax=10000, seed=None)[source]#

Compute the approximate current-flow betweenness centrality for nodes.

Approximates the current-flow betweenness centrality within absolute error of epsilon with high probability [1].

Parameters:
Ggraph

A NetworkX graph

normalizedbool, optional (default=True)

If True the betweenness values are normalized by 2/[(n-1)(n-2)] where n is the number of nodes in G.

weightstring or None, optional (default=None)

Key for edge data used as the edge weight. If None, then use 1 as each edge weight. The weight reflects the capacity or the strength of the edge.

dtypedata type (float)

Default data type for internal matrices. Set to np.float32 for lower memory consumption.

solverstring (default=’full’)

Type of linear solver to use for computing the flow matrix. Options are “full” (uses most memory), “lu” (recommended), and “cg” (uses least memory).

epsilon: float

Absolute error tolerance.

kmax: int

Maximum number of sample node pairs to use for approximation.

seedinteger, random_state, or None (default)

Indicator of random number generation state. See Randomness.

Returns:
nodesdictionary

Dictionary of nodes with betweenness centrality as the value.

Notes

The running time is \(O((1/\epsilon^2)m{\sqrt k} \log n)\) and the space required is \(O(m)\) for \(n\) nodes and \(m\) edges.

If the edges have a ‘weight’ attribute they will be used as weights in this algorithm. Unspecified weights are set to 1.

References

[1]

Ulrik Brandes and Daniel Fleischer: Centrality Measures Based on Current Flow. Proc. 22nd Symp. Theoretical Aspects of Computer Science (STACS ‘05). LNCS 3404, pp. 533-544. Springer-Verlag, 2005. https://doi.org/10.1007/978-3-540-31856-9_44