approximate_current_flow_betweenness_centrality(G, normalized=True, weight='weight', dtype=<type 'float'>, solver='full', epsilon=0.5, kmax=10000)

Compute the approximate current-flow betweenness centrality for nodes.

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

Parameters :

G : graph

A NetworkX graph

normalized : bool, 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.

weight : string or None, optional (default=’weight’)

Key for edge data used as the edge weight. If None, then use 1 as each edge weight.

dtype: data type (float)

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

solver: string (default=’lu’)

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.

Returns :

nodes : dictionary

Dictionary of nodes with betweenness centrality as the value.


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.


[R167](1, 2) Centrality Measures Based on Current Flow. Ulrik Brandes and Daniel Fleischer, Proc. 22nd Symp. Theoretical Aspects of Computer Science (STACS ‘05). LNCS 3404, pp. 533-544. Springer-Verlag, 2005.