CS 765 Complex Networks

Spring 2013

Network Lab 5

Due on Thursday May 2, 2013 at 1:00 pm

Network resilience (6 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?
Analyzing blogosphere (4 points)

Download the file poliblog.gdf from cTools . It represents the citation patterns between 40 list blogs during a couple of months preceding the 2004 presidential election, along with the political leaning of those blogs. Open it in Guess (one way of doing this is by clicking the "Load GDF/GraphML" button after guess starts up). Do the following (submit just the final image and the list of commands you used).

You may save the commands in a .py file to repeat the process. You would need to call execfile("yourfilename.py"), or select File>Run Script in the dropdown menu. To save your network with the new colors & positions, you could use the exportGDF(“filename.gdf”) command. You could also have created a persistent database when starting Guess.

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.