A preliminary video visualizing a recent simulation I am working on for a project page. Originally posted over at vimeo, but nice as that site is, it currently does not support free formats (ogv, or webm for that matter) that can be played in Firefox on Linux without flash. Thus, I’m providing a version here as well (with a bit more of explanation). For the future. (Actually the html video frame below includes both a ogv and mp4 version, and if your browser can’t do html5 I think things may still default to a flash player… As a final resort, you can download the files here: ogv, mp4).
Apologies for the, at times, jerky animation. This is preliminary rendering on a slow machine.
In any case, what is this?
This is a visualization of a small epidemiology simulation (we usually use much larger graphs, but for visualization purposes I scaled it down). The disease model has four state G – the General population (green), S – susceptible (yellow), A – acute illness (light red), and L – latent stage of disease (dark red). Disease propagation is G -> S -> L -> A .
The reason for having a General class prior to Susceptible is that there is actually two “diseases” on this network. One cultural – a meme affecting risk behaviour say – and one biological – a virus.
Thus, nodes in stage G is under influence from their neighbours in the S, L, A -states to take up some risk behaviour. Once that happens their state chances to Susceptible and they are can be infected by neighboring nodes carrying the disease.
The reason for having two disease stages – Acute and Latent – is in preparation for the future where we would like to also simulate testing and treatment strategies.
There’s also death in the simulation (shorter life span for infected nodes) however when a node dies it just switches back to the General state. I.e. network topology is kept constant. This is of course a limitation, but allow the degree distribution (wich could affect the simulations) to be held constant.
Nothing dramatic happens in the simulation. We start out by a mostly non-susceptible population, however a few susceptibles exist, as do some infected nodes. With time, more and more of the population becomes susceptible, and slowly also the infection begins to spread. Once highly connected nodes become susceptible they have high chance of also contracting the disease. With time the network develop a high prevalence of nodes in states A and L.
In reality we’ll be running hundreds or thousands of simulations, repeating runs to guard against random results, and with varying parameters to study influence the behaviour. This animation however is just to show what our numbers look like.
The simulation was done using NepidemiX an open source python software for setting up processes on networks that I’ve been part of writing (still in its early stages).
Editing was done in Blender and I pulled the strings.