Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

betweenness_centrality

betweenness_centrality(G, k=None, normalized=True, weight=None, endpoints=False, seed=None)[source]

Compute the shortest-path betweenness centrality for nodes.

Betweenness centrality of a node v is the sum of the fraction of all-pairs shortest paths that pass through v:

cB(v)=s,tVσ(s,t|v)σ(s,t)

where V is the set of nodes, σ(s,t) is the number of shortest (s,t)-paths, and σ(s,t|v) is the number of those paths passing through some node v other than s,t. If s=t, σ(s,t)=1, and if vs,t, σ(s,t|v)=0 [R172].

Parameters:

G : graph

A NetworkX graph

k : int, optional (default=None)

If k is not None use k node samples to estimate betweenness. The value of k <= n where n is the number of nodes in the graph. Higher values give better approximation.

normalized : bool, optional

If True the betweenness values are normalized by 2/((n1)(n2)) for graphs, and 1/((n1)(n2)) for directed graphs where n is the number of nodes in G.

weight : None or string, optional

If None, all edge weights are considered equal. Otherwise holds the name of the edge attribute used as weight.

endpoints : bool, optional

If True include the endpoints in the shortest path counts.

Returns:

nodes : dictionary

Dictionary of nodes with betweenness centrality as the value.

Notes

The algorithm is from Ulrik Brandes [R171]. See [R172] for details on algorithms for variations and related metrics.

For approximate betweenness calculations set k=#samples to use k nodes (“pivots”) to estimate the betweenness values. For an estimate of the number of pivots needed see [R173].

For weighted graphs the edge weights must be greater than zero. Zero edge weights can produce an infinite number of equal length paths between pairs of nodes.

References

[R171](1, 2) A Faster Algorithm for Betweenness Centrality. Ulrik Brandes, Journal of Mathematical Sociology 25(2):163-177, 2001. http://www.inf.uni-konstanz.de/algo/publications/b-fabc-01.pdf
[R172](1, 2, 3) Ulrik Brandes: On Variants of Shortest-Path Betweenness Centrality and their Generic Computation. Social Networks 30(2):136-145, 2008. http://www.inf.uni-konstanz.de/algo/publications/b-vspbc-08.pdf
[R173](1, 2) Ulrik Brandes and Christian Pich: Centrality Estimation in Large Networks. International Journal of Bifurcation and Chaos 17(7):2303-2318, 2007. http://www.inf.uni-konstanz.de/algo/publications/bp-celn-06.pdf