graphscope.nx.generators.community.random_partition_graph#

graphscope.nx.generators.community.random_partition_graph(sizes, p_in, p_out, seed=None, directed=False)[source]#

Returns the random partition graph with a partition of sizes.

A partition graph is a graph of communities with sizes defined by s in sizes. Nodes in the same group are connected with probability p_in and nodes of different groups are connected with probability p_out.

Parameters:
  • sizes (list of ints) – Sizes of groups

  • p_in (float) – probability of edges with in groups

  • p_out (float) – probability of edges between groups

  • directed (boolean optional, default=False) – Whether to create a directed graph

  • seed (integer, random_state, or None (default)) – Indicator of random number generation state. See Randomness.

Returns:

G – random partition graph of size sum(gs)

Return type:

NetworkX Graph or DiGraph

Raises:

NetworkXError – If p_in or p_out is not in [0,1]

Examples

>>> G = nx.random_partition_graph([10, 10, 10], 0.25, 0.01)
>>> len(G)
30
>>> partition = G.graph["partition"]
>>> len(partition)
3

Notes

This is a generalization of the planted-l-partition described in [1]. It allows for the creation of groups of any size.

The partition is store as a graph attribute ‘partition’.

References