Bir köyde enfeksiyon
Şu sorunu düşünün:
Virüs bulaşmış yalnız bir gezginin izole bir köye geldiğini varsayalım. $M$köylüler ve orada kaldı. Enfekte olan köylülerin her biri her hafta$n$rastgele diğer köylüler (her biri tek tip ve bağımsız olarak herkes arasından seçilir) ve sonra ona karşı bağışıklık kazanan antikorlar geliştirir. Bağışık değillerse öksüren tüm köylüler enfekte olur. Yalnız gezginin gelmesinden sonra kimse köyden ayrılmadı veya köye girmedi. Zamanın ayrık ve hafta olarak ölçülmesini düşünün. Virüs, birine bulaştığı sürece hayatta kaldığını söylüyoruz. Ne için$n$ hayatta kalması için beklenen süre en uzun mudur?
Buradaki sınır davalarında aşırılığa açıkça ulaşılamamaktadır.
Gerçekten, eğer $n = 0$ Yalnız gezgin, başkasına bulaştırmadan önce bağışıklık kazanır, böylece virüs sadece $1$ hafta.
Eğer $n \to \infty$ Yalnız gezginin ilk hafta içinde herkesi etkileme olasılığı $1$. Bu nedenle, virüsün beklenen hayatta kalma süresi,$2$ bu durumda.
Bu yüzden en iyiyi aramalıyız $n$arasında bir yerde. Ancak, onu nasıl bulacağıma dair hiçbir fikrim yok (hatta büyük ölçüde asimptotik)$M$)…
İlk bakışta sorun, iyi çalışılmış iki soruna biraz benziyor gibi görünüyordu: dallanma süreçleri (belirli bir enfekte köylü tarafından enfekte olmuş köylüler - dallanma süreçleri açısından onların soyundan gelenler) ve kupon toplayıcı sorunu (toplanacak kupon olarak enfekte olmamış köylüler). Bununla birlikte, her ikisinden de farklıdır (buradaki 'torunların sayısı her dönüşte değişir, bu da onu bir Galton-Watson dallanma sürecinden farklı kılar ve' tur başına toplanan kuponların 'sayısı' kupon sayısına bağlıdır ' Klasik bir kupon toplayıcısından farklı kılan bir önceki dönüşte toplanan ') ve bunları çözmek için kullanılanlara benzer yöntemlerin burada işe yaraması olası değildir.
Yanıtlar
Bu cevap, olasılık ve Markov zincirlerinden gelen ilkeleri kullanarak yukarıdaki soruyu çözmek için programlamayı kullanır. Hiçbir kapalı matematiksel formül sağlanmamıştır, ancak sonuçlar$m < 100$ ve eğri uydurma, daha büyük sayılar için ortalama hayatta kalma süresini tahmin etmek için kullanılır.
Başlangıçta simüle ettim $1000$ için farklı konfigürasyonların çalıştırılması $3 \lt m \lt 100$ ve $0 \leqslant n \leqslant 4$, kullanarak sonuçları grafiğe dökmek $95$% güvenilirlik aralığı:
Yapılandırma için $n = 1$, bunu bulduk $X$ Hastalığın yeni bir kurban oluşturduğu son hafta olduğu için aşağıdaki olasılıklar geçerlidir:
$$\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)!}$$
İçin $n > 1$Markov zincirleri kullanılabilir. Herhangi bir kombinasyon için$m, n$bir durum tanımlayalım $\{k, l, w\}$ bağışık insanların sayısını içeren bir grup olarak $k$bulaşıcı insan sayısı $l$ ve şu anki hafta $w$, ile $k + l \leqslant m + 1$. Bu durumdan herhangi bir eyalete geçebiliriz$\{k + l, 0, w + 1\}, \{k + l, 1, w + 1\}, \ldots, \{k + l, \min(n l, m + 1 - k - l), w + 1\}$.
Her olası durum geçişinin olasılığı özyineleme kullanılarak hesaplanabilir. Olasılık$l$ bulaşıcı insanlar etkiler $0 \leqslant p \leqslant \min(n l, m + 1 - k - l)$ süre $k$insanlar bağışıktır, önce tek bir kişinin tüm olası eylemleri dikkate alınarak belirlenebilir. Bu kişi üzerine öksürüyor$n$ rastgele insanlar, bulaşıcı $i \leqslant \min(n, p)$insanlar. Bunu yapmak için bu kişinin rastgele seçmesi gerekir$i$ sağlıklı insanlar ve $n - i$ olasılıkla meydana gelen bağışık insanlar:
$$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}$$
Bu ifadeyi kullanarak, toplamın olasılık $p$ insanlar belirli bir eyaletten enfekte $\{k, l, w\}$ şu şekilde yazılabilir:
$$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\})$$
Bu formül, şu tarihe kadar özyinelemeli olarak çözülebilir. $p = 0$ veya $l = 0$. Ziyaret edilen eyaletler göz önüne alındığında, her zaman eyalette başladığımızı belirtmekte fayda var.$\{0, 1, 1\}$. Varsayalım ki$m \geqslant n$, bu durum devlete geçiş yapar $\{1, n, 2\}$ olasılıkla $1$. Daha sonra her bir ardışık durumun olasılığını hesaplayabiliriz, bu da farklı Markov zincirleriyle sonuçlanır.
Bulaşıcı insan sayısının olduğu bir durumda sona eren tüm zincirleri göz önünde bulundurarak $l$ eşittir $0$değişkeni dikkate alarak beklenen hayatta kalma süresini doğrudan hesaplayabiliriz $w$. Bunu yapmak için Python tabanlı bir uygulama kullanma$3 \lt m \lt 100$ ve $0 \leqslant n \leqslant 4$ sonuçlanır:
Sonuçlar, beklenen surival süresinin en yüksek olduğunu göstermektedir. $n = 2$ ne zaman $m \leqslant 43$en yüksek olduğu halde $n = 1$ ne zaman $m \geqslant 44$. Karekök eğri uydurma sonuçları$f(m) \approx 1.25 \sqrt{m} + 0.70$ için $n = 1$logaritmik eğri uydurma sonuçlanırken $f(m) \approx 2.68 \ln(m) - 1.12$ için $n = 2$. Dönüm noktası etrafındaki değerler aşağıdaki gibidir:
$$\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}$$
Tam Python kodu burada kullanıma sunulmuştur .
Haftada koymak $w$ aşağıdaki sayılarda enfekte, duyarlı (bulaşıcı) ve aşı var $$ I(w) = {\rm infected}\quad S(w) = {\rm infectable}\quad H(w) = {\rm immunized} $$ daha sonra, sayıların rasyonel olmasına izin vererek, $$ \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. $$
İçin çözme $I$ (banal durum hariç) $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. $$ ve başlangıç koşullarını ekleyerek yeniden biçimlendirmek, böylece özyineleme herhangi bir $0 \le w$kabul edilerek $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. $$ Yukarıdakileri sıradan üretme işlevi ile çözebiliriz $$ F(z) = \sum\limits_{0\, \le \,w} {I(w)\,z^{\,w} } $$ kolayca elde ediliyor $$ \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} $$ ancak nerede $A,B,C$ oldukça karmaşık ifadelerdir $m,n$.
Normalde olurdu $n \le m$, böylece karekökler hayali değerlere dönüşür.