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.