summaryrefslogtreecommitdiff
path: root/doc/ws.md
blob: 242a6c9ec158b0d2328f24bad80775a9c0a41473 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
ws(1) -- Create a small-world graph using the Watts-Strogatz model
======

## SYNOPSIS

`ws` <N> <m> _p_ [SHOW]

## DESCRIPTION

`ws` creates a small-world undirected graph with 'N' nodes using the
Watts-Strogatz small-world network model.  The nodes are initially
placed around a circle and each node is connected to its 'm' closest
neighbours on either side. Then, each edge is rewired (independently)
with probability 'p'. The program prints on output the edge-list of
the resulting graph.

## PARAMETERS

* <N>:
    Number of nodes in the final graph.

* <m>:
    Number of neighbours on the circle graph to which a node is
    connected on either side (i.e., each node will initially have
    '2m' edges).

* _p_:
    Edge rewiring probability.

* SHOW:
    If the fourth (optional) parameter is equal to `SHOW`, the program
    will print on STDERR the number of edges rewired while constructing
    the graph.

## EXAMPLES

The command:

          $ ws 100 3 0.1
          0 95
          0 2
          0 3
          1 2
          1 24
          1 4
          2 3
          ....
          99 0
          99 56
          99 2
          $
          
creates a Watts-Strogatz small-world network with 'N=100' nodes and
'K=m*N=300' edges, where each edge is independently rewired with
probability 'p=0.1'. The output of `ws` is the edge-list of the
resulting graph. Notice that in this case the first edge od node `0`
has been rewired and connected to node `95`.  In order to be useful,
such edge-list should be saved into a file. The following command:

          $ ws 100 300 0.1 SHOW > ws_100_3_0.1.net
          Rewired edges: 32
          $ 

will save the resulting graph in the file `ws_100_3_0.1.net`. Notice
the usage of the symbol "\>" to redirect the output of the program to
a file. The line printed on output reports the number of rewired
edges, since `SHOW` was specified as a fourth parameter.

## SEE ALSO

er\_A(1), er\_B(1)

## REFERENCES

*  D\. J. Watts and S. H. Strogatz. "Collective dynamics of
   'small-world' networks".  Nature 393 (1998), 440–442.

* V\. Latora, V. Nicosia, G. Russo, "Complex Networks: Principles,
  Methods and Applications", Chapter 4, Cambridge University Press
  (2017)


## AUTHORS

(c) Vincenzo 'KatolaZ' Nicosia 2009-2017 `<v.nicosia@qmul.ac.uk>`.