# CS 790g Seminar: Complex Networks

## Due on Wednesday Sep 30, 2009 at 2:30 pm

The Watts Strogatz small world model (3 points)

Go to http://projects.si.umich.edu/netlearn/NetLogo4/SmallWorldWS.html. This is a NetLogo model that will allow you to vary the rewiring probability.

1. Adjust this probability from 0 to 1, each time hitting "rewire" and allowing it to calculate the clustering coefficient and average path length. Does your plot agree with what you saw in lecture?
2. Try using a spring layout. In what ways do the random links make the world smaller?
Small worlds as optimizations (4 points)

Go to http://projects.si.umich.edu/netlearn/wiring.html. In this model there is a cost to the length of wire, but also a benefit to having short paths in terms on the average number of hops from one node to any other.

1. Starting with the regular lattice, rewire edges in order to minimize cost under a range of conditions: wire is expensive, wire is cheap. Take screenshots and make observations.
2. Start with the regular lattice. Loosen your wallet. This will allow you to accept wirings that are quite expensive. Now tighten your wallet again to the minimum (this will mean that you'll only accept rewirings that have a lower total cost). The choice of wire cost is yours (you probably want something a bit higher than the absolute minimum). Capture an image of your network. Make observations.
Random graphs and giant components (3 points)

Go to http://ccl.northwestern.edu/netlogo/models/GiantComponent and launch the applet. Click 'setup' and then 'go'.

1. Try it with 80 nodes and then 400 (if your computer can take it...). 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.
Peer to peer filesharing: a small world? (bonus: 4 points)

Open the file gnutella.net in Pajek. It is a snapshot from 2000 of the Gnutella peer-to-peer filesharing network.
1. Compute its average clustering coefficient and average shortest path.
2. Now generate a random graph with the same number of nodes and edges (or approximately the same average degree).
3. Is the network significantly more clustered than random?
4. How does the average shortest path compare?
5. Can you think of an explanation for the difference?