Introduction to Complex Systems

Prof. Dirk Brockmann, Winter Term 2021

Practical Problem 18: Network growth

In this practice problem you will implement a famous network growth model.

The simulation is initialized with 3 nodes that are linked to one another.

When the simulation starts a new node enters the system and connects to the existing network with 1 or two links. The targets are chosen at random from the existing nodes in the network.

Make sure you use a dynamic spring layout for the network.

Nodes can also die at a given rate death-rate.

Scale the node size according to the degree of a node.

preferential attachment

now add a switch to the model that changes the way new nodes attach to existing nodes. Targets should be chosen with a probability proportional to their degree. How can this be done?

First you need to add what is known as a netlogo extension. The extension we need here is called Rnd. Read the manual to learn how to use extensions.

When the extension is loaded you can use the function rnd:weighted-one-of to pick nodes according to their degree.

update preferential attachement to clustering coefficient

now load the netlogo Network extension. In it you will find that for nodes in a network one can compute the clustering coefficient. This is a measure that computes how well connected your neighbors are. More precisely it computes the links among the neighbors of a node devided by the maximum number of links possible among the neighbors.

Modify your model so that new links attach to existing nodes proportional to the clustering coefficient.