newman_watts_strogatz_graph#
- newman_watts_strogatz_graph(n, k, p, seed=None, *, create_using=None)[source]#
Returns a Newman–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 adding a new edge for each edge.
- 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
.
See also
Notes
First create a ring over \(n\) nodes [1]. Then each node in the ring is connected with its \(k\) nearest neighbors (or \(k - 1\) neighbors if \(k\) is odd). Then shortcuts are created by adding new edges as follows: for each edge \((u, v)\) in the underlying “\(n\)-ring with \(k\) nearest neighbors” with probability \(p\) add a new edge \((u, w)\) with randomly-chosen existing node \(w\). In contrast with
watts_strogatz_graph()
, no edges are removed.References
[1]M. E. J. Newman and D. J. Watts, Renormalization group analysis of the small-world network model, Physics Letters A, 263, 341, 1999. https://doi.org/10.1016/S0375-9601(99)00757-4