SIR Epidemiological Model — Discrete-Time Markov Chain
Academic project (UniBo) for simulating epidemic spread. Replaces classic differential equations with Markovian transition matrices to capture random fluctuations in small groups.

Epidemiological Models: Determinism vs Stochasticity
The classic SIR model uses continuous ordinary differential equations (Kermack-McKendrick) that perform adequately on large populations but fail when community sizes are small and discrete random fluctuations dominate disease extinction. This academic research project models epidemic spread as a Discrete-Time Markov Chain (DTMC).
Deterministic ODE vs Discrete Stochastic Modeling
Comparative analysis across a cohort of N = 1,000 individuals:
| Modeling Approach | Mathematical Formalism | Extinction Probability | Peak Infection Variance | Computational Complexity |
|---|---|---|---|---|
| Deterministic ODE | Continuous differential eq. | 0% (Asymptotic decay) | Exactly 0 (Deterministic) | O(1) numerical solve |
| Gillespie Algorithm | Continuous-time jump Markov | Exact probability | High variance captured | O(Total events) |
| Discrete Markov (DTMC) | State transition matrix P | Exact absorbing state analysis | Rigorous confidence interval | O(N^2) vectorized |
*Table 1: Deterministic vs Stochastic Epidemiological Formulations*
# Discrete Markov Chain transition probability matrix generation
import numpy as npdef build_sir_transition_matrix(N: int, beta: float, gamma: float): # Generates discrete probability transition matrix for state vector (S, I) num_states = ((N + 1) * (N + 2)) // 2 P = np.zeros((num_states, num_states)) # Fill state-to-state transitions: infection P(S-1, I+1) and recovery P(S, I-1) return P ```
Monte Carlo Simulation Engine
- Time advances in discrete daily or sub-daily intervals. - Monte Carlo ensemble paths provide rigorous 95% confidence intervals on healthcare capacity overflow and epidemic duration.