L’histoire vraie : un cadeau empoisonné
Source : larevuedhistoiremilitaire.fr
Pendant la rébellion de Pontiac, le général Jeffery Amherst écrit une lettre : « Essayez d’inoculer les Indiens avec des couvertures de variole. » Le 24 juin 1763, les officiers du fort remettent réellement ces couvertures à des représentants Delaware lors d’une réunion de négociation.
Résultat : une épidémie dans une population sans aucune immunité contre la variole, une maladie européenne tuant entre 20 et 30 % des personnes infectées et transmissible par simple contact avec des objets contaminés. Ce n’est qu’un épisode parmi d’autres : les maladies importées par les colons ont décimé une grande partie des peuples autochtones des Amériques, qui ne possédaient aucune défense immunitaire contre ces agents pathogènes inconnus de leur continent. (Source : Thornton R., American Indian Holocaust and Survival, University of Oklahoma Press, 1987.)
Les mathématiques vont nous montrer pourquoi une seule « étincelle » comme ces couvertures a suffi à tout faire brûler.
Le modèle SIR : une suite récurrente
On utilise le modèle SIR discret — l’une des applications les plus importantes des suites récurrentes : l’état du jour \(n+1\) se calcule à partir de l’état du jour \(n\). On modélise une population de 1 000 personnes répartie en trois groupes :
- \(S_n\) — Sensibles (sains, pouvant être infectés)
- \(I_n\) — Infectés (malades et contagieux)
- \(R_n\) — Rétablis ou morts (immunisés ou décédés)
- Total constant : \(N = S_n + I_n + R_n = 1000\)
\(\gamma = 0{,}1\) — chaque jour, 10 % des infectés guérissent ou meurent.
Intuition : dans un espace confiné avec 10 personnes, un malade en infecte en moyenne 4 autres par jour. Avec plusieurs malades simultanés, ça s’emballe très vite.
Les formules des suites :
Le terme \(\dfrac{S_n \cdot I_n}{N}\) représente le nombre de contacts fructueux entre sains et infectés : plus il y a d’infectés et de sains en circulation, plus les rencontres sont fréquentes. Diviser par \(N\) normalise pour que le modèle fonctionne quelle que soit la taille de la population.
Conditions initiales (Jour 0) : \(S_0 = 999,\ I_0 = 1,\ R_0 = 0\) — une seule personne infectée au départ.
Programme Python — à coller sur pythontutor.com pour visualiser l’exécution pas à pas :
N = 1000
beta = 0.4
gamma = 0.1
S = 999.0
I = 1.0
R = 0.0
print("Jour 0:", round(S), round(I), round(R))
for jour in range(1, 16):
new_infections = beta * S * I / N
new_recovered = gamma * I
S = max(0, S - new_infections)
I = max(0, I + new_infections - new_recovered)
R = R + new_recovered
print(f"Jour {jour}: S={round(S)}, I={round(I)}, R={round(R)}")
À Jour 15 : \(I \approx 0\), \(R \approx 950\) — 95 % de la population a été touchée.
Évolution sur 9 jours
| Jour | S — sains | I — infectés | R — morts/guéris | Commentaire |
|---|---|---|---|---|
| 0 | 999 | 1 | 0 | Étincelle |
| 1 | 996 | 4 | 0 | Début imperceptible |
| 2 | 984 | 15 | 1 | Accélération |
| 3 | 939 | 58 | 3 | Explosion |
| 4 | 815 | 179 | 6 | Ça grimpe vite |
| 5 | 560 | 427 | 13 | Pic proche |
| 6 | 250 | 730 | 20 | Maximum infectés |
| 7 | 70 | 890 | 40 | Les sains s’épuisent |
| 8 | 10 | 900 | 90 | Fin proche |
| 9 | 0 | 850 | 150 | Épidémie terminée |
\(R_0\) (taux de reproduction de base) représente le nombre moyen de personnes qu’un infecté contamine dans une population entièrement saine. Si \(R_0 > 1\), l’épidémie se propage. Si \(R_0 < 1\), elle s’éteint d’elle-même. Pour la variole historique, \(R_0 \approx 5\text{–}7\).
beta à 0.2 dans le programme Python. Calcule \(R_0\). L’épidémie s’arrête-t-elle ? Jusqu’où monte \(I_n\) au maximum ?
La courbe des infectés explose (jours 3–7), puis s’effondre quand il n’y a plus assez de sains à infecter. C’est la même logique qu’un feu de forêt.
Pourquoi une étincelle suffit
Le modèle SIR montre quelque chose de contre-intuitif : au jour 1, on compte 4 infectés sur 1 000. Rien de visible. Au jour 3, on en est à 58. Au jour 6, à 730. La croissance est d’abord quasi-invisible, puis soudainement totale.
C’est la caractéristique des suites récurrentes à croissance exponentielle dans leur phase initiale : chaque terme multiplie le précédent par un facteur supérieur à 1, et l’effet ne devient visible que lorsqu’il est déjà très difficile à enrayer. En 1763, sans la moindre notion de contagion, d’immunité ou de quarantaine, une population isolée n’avait aucun moyen de comprendre ce qui se passait — ni de l’arrêter.
Les maths ne rendent pas ce crime moins grave. Mais elles expliquent, avec précision, pourquoi une poignée de couvertures contaminées a pu provoquer une catastrophe.
Réponse : \(R_0 = 1\). L’épidémie ne s’emballe pas mais ne s’éteint pas non plus spontanément. Testez dans Python !