duplication_divergence_graph#
- duplication_divergence_graph(n, p, seed=None, *, create_using=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 probabilityp
.- 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.
- create_usingGraph constructor, optional (default=nx.Graph)
Graph type to create. If graph instance, then cleared before populated. Multigraph and directed types are not supported and raise a
NetworkXError
.
- Returns:
- GGraph
- Raises:
- NetworkXError
If
p
is not a valid probability. Ifn
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.