### Overview

The Simple Interconnect Islands (SII) network generator creates networks made of *nb.islands* islands. Each island is made of a random network of size *size.island* and having density *p.in*. Every pairs of islands are interconnected by *n.inter* links.

This random network generator may be used for benchmarking and/or simulation. It creates small-world networks with communities. It does not intends to generate plausible nor realistic networks, but its statistical properties may be easily tuned by playing with its parameters.

### Properties

- expected total number of edges (total_links_expected): (nb.islands-1)*nb.islands/2 + nb.islands*size.island*(size.island-1)/2*p.in
- total number of nodes (totalsize): nb.islands*size.island
- expected average degree: 2*total_links_expected/totalsize
- expected density: total_links_expected/(totalsize*(totalsize-1)/2)
- expected clustering rate into each island: p.in (as in any random network)
- expected clustering rate in the whole network: (p.in^3 + (n.inter/size.island)^3) / (p.in^2 + (n.inter/size.island)^2)
- distribution of degree is Poisson-like (sum of the distribution of connectivity for islands).

Behaviour:

- connected as long as p.in is high enough (as in any random network)
- average path length increase slighly when size.island increase. Average path length decrease when nb.islands increase.
- islands create areas with strong clustering
- average short path remains low because of the interconnections between islands.
- as a consequence, SII networks are small-world according to the Watts&Strogatz 1998 definition.

### Sourcecode

This R script enable a low-perf generation of SII (requires the igraph package).

This network generator will next be included in the igraph package with a more efficient C version (see https://code.launchpad.net/~samuel-...) for sourcecode.

### Example

First open R, load the igraph library, and copy/past the script above:

Generating a SII network:

Display it and observe some of its properties: