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