Skip to main content
`Ctrl`+`K`

# betweenness_centrality

betweenness_centrality(G, nodes)

  Compute betweenness centrality for nodes in a bipartite network.

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

  Values of betweenness are normalized by the maximum possible value which for bipartite graphs is limited by the relative size of the two node sets [1].

  Let `n` be the number of nodes in the node set `U` and `m` be the number of nodes in the node set `V`, then nodes in `U` are normalized by dividing by

  \[\frac{1}{2} [m^2 (s + 1)^2 + m (s + 1)(2t - s - 1) - t (2s - t + 3)] ,\]

  where

  \[s = (n - 1) \div m , t = (n - 1) \mod m ,\]

  and nodes in `V` are normalized by dividing by

  \[\frac{1}{2} [n^2 (p + 1)^2 + n (p + 1)(2r - p - 1) - r (2p - r + 3)] ,\]

  where,

  \[p = (m - 1) \div n , r = (m - 1) \mod n .\]
  Parameters:
    G graph

      A bipartite graph

    nodes list or container

      Container with all nodes in one bipartite node set.

  Returns:
    betweenness dictionary

      Dictionary keyed by node with bipartite betweenness centrality as the value.

  See also

  `degree_centrality`
  `closeness_centrality`
  `sets()`
  `is_bipartite()`

  Notes

  The nodes input parameter must contain all nodes in one bipartite node set, but the dictionary returned contains all nodes from both node sets. See `bipartite documentation` for further details on how bipartite graphs are handled in NetworkX.

  References

  [1]

  Borgatti, S.P. and Halgin, D. In press. “Analyzing Affiliation Networks”. In Carrington, P. and Scott, J. (eds) The Sage Handbook of Social Network Analysis. Sage Publications. https://dx.doi.org/10.4135/9781446294413.n28

  Examples

      >>> G = nx.cycle_graph(4)
      >>> top_nodes = {1, 2}
      >>> nx.bipartite.betweenness_centrality(G, nodes=top_nodes)
      {0: 0.25, 1: 0.25, 2: 0.25, 3: 0.25}