Note

This documents the development version of NetworkX. Documentation for the current release can be found here.

networkx.generators.duplication.duplication_divergence_graph

duplication_divergence_graph(n, p, seed=None)[source]

Returns an undirected graph using the duplication-divergence model.

A graph of n nodes is created by duplicating the initial nodes and retaining edges incident to the original nodes with a retention probability p.

Parameters
nint

The desired number of nodes in the graph.

pfloat

The probability for retaining the edge of the replicated node.

seedinteger, random_state, or None (default)

Indicator of random number generation state. See Randomness.

Returns
GGraph
Raises
NetworkXError

If p is not a valid probability. If n is less than 2.

Notes

This algorithm appears in [1].

This implementation disallows the possibility of generating disconnected graphs.

References

1

I. Ispolatov, P. L. Krapivsky, A. Yuryev, “Duplication-divergence model of protein interaction network”, Phys. Rev. E, 71, 061911, 2005.