all_pairs_node_connectivity#

all_pairs_node_connectivity(G, nbunch=None, flow_func=None)[source]#

Compute node connectivity between all pairs of nodes of G.

Parameters:
GNetworkX graph

Undirected graph

nbunchcontainer

Container of nodes. If provided node connectivity will be computed only over pairs of nodes in nbunch.

flow_funcfunction

A function for computing the maximum flow among a pair of nodes. The function has to accept at least three parameters: a Digraph, a source node, and a target node. And return a residual network that follows NetworkX conventions (see maximum_flow() for details). If flow_func is None, the default maximum flow function (edmonds_karp()) is used. See below for details. The choice of the default function may change from version to version and should not be relied on. Default value: None.

Returns:
all_pairsdict

A dictionary with node connectivity between all pairs of nodes in G, or in nbunch if provided.

Additional backends implement this function

parallelA networkx backend that uses joblib to run graph algorithms in parallel. Find the nx-parallel’s configuration guide here

The parallel implementation first divides a list of all permutation (in case of directed graphs) and combinations (in case of undirected graphs) of nbunch into chunks and then creates a generator to lazily compute the local node connectivities for each chunk, and then employs joblib’s Parallel function to execute these computations in parallel across n_jobs number of CPU cores. At the end, the results are aggregated into a single dictionary and returned.

Additional parameters:
get_chunksstr, function (default = “chunks”)

A function that takes in list(iter_func(nbunch, 2)) as input and returns an iterable pairs_chunks, here iter_func is permutations in case of directed graphs and combinations in case of undirected graphs. The default is to create chunks by slicing the list into n_jobs number of chunks, such that size of each chunk is atmost 10, and at least 1.

[Source]