Samuel Thiriot

Thursday 17 November 2016
English français

example of SII network


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 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.


  • expected total number of edges (total_links_expected): (nb.islands-1)*nb.islands/2 + nb.islands*size.island*(size.island-1)/2*
  • 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: (as in any random network)
  • expected clustering rate in the whole network: (^3 + (n.inter/size.island)^3) / (^2 + (n.inter/size.island)^2)
  • distribution of degree is Poisson-like (sum of the distribution of connectivity for islands).


  • connected as long as 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.


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 for sourcecode.


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:

List of the resources shared on this website: models, data, sourcecode
YANG - plausible networks generation
YANG (Yet Another Network Generator) is a laboratory devoted to the reconstruction of plausible networks from local rules. It was applied to the (...)
Growing Interconnected Islands network generator
Overview In this variation of Simple Interconnected Islands, each island is made of a growing network instead of a random network. Leads to a skewed (...)
Networks: manipulate them in Java
How to generate, analyze, manipulate networks in Java ? Here is a panorama (not exhustive) of the existing libraries. JUNG The JUNG framework (...)
Networks: software
Software for networks analysis The igraph package ( is a must-have. It includes basic network generators, efficient and (...)
Networks: persist them
How, where to save graphs and networks ? The classical solution is to store graphs into files using formats as interoperable as possible; yet more and more (...)
Networks: public data
Network data is sometimes freely available online. Here are some examples. Real networks and data many sources in the KONECT site web map as a graph DOMES (...)
LaTeX: tricks
Math environment and equationsAutomatic line breaks in math environment When a formula is long enough, it cannot be entirely displayed in one unique line. (...)

(c) Samuel Thiriot 2012-2018
This is a personal website. The views, research interests or opinions expressed here represent my own and not necessarily those of my employer.