Now I’m getting WAY AHEAD of myself here. (And that won’t work for real-world human networks probably but…)
But let’s see. So imagine a graph, on which you want to simulate an infectious process (aka epidemiology) with a SIS simulation (we keep things simple).
Next imagine you have capacity to influence arbitrarily the “resistance to infection” of each node, i.e. the inverse (1-Beta) of the susceptibility of a node to get infected at time t+1 if a direct neighbour is infected at time t. But that’s not fair, because with infinite capacity, you would set resistance to 1 for all nodes and be done with it (no infection possible).
Instead, and as a last condition, imagine you have a “budget” to influence your network’s nodes’ resistance, and that no node can have a resistance higher than say 0.9. (So best possible Beta > 0.1).
How would you optimally allocate that budget of influence across your nodes? And what about Betweenness?
Key realization?
With yesterday’s simple video in mind, I thought this morning: “What if you allocate your influence, within budget, somehow proportional to the nodes betweenness?”
(And bear in mind, that was NOT at all what I was aiming for before this morning with my whole project, but maybe it’s worth stopping here for a moment…)
It feels like an optimization problem (constrained, but somehow probably linear?).
Overall idea here
So let’s take the normal SIS approach and fix recovery probability (mu) to 0.5 for all nodes.
Then as a basis, let’s also start with the traditional idea in a SIS model that all node have the same Beta. Then the overall network resistance has a total limited by N*(1-Beta) in this setup. That’s the control group, the scenario which we want to improve upon, the traditional SIS.
My proposal is to see how a “policy” of affecting this resistance across all nodes, with limits (so resistance < 0.9 in all cases, say), and respecting the “limited total” above, based on respective betweenness of the nodes, affects the % of network infected across several simulations, compared to the base scenario.
And that’s my idea for today. And it just felt like such an interesting idea, I had to write it down.
Implementation?
I don’t have time today, but… If I have N nodes, and some varying levels of betweenness (many nodes will have same betweenness, say in my example from these past few days of a simple “3-layers Application”, all nodes in the same “layer” have that same betweenness), the problem is like so:
How can I allocate the resistances (1 value per level of betweenness) so that my total budget is respected (so always “< N*(1-Beta)”, where N is the graph order), and each resistance < 0.9 (Beta > 0.1 for all nodes), while always being probabilities and never perfect (0 < Beta < 1)?
It feels like a rather simple OR problem, on top of my SIS simulator with varying Betas 🙂
And that’s it for today (I have to get back to my real job).
Also, for citations…
I will ask my Dissertation Tutor about this (right now in fact), I’m quite sure I didn’t just “discover fire”, but just in case, what would a paper on similar or same concept look like?