Hands-on option

Basic stage for the hands-on option

Pick two other graph generation models from the options available in the networkx library. Create graphs with the three models (the one in the example code and the two of your choice) of similar order and size.

Experiment on how quickly the three kinds of graph break into one or more components and how quickly the order of the largest component decreases as vertices are removed.

Consider two different options for vertex removal: either uniformly at random (like in the example code) or preferentially to their degree (the probability of removal being proportional to the vertex degree, in such a way that the higher the vertex degree, the greater the probability of removal).

Document your findings in writing and show your code.

In-depth stage for the hands-on option

Modify the example code to remove edges one by one instead of vertices.

Then, modify the code of your basic stage further to also remove any vertex that no longer has any neighbors at all (that is, after its final edge has been removed).

Observe the way in which the network breaks down and discuss if you can see any qualitative differences to how it behaved when vertices being removed.

Conceptual option

Basic stage for the conceptual option

Read about the concept of critical infrastructure. Summarize in writing the kinds of critical infrastructure you encounter. For each, discuss your findings and your intuition on how to model and measure the robustness of those kinds of infrastructure against random failure as well as their resilience against deliberate acts of sabotage.

Remember to cite the sources and share findings with classmates, as usual.

In-depth stage for the conceptual option

Search on Google Scholar or in another scientific online repository for survey articles on the resilience of graphs. Pick one to skim over and write a summary in your own words on the factors and the applications that the survey discusses, with special focus on how (in terms of what property) resilience is quantified.