networkx.gaussian_random_partition_graph

networkx.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:

n : int

Number of nodes in the graph

s : float

Mean cluster size

v : float

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

p_in : float

Probabilty of intra cluster connection.

p_out : float

Probability of inter cluster connection.

directed : boolean, optional default=False

Whether to create a directed graph or not

seed : int

Seed value for random number generator

Returns:

G : NetworkX 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

[R931]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,.25,.1)
>>> len(G)
100