# watts_strogatz_graph#

watts_strogatz_graph(n, k, p, seed=None)[source]#

Returns a Watts–Strogatz small-world graph.

Parameters
nint

The number of nodes

kint

Each node is joined with its k nearest neighbors in a ring topology.

pfloat

The probability of rewiring each edge

seedinteger, random_state, or None (default)

Indicator of random number generation state. See Randomness.

Notes

First create a ring over $$n$$ nodes [1]. Then each node in the ring is joined to its $$k$$ nearest neighbors (or $$k - 1$$ neighbors if $$k$$ is odd). Then shortcuts are created by replacing some edges as follows: for each edge $$(u, v)$$ in the underlying “$$n$$-ring with $$k$$ nearest neighbors” with probability $$p$$ replace it with a new edge $$(u, w)$$ with uniformly random choice of existing node $$w$$.

In contrast with newman_watts_strogatz_graph(), the random rewiring does not increase the number of edges. The rewired graph is not guaranteed to be connected as in connected_watts_strogatz_graph().

References

1

Duncan J. Watts and Steven H. Strogatz, Collective dynamics of small-world networks, Nature, 393, pp. 440–442, 1998.