程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩

機器之心報道

參與:一鳴、思源、Jamin

急不可耐往外跑,模型說你還太早!疫情看起來被控制住了?程序模擬結果說明,這場戰爭還遠未結束。

程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


剛過二十四節氣中的立春,很多地方氣溫開始回升,而北京地區昨天還迎來了一場漂亮的雪,很多人都想要出門。但是,現在到可以出門的時候了嗎?NO!


近日,有位 B 站 up 主通過程序模擬的方式展示了新型冠狀病毒的傳播方式,特別是在人們不出門和出門的情況下。從結果來看,在沒有隔離措施的情況下,程序展示了一幅病毒傳播的駭人圖景。在這樣的情況下,作為普通公民,唯有堅持閉門不出,我們才可能打贏這場疫情防衛站。


視頻地址:https://www.bilibili.com/video/av86478875


駭人的傳播圖景


在視頻中,up 主首先介紹了程序模擬的情況。可以看到,假設圖上的白點都是某城市的健康人類,紅點為感染者,在設定人群流動一項為正常的情況下,病毒將快速傳播,最後將人群全部感染:


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


我們知道,疾病的傳播需要三個要素:傳染源、傳播途徑和易感人群。只要切斷傳播途徑就無法傳染。所以在沒有醫院干預的情況下,如果所有人都閉門不出(切斷傳播途徑)呢?


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


可以看到,病毒傳播的速度大幅降低,在一定時間內幾乎沒有感染多少人。這時候如果加入「醫院」這個變量,就可以看到疫情很快被消滅的情況。


但是另一方面,在疫情開始蔓延的時候,人們往往並不重視隔離這個因素,這時候沒有控制人員流動。那麼,即使有醫院建立隔離區開始收治病患,疾病依然會快速蔓延,以至於難以收場。


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


這時候就看到了擴大定點醫院規模、建立專門醫院(火/雷神山醫院)集中收治的作用了。在擴大隔離病床規模的情況下,疫情被遏制:


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


那麼,擴大了隔離床位的規模,是否就意味著自我隔離並不重要了呢?大錯特錯。


首先,醫院有收治病人的響應時間(包括排隊掛號、候診、病毒核酸測試等),並不是任何一個感染者都可以立即被隔離治療。這就意味著,一旦病人數量激增,醫院響應時間下降,疫情本身就會變得不可收拾。


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


更重要的一點是,這次的新型冠狀病毒肺炎有 14 天的潛伏期,而潛伏期依然具有傳染性!


潛伏期就意味著醫院響應的時間被變相增加了很多,處於潛伏期的感染者如果還像沒事兒人一樣流動,就會造成嚴重的感染情況。


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


在潛伏期,正是因為幾乎沒有任何症狀,感染者在可以隨意流動的情況下感染了數量龐大的健康人群。當潛伏期結束後,病人數量激增,醫院沒有足夠的隔離床位資源收治病人,最後就會造成不可挽回的局面。


所以,從以上的分析中可以得出結論:不管你自己感覺如何,在國家沒有明確通知的情況下,要儘可能避免不必要的外出。如果必須外出,需要佩戴口罩!


極簡版「瘟疫公司」:模型展示病毒傳播


在用視頻勸誡大眾減少外出的同時,up 主「Ele 實驗室」也在 GitHub 上公開了模擬程序的代碼。該病毒傳播模型通過 Java 完成,如果讀者安裝了 JDK,那麼通過 IntelliJ IDEA 就能成功模擬病毒的傳播過程。目前該項目已經有了 700+的 Star 量,很多開發者已經驗證——這些代碼是能跑的。


項目地址:https://github.com/KikiLetGo/VirusBroadcast


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


在項目的「Issues」中,「請問怎麼導入代碼使用?」展示瞭如何在本地跑代碼。你需要下載代碼,導入 src 目錄下的代碼,然後配置 IDEA,就能讓模型跑起來。如下所示為其它開發者模擬疫情傳播的結果:


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


下圖展示了該項目的代碼結構,開發者通過正態分佈模擬人群分佈與移動分佈。雖然假設非常簡單,但強悍的正態分佈還是能大致體現自我隔離的重要性。


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


在這些文件中,如果讀者不瞭解 Java 語言,那麼可以直接修改 Constants.java 文件中的參數。下圖展示了最為重要的模擬參數,通過調整醫院、人口流動和潛伏期等條件,我們可以清晰地看到病毒傳播呈不同的形態。


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


當然,項目開發者的主要目的在於勸誡我們不要停止自我隔離,模型也只是最理想的情況。如果有開發者熟悉 JAVA,以及各種複雜的條件,那麼你也可以為這樣的樸素病毒傳播模型加上新的限制。


例如人群的流動意向,如果因為地方政策限制了人群流動,人群只能在局部區域活動。那麼這種限制的力度如何映射到最終病毒傳播速度?或者說,在乘坐主要的交通工具時,乘客都會經過嚴格的肺炎新病毒預檢驗,這對病毒的傳播速度又有什麼樣的影響。


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩

感染者初始化,讓那個幸運的傢伙成為感染者吧。


口罩多重要?早有視頻宣教


值得注意的是,此前在 B 站上也有一個大火的視頻,介紹了關於本次疫情的相關情況。其中很重要的一個信息是:口罩的作用。


視頻地址:https://www.bilibili.com/video/av86216616


從視頻中可以看出,病毒可能經由飛沫傳播,沒有防護措施很容易被感染。


此外,口罩的選擇也非常重要。近日,國家衛健委出臺了《不同人群選用口罩指引》。


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


有一個例子說明,沒有佩戴口罩的情況下,感染新冠病毒的可能性非常高。


據寧波市江北區消息,最近新增的一例確診病例,由於和已感染的某位確診病例在菜市場攤位有過 15 秒的近距離接觸,且

兩人都沒有佩戴口罩,最終被感染。


程序模擬新冠病毒傳播,視頻火出B站:必須居家隔離,戴口罩


另外,當病毒在無干預條件下傳播時,其 R0 值非常之高,只有自我隔離,才能有效降低這一數值。自我隔離應對疫情非常有效。


所以,疫情當前,請大家儘量不出門,勤洗手,戴好口罩。


分享到:


相關文章: