CS 765 Complex Networks

Fall 2011

Network Lab 5

Due on Wednesday Dec 14, 2011 at 11:00 am

Network resilience (7 points)

For this task, you can use your own (or shared) data or the gnutella network gnutella2.gdf. The Guess toolbars, downloadable as resiliencedegree.py and resiliencebetweenness.py from cTools will work on modestly sized networks (~1000 nodes) that are undirected. If your network is directed, you will need to either make an undirected version of it for these scripts to work (or modify the scripts). The resilience toolbars will let you specify the % of nodes to be removed and whether it is random failure (nodes are selected at random) or targeted attack (the highest degree nodes or nodes with highest betweenness are removed). It will also compute the size of the largest component and display the network after the nodes are removed. You may also do this assignment in igraph or any other software.

Please answer the following about the network (turn in 1 image of the original network, and 1 image of the network at less than 1/2 of its original size according to one of the attack strategies).

  1. What network you are using (what are the nodes and edges).
  2. What percentage of the nodes need to be removed to shrink the giant component to 1/2 of its size in degree targeted vs. betweenness targeted vs. random failure?
  3. Comment on this result with respect to the degree distribution and community structure (or lack thereof) in your network.
  4. Construct a random network with the same number of nodes and edges (you can do this by selecting 'Empty' when starting up Guess and then typing makeSimpleRandom(numberofnodes,numberofedges) )
  5. How do the percentages of nodes removed compare in the intentional attack and random failure in order to reduce the size of the largest component in this network by 1/2?
  6. How does the resilience of your network compare to that of this equivalent random graph?
Random graphs and giant components (3 points)
  1. Go to http://ccl.northwestern.edu/netlogo/models/GiantComponent and launch the applet. Click 'setup' and then 'go'.

  2. Try it with 80 nodes and then 400 (if your computer can not compute, use smaller node sizes). Observe what happens right around the point where the average degree is 1 (the vertical line in the plot). Comment about the variation in the size of the largest component as you increase the number of edges/nodes.
Submitting your files

Submission of your homework is via WebCampus. You must submit all the required files in a single tar or zip file containing all the files for your submission.

Acknowledgement: The assignment is modified from Lada Adamic.