Infektion in einem Dorf
Betrachten Sie das folgende Problem:
Angenommen, ein einsamer Wanderer, der mit einem Virus infiziert ist, kommt mit in ein abgelegenes Dorf $M$Dorfbewohner und blieb dort. Jede Woche hustet jeder der infizierten Dorfbewohner weiter$n$zufällige andere Dorfbewohner (jeder von ihnen wird einheitlich und unabhängig unter allen ausgewählt) und entwickelt dann Antikörper, die dagegen immun werden. Alle Dorfbewohner, die gehustet werden, infizieren sich, wenn sie nicht immun sind. Nach der Ankunft des einsamen Wanderers verließ niemand das Dorf oder betrat es. Betrachten Sie die Zeit als diskret und in Wochen gemessen. Wir sagen, dass das Virus überlebt, solange jemand damit infiziert ist. Für was$n$ Ist die erwartete Überlebenszeit die längste?
Das Extremum wird hier in den Grenzfällen eindeutig nicht erreicht.
In der Tat, wenn $n = 0$ Der einsame Wanderer wird immun, bevor er jemanden infizieren kann, so dass das Virus nur für überlebt $1$ Woche.
Wenn $n \to \infty$ Die Wahrscheinlichkeit, dass der einsame Wanderer in der ersten Woche alle infiziert, ist tendenziell $1$. Somit tendiert die erwartete Überlebenszeit des Virus dazu$2$ in diesem Fall.
Wir müssen also nach dem Optimum suchen $n$irgendwo dazwischen. Ich habe jedoch keine Ahnung, wie ich es finden soll (oder sogar asymptotisch für große$M$)…
Auf den ersten Blick schien das Problem zwei gut untersuchten Problemen ähnlich zu sein: Verzweigungsprozesse (Dorfbewohner, die von einem bestimmten infizierten Dorfbewohner infiziert wurden - ihre Nachkommen in Bezug auf Verzweigungsprozesse) und Couponsammlerproblem (nicht infizierte Dorfbewohner als zu sammelnde Gutscheine). Es unterscheidet sich jedoch von beiden (die Anzahl der "Nachkommen" ändert sich hier in jeder Runde, was es von einem Galton-Watson-Verzweigungsprozess unterscheidet, und die Anzahl der "pro Runde gesammelten Coupons" hängt von der Anzahl der "Coupons" ab gesammelt in der vorherigen Runde ', was es von einem klassischen Couponsammler unterscheidet) und Methoden, ähnlich denen, die verwendet wurden, um sie zu lösen, funktionieren hier wahrscheinlich nicht.
Antworten
Diese Antwort verwendet Programmierung, um die obige Frage zu lösen, wobei Prinzipien aus Wahrscheinlichkeits- und Markov-Ketten verwendet werden. Es wird keine geschlossene mathematische Formel bereitgestellt, obwohl die Ergebnisse für angezeigt werden$m < 100$ Die Kurvenanpassung wird verwendet, um die durchschnittliche Überlebenszeit für größere Zahlen zu schätzen.
Anfangs habe ich simuliert $1000$ Läufe mit verschiedenen Konfigurationen für $3 \lt m \lt 100$ und $0 \leqslant n \leqslant 4$Zeichnen der Ergebnisse mit $95$% Vertrauensintervalle:
Für die Konfiguration in der $n = 1$finden wir das mit $X$ Da es sich um die Woche handelt, in der die Krankheit zuletzt ein neues Opfer darstellt, gelten folgende Wahrscheinlichkeiten:
$$\begin{cases} P(X = 1) = \frac{1}{m} \\ P(X = x) = \frac{m}{x - 1} \frac{m - x + 1}{m} \frac{x}{m} P(X = x - 1) \end{cases} \iff P(X = x) = \frac{x}{m^x} \frac{(m - 1)!}{(m - x)!}$$
Zum $n > 1$, Markov-Ketten können verwendet werden. Für jede Kombination von$m, n$Definieren wir einen Zustand $\{k, l, w\}$ als Tupel mit der Anzahl der Immunpersonen $k$, die Anzahl der ansteckenden Menschen $l$ und die aktuelle Woche $w$mit $k + l \leqslant m + 1$. Von diesem Zustand aus können wir zu jedem der Zustände übergehen$\{k + l, 0, w + 1\}, \{k + l, 1, w + 1\}, \ldots, \{k + l, \min(n l, m + 1 - k - l), w + 1\}$.
Die Wahrscheinlichkeit jedes möglichen Zustandsübergangs kann unter Verwendung von Rekursion berechnet werden. Die Wahrscheinlichkeit, dass$l$ infektiöse Menschen beeinflussen $0 \leqslant p \leqslant \min(n l, m + 1 - k - l)$ während $k$Menschen sind immun, kann bestimmt werden, indem zunächst alle möglichen Handlungen einer einzelnen Person berücksichtigt werden. Diese Person hustet weiter$n$ zufällige Menschen, infizierend $i \leqslant \min(n, p)$Menschen. Dazu muss diese Person zufällig auswählen$i$ gesunde Menschen und $n - i$ Immunpersonen, was mit Wahrscheinlichkeit geschieht:
$$P(i) = \underbrace{\frac{m - k - l + 1}{m} \frac{m - k - l}{m - 1} \cdots \frac{m - k - l - i + 2}{m - i + 1}}_{\text{healthy people}} \\ \underbrace{\frac{k + l - 1}{m - i} \frac{k + l - 2}{m - i - 1} \cdots \frac{k + l - n + i}{m - n + 1}}_{\text{immune people}} {n \choose i}$$
Mit diesem Ausdruck wird die Wahrscheinlichkeit, dass insgesamt $p$ Menschen sind aus einem bestimmten Staat infiziert $\{k, l, w\}$ kann geschrieben werden als:
$$P(\{k + l, p, w + 1\} | \{k, l, w\}) = \sum_{i = 0}^{\min(p, n)} P(i) P(\{k + l, p - i, w + 1\} | \{k + i, l - 1, w\})$$
Diese Formel kann rekursiv bis gelöst werden $p = 0$ oder $l = 0$. In Anbetracht der besuchten Staaten ist anzumerken, dass wir immer im Staat beginnen$\{0, 1, 1\}$. Vorausgesetzt, dass$m \geqslant n$Dieser Zustand geht in den Zustand über $\{1, n, 2\}$ mit Wahrscheinlichkeit $1$. Wir können dann die Wahrscheinlichkeit jedes aufeinanderfolgenden Zustands berechnen, was zu unterschiedlichen Markov-Ketten führt.
Betrachtet man alle Ketten, die in einem Zustand enden, in dem die Anzahl der ansteckenden Menschen $l$ gleich $0$können wir die erwartete Überlebenszeit direkt unter Berücksichtigung der Variablen berechnen $w$. Verwenden Sie dazu eine Python-basierte Implementierung$3 \lt m \lt 100$ und $0 \leqslant n \leqslant 4$ Ergebnisse in:
Die Ergebnisse zeigen, dass die erwartete Überlebenszeit für am höchsten ist $n = 2$ wann $m \leqslant 43$, während es am höchsten ist für $n = 1$ wann $m \geqslant 44$. Die Anpassung der Quadratwurzelkurve ergibt$f(m) \approx 1.25 \sqrt{m} + 0.70$ zum $n = 1$, während logarithmische Kurvenanpassung ergibt $f(m) \approx 2.68 \ln(m) - 1.12$ zum $n = 2$. Die Werte um den Wendepunkt sind wie folgt:
$$\begin{array}{c|c|c} m & n = 1 & n = 2 \\ \hline \text{39} & 8.51 & 8.65 \\ \text{40} & 8.61 & 8.72 \\ \text{41} & 8.71 & 8.79 \\ \text{42} & 8.80 & 8.86 \\ \text{43} & 8.90 & 8.92 \\ \text{44} & 9.00 & 8.99 \\ \text{45} & 9.09 & 9.05 \\ \text{46} & 9.18 & 9.12 \\ \text{47} & 9.27 & 9.18 \\ \text{48} & 9.36 & 9.24 \end{array}$$
Der vollständige Code Python wurde zur Verfügung gestellt hier .
Das in der Woche $w$ Wir haben die folgende Anzahl von infizierten, anfälligen (infizierbaren) und immunisierten $$ I(w) = {\rm infected}\quad S(w) = {\rm infectable}\quad H(w) = {\rm immunized} $$ dann, wenn wir zulassen, dass die Zahlen rational sind, werden wir haben $$ \left\{ \matrix{ I(0) = 1\quad S(0) = m\quad H(0) = 0 \hfill \cr I(w) + S(w) + H(w) = m + 1 \hfill \cr H(w) = I(w - 1) \hfill \cr I(w+1) = {n \over {m + 1}}S(w) \hfill \cr} \right. $$
Auflösen nach $I$ (ohne den banalen Fall $n=0$) $$ I(w) + {{m + 1} \over n}I(w + 1) + I(w - 1) = m + 1\quad \left| \matrix{ \;I(0) = 1 \hfill \cr \;I(1) = n{m \over {m + 1}} \hfill \cr} \right. $$ und Neufassung unter Einbeziehung der Anfangsbedingungen, so dass die Rekursion für alle gültig ist $0 \le w$unter der Annahme, dass $w <0 \; \Rightarrow \; I(w)=0 $ $$ I(w) + {n \over {m + 1}}I(w - 1) + {n \over {m + 1}}I(w - 2) + \left[ {0 = w} \right]\left( {n - 1} \right) = n\quad \left| {\;0 \le w} \right. $$ Wir können das Obige über eine gewöhnliche Erzeugungsfunktion lösen $$ F(z) = \sum\limits_{0\, \le \,w} {I(w)\,z^{\,w} } $$ leicht zu erhalten $$ \eqalign{ & F(z) = {{{n \over {1 - z}} - \left( {n - 1} \right)} \over {1 + {n \over {m + 1}}\left( {z + z^{\,2} } \right)}} = {{m + 1} \over n}{{1 + \left( {n - 1} \right)z} \over {\left( {1 - z} \right)\left( {z^{\,2} + z + {{m + 1} \over n}} \right)}} = \cr & = {{m + 1} \over n}{{1 + \left( {n - 1} \right)z} \over {\left( {1 - z} \right)\left( {z + {1 \over 2} + {{\sqrt {1 - 4\left( {m + 1} \right)/n} } \over 2}} \right) \left( {z + {1 \over 2} - {{\sqrt {1 - 4\left( {m + 1} \right)/n} } \over 2}} \right)}} = \cr & = {A \over {\left( {1 - z} \right)}} + {B \over {\left( {z + {1 \over 2} + {{\sqrt {1 - 4\left( {m + 1} \right)/n} } \over 2}} \right)}} + {C \over {\left( {z + {1 \over 2} - {{\sqrt {1 - 4\left( {m + 1} \right)/n} } \over 2}} \right)}} \cr} $$ wo jedoch $A,B,C$ sind ziemlich komplizierte Ausdrücke von $m,n$.
Normalerweise wäre es so $n \le m$, so dass die Quadratwurzeln zu unvorstellbaren Werten werden.