networkx.generators.community.gaussian_random_partition_graph

gaussian_random_partition_graph(n, s, v, p_in, p_out, directed=False, seed=None)[source]

Generate a Gaussian random partition graph.

A Gaussian random partition graph is created by creating k partitions each with a size drawn from a normal distribution with mean s and variance s/v. Nodes are connected within clusters with probability p_in and between clusters with probability p_out[1]

Parameters
nint

Number of nodes in the graph

sfloat

Mean cluster size

vfloat

Shape parameter. The variance of cluster size distribution is s/v.

p_infloat

Probabilty of intra cluster connection.

p_outfloat

Probability of inter cluster connection.

directedboolean, optional default=False

Whether to create a directed graph or not

seedinteger, random_state, or None (default)

Indicator of random number generation state. See Randomness.

Returns
GNetworkX Graph or DiGraph

gaussian random partition graph

Raises
NetworkXError

If s is > n If p_in or p_out is not in [0,1]

Notes

Note the number of partitions is dependent on s,v and n, and that the last partition may be considerably smaller, as it is sized to simply fill out the nodes [1]

References

1

Ulrik Brandes, Marco Gaertler, Dorothea Wagner, Experiments on Graph Clustering Algorithms, In the proceedings of the 11th Europ. Symp. Algorithms, 2003.

Examples

>>> G = nx.gaussian_random_partition_graph(100, 10, 10, 0.25, 0.1)
>>> len(G)
100