This documents the development version of NetworkX. Documentation for the current release can be found here.
partial_duplication_graph(N, n, p, q, seed=None)¶
Returns a random graph using the partial duplication model.
The total number of nodes in the final graph.
The number of nodes in the initial clique.
The probability of joining each neighbor of a node to the duplicate node. Must be a number in the between zero and one, inclusive.
The probability of joining the source node to the duplicate node. Must be a number in the between zero and one, inclusive.
- seedinteger, random_state, or None (default)
Indicator of random number generation state. See Randomness.
A graph of nodes is grown by creating a fully connected graph of size
n. The following procedure is then repeated until a total of
Nnodes have been reached.
A random node, u, is picked and a new node, v, is created.
For each neighbor of u an edge from the neighbor to v is created with probability
An edge from u to v is created with probability
This algorithm appears in .
This implementation allows the possibility of generating disconnected graphs.
Knudsen Michael, and Carsten Wiuf. “A Markov chain approach to randomly grown graphs.” Journal of Applied Mathematics 2008. <https://doi.org/10.1155/2008/190836>