Using Christopher Wolfram’s virus program to show kids some ideas about how a virus spreads through a network

Yesterday we looked at a very simple model of how a virus spreads through a network – the assumption was that everyone infects everyone they are connected to. In that (obviously simplified model) the structure of the network affects the structure of the spread:

Today we are looking at another model – still simplified, but not as much as yesterday. This model (and the code we used today) was created by Christopher Wolfram and is here:

In Christopher Wolfram’s model, we use Mathematica to make a network and then study how the virus spread through the network by varying the average number of connections per day that people in the network have. The surprise (that we discuss mostly in the last video) is here the different network structures seem to behave in nearly identical ways. So the result today is very different than yesterday’s result.

I introduced today’s idea by asking the boys to think about how to build a more realistic model of how a virus spreads. The first network we looked at was a simple 2d grid:

Now we looked at a 3d grid:

Next up was a Delaunay triangulation:

Now we looked at a pure random graph network:

For the last two we looked at two graph networks that look a lot like connections in the “real world.” First up was a Watts-Strogatz graph:

Finally we looked at a Barabasi Albert Graph. This graph looks like the pure random graph we looked at, but you can see in the video that the degree distribution is really different. At the end of this video the boys talk about some of the surprises in this project and what they learned.

I think Christopher Wolfram’s program is one of the best I’ve seen for helping students understand some of the difficulties in modeling how a virus spreads. It seems like a big surprise that all of these networks seem to behave the same way, but understanding why it maybe isn’t a huge surprise helps kids see some of the key ideas in these simple models.