Skip to main content
`Ctrl`+`K`

# gnp_random_graph

gnp_random_graph(n, p, seed=None, directed=False, *, create_using=None)

  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:
    n int

      The number of nodes.

    p float

      Probability for edge creation.

    seed integer, random_state, or None (default)

      Indicator of random number generation state. See Randomness.

    directed bool, optional (default=False)

      If True, this function returns a directed graph.

    create_using Graph 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`.

  See also

  `fast_gnp_random_graph`

  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]

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

  [2]

  5. 14. Gilbert, Random Graphs, Ann. Math. Stat., 30, 1141 (1959).