I’m done with Version 1.0 of ViralSpread, the new project that branched from Contagion. The code is on github and I added a compiled JAR file to it (plus a screenshot) so you can just download and run it.
I’m not quite sure what are the right questions to ask in order to learn something useful from my simulation because I don’t exactly have my finger on the pulse of the network science community. But I figure it makes sense to start at the goals — the things network science could be useful for, like predicting and preventing the spread of diseases, fixing electrical grid structural instabilities, and creating effective marketing. In other words, we’re interested in HOW FAST a virus spreads TO WHOM under WHAT CONDITIONS. That implies the questions:
Given a set of conditions, how fast does the virus reach “critical mass”?
What is the probability that a specific node gets the virus? How soon will that happen? How does this depend on the node’s “neighbors,” to the extent such a concept exists?
What conditions cause the virus to spread faster or slower?
Is there a set of possible conditions that makes hitting a tipping point very likely? If so, how do we identify those conditions?
How can we change the structure or properties of the network so that a tipping point does or does not occur?
Do certain easily observable conditions indicate a specific model we can use to predict networks without the actual node data?
Are tipping points related to specific nodes, or the overall network, or just neighbors…? In other words, can we generalize about the role of individual nodes, or do different nodes have significantly different roles?
From there, we can get more specific about exactly which properties we’re looking for. I’m not sure what I’m looking for yet but I do want to be able to walk away from this saying I learned something more than a set of statistics.