NetworkX

Previous topic

networkx.generators.degree_seq.double_edge_swap

Next topic

networkx.generators.degree_seq.li_smax_graph

networkx.generators.degree_seq.connected_double_edge_swap

networkx.generators.degree_seq.connected_double_edge_swap(G, nswap=1)

Attempt nswap double-edge swaps on the graph G.

Returns the count of successful swaps. Enforces connectivity. The graph G is modified in place.

Notes

A double-edge swap removes two randomly choseen edges u-v and x-y and creates the new edges u-x and v-y:

u--v            u  v
       becomes  |  |
x--y            x  y

If either the edge u-x or v-y already exist no swap is performed so the actual count of swapped edges is always <= nswap

The initial graph G must be connected and the resulting graph is connected.

References

[R152]C. Gkantsidis and M. Mihail and E. Zegura, The Markov chain simulation method for generating connected power law random graphs, 2003. http://citeseer.ist.psu.edu/gkantsidis03markov.html