Practice: Propagation
Module 5: Complex Networks
This page finishes the ungraded practice that starts in Practice: Real Networks. Use the network you characterized there or in Practice: Flights and Other Networks.
Choose one of two options: SIS and SIR (the default), or one propagation model other than SIS and SIR.
In all cases, use the same network for your structural analysis and propagation experiments.
Implementation:
- store node states as a node attribute
state.
Protocol:
- run at least
runs = 20trials, - use
seed_run = SEED + rfor trialr, - plot the mean propagation curve(s) across trials.
SIS and SIR
For the default option, simulate both SIS and SIR on the same graph (as in SIS Simulation and SIR on Networks).
SIS
Report and plot:
- mean infected fraction \(\mathbb{E}[I(t)/N]\) over time,
- variability: either show a band (e.g., 25 to 75%) or overlay 3 to 5 individual runs.
SIR
Report and plot:
- mean curves for \(S(t)/N\), \(I(t)/N\), \(R(t)/N\),
- final epidemic size \(R(\infty)/N\) (estimate from your finite simulation horizon).
Alternative propagation
For the alternative option, define and simulate one propagation model other than SIS/SIR.
Report and plot at least:
- mean fraction of relevant states over time (e.g., spreaders, adopters, skeptics),
- variability (band or 3 to 5 individual runs),
- one final-outcome metric (e.g., final reach, extinction probability, time-to-peak),
- one sensitivity experiment (change one key parameter and compare outcomes).
Your write-up must explicitly explain how both:
- the propagation rules (who can influence whom, with what probability/threshold), and
- the network structure (hubs, clustering, path lengths, components)
shape the observed dynamics.
For large networks, you can simulate on:
- the full graph (if it runs fast enough), or
- the largest connected component, or
- a sampled subgraph (state your sampling method and seed).
The key is that your plots and conclusions must refer to the exact graph you simulated.
- Structural: what features suggest “hub-like” propagation vs “cluster-local” propagation?
- Rules: how do your propagation rules (infection/recovery/immunity, forwarding/forgetting, thresholds, etc.) change long-run behavior?
- Reach: can the process spread to almost all nodes under your parameters? Did you observe it?
- Extinction: can the process die out (no active spreaders/infected)? Under what conditions?
- Sensitivity: if you increase spreading strength (e.g., \(\beta\) or equivalent) or reduce recovery/forgetting, what changes first: peak height, persistence, or final size?
Optional extensions
- Remove a high-centrality node and analyze changes in connectivity and epidemic outcome.
- Compare two different centrality metrics and discuss differences.
- Try a community detection method and summarize results.
Propagation ideas:
- Hold the graph fixed (same graph seed) but vary only the dynamics seed to separate “graph randomness” from “process randomness”.
- Compare targeted removal (top-degree or top-betweenness) vs random removal and re-run your chosen propagation model.