EXPLORABLES

by Dirk Brockmann

This explorable illustrates a dynamic network model that was designed to capture the emergence of community structures, heterogeneities and clusters that are frequently observed in social networks. Clusters are characterized by a high probability that a person's 'friends are also friends'. In this model not only the connectivity evolves but also the strength of links between nodes. The model was orginally proposed by Jussi Kumpula, Jukka-Pekka Onnela, Jari Saramäki, János Kertész and Kimmo Kaski.

Press Play and keep on reading....

This is how it works

The Jujujajáki Network is a dynamic, weighted network. Existing links between nodes \(i\) and \(j\) have weights \(w_{ij}>0\) that quantify the connection strength. The system starts with an initial configuration of \(N=100\) nodes and a few links that randomly connect some of the nodes. In the initial configuration all existing links have identical weight \(w_0\).

The dynamics

Now we let the connectivity evolve: nodes can i) establish new links, ii) cut their links and iii) reinforce existing links. Estabilishing new links is either done by exploring the entire network or by leveraging the local connectivity of a node's neighbors as described in detail below. Here are the steps of the iteration:

  1. A node \(i\) is chosen randomly.
  2. With probability \(P_0\) the node isolates itself (cuts all its links). We can also think of this step as 'the node is removed from the system and immediately reborn without any links'. This way the number of nodes \(N\) is kept constant.
  3. With probability \(P_\text{E}\) node \(i\) picks another random node \(j\) (that it isn't connected to already) anywhere in the network and establishes a link with initial weight \(w_{ij}=w_0\). This is the exploration step.
  4. Finally, with probability \(P_\text{L}\) the node seeks to establish a new link using one of its neighbors \(j\) as a promotor. This local search step is a bit more complicated and is explained below.

Node \(i\) selects one of its neighbors \(j\) with a propensity proportional to their link weight \(w_{ij}\). Next, node \(j\) picks one of its neighbors \(k\neq i\) with propensity \(w_{jk}\). If \(i\) and \(k\) are not connected, a link between \(i\) and \(k\) is established with weight \(w_0\) forming an \((i,j,k)\)-triangle. We can interpret this rule as: 'Node \(j\) introduces two good friends \(i\) and \(k\).

Additionally, the involved links get reinforced by a little amound \(\delta\) so \(w_{ij}\rightarrow w_{ij}+\delta\) and \(w_{jk}\rightarrow w_{jk}+\delta\).

If a link between \(i\) and \(k\) already exists, it also gets reinforced by an increment \(\delta\).

Parameters and properties

The key parameters of the system are the isolation rate, the exploration probability, the local search probability and the reinforcement increment all of which you can control with the respective sliders.

In the display, apart from the layout, three node / link specific properties are illustrated. Nodes vary in size proportional to their degree (the number of links of a node). Nodes are colored (from white to black) proportional to their clustering coefficient. Links are colored from black to darkred according to their strength and vary in width accordingly.

Local clustering

The local clustering coefficient is defined by the ratio of connections between a node's neighbors and the maximum number of connections they can have. So, if say a node has 4 neighbors, than the maximum number of links they can have is \((4\times 3) / 2 = 6\). A large clustering coefficient means your friends are also friends. For isolated nodes and nodes with only one neighbor, the clustering coefficient is zero.

Try this

Initially, the network has only a few links altogether. So it is very unlikely that a node's neighbors are also connected. When you press play every now and then a black node appears because it is part of a spurious triangle.

For the default parameters nodes do not execute local search. All new links are established by exploration, so randomly connecting anywhere in the networks. Nothing much happens in terms of structure. The network exhibits no tendency for clustering.

If you now increase the local search probability, strong links will appear, as well as tightly knit groups of triangles. This structure will eventually come to a dynamic equilibrium, exhibiting structures observed in real networks.

By increasing the isolation rate, you can 'thin out' the network.

Also....

As pointed out by Hiroki Sayama Jujujajáki written in Japanese is 呪呪邪邪鬼 which, according to google translate means: Curse evil evil demon.

References


Related Explorables:

Knitworks

Growing complex networks

Echo Chambers

A model for opinion dynamics

Berlin 8:00 a.m.

The emergence of phantom traffic jams

Facebooked Flu Shots

Network vaccination

The Blob

A network's giant component

I herd you!

How herd immunity works