gnp_random_graph#

gnp_random_graph(n, p, seed=None, directed=False, *, create_using=None)[source]#

Returns a \(G_{n,p}\) random graph, also known as an Erdős-Rényi graph or a binomial graph.

The \(G_{n,p}\) model chooses each of the possible edges with probability \(p\).

Parameters:
nint

The number of nodes.

pfloat

Probability for edge creation.

seedinteger, random_state, or None (default)

Indicator of random number generation state. See Randomness.

directedbool, optional (default=False)

If True, this function returns a directed graph.

create_usingGraph constructor, optional (default=nx.Graph or nx.DiGraph)

Graph type to create. If graph instance, then cleared before populated. Multigraph types are not supported and raise a NetworkXError. By default NetworkX Graph or DiGraph are used depending on directed.

Notes

This algorithm [2] runs in \(O(n^2)\) time. For sparse graphs (that is, for small values of \(p\)), fast_gnp_random_graph() is a faster algorithm.

binomial_graph() and erdos_renyi_graph() are aliases for gnp_random_graph().

>>> nx.binomial_graph is nx.gnp_random_graph
True
>>> nx.erdos_renyi_graph is nx.gnp_random_graph
True

References

[1]
  1. Erdős and A. Rényi, On Random Graphs, Publ. Math. 6, 290 (1959).

[2]
    1. Gilbert, Random Graphs, Ann. Math. Stat., 30, 1141 (1959).