22

程序员硬核劝告:现在还不是出门的时候

 4 years ago
source link: https://www.qbitai.com/2020/02/11285.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

乾明 十三 发自 凹非寺

量子位 报道 | 公众号 QbitAI

憋疯了?在家宅不下去了?想出去透透气了?

千万别!

虽然你对疫情已经麻木了,觉得没什么大碍了。

但现实并非如此,抗疫战斗仍在继续,还没有达到钟南山等专家所说的爆发期。

Nf6F3iu.jpg!web

如果大家现在要是出门,真的是在疫情防控添乱!

不信?看看这个播放量达到数百万的仿真程序吧,它告诉我们:

如果现在出门逛,迎接我们的,就是疫情越来越难控制的局面。

计算机仿真程序的设定

由于是一个仿真任务,所以采用的是面向对象的语言—— Java

数学模型方面,则是自然界中常见的 正态分布 (高斯分布)。

FNRvM3E.jpg!web

这里的 人群人的流动意向 就按照正态分布来模拟,而 病毒的传播率 则是一个固定的参数。

这是一个较为简单的模型,但并不影响对传播及控制要素的分析。

先来介绍一下用来控制传播各个环节的常量。

初始感染数量,设置为50人:

publicstaticintORIGINAL_COUNT=50;

病毒传播率,设置为0.8:

publicstaticfloatBROAD_RATE=0.8f;

病毒潜伏时间,设置为0(若为140则代表14天):

publicstaticfloatSHADOW_TIME=0;

医院收治响应时间,设置为10(同上),表示从确诊到安置隔离的时间:

publicstaticintHOSPITAL_RECEIVE_TIME=10;

医院床位,疫情刚开始的时候由于医院没有隔离区,设置为0:

publicstaticintBED_COUNT=0;

流动意向平均值,设置为0.99,表示人们可以随意流动:

publicstaticfloatu=0.99f;

现在忍不住要出门?会有大麻烦!

那么,先按照上述的参数,也就是初始感染人数为50,医院床位为0 ,流动意向为0.99 ,传播的情况就是:

JbQRJfN.gif

病情就会慢慢传播开来,这时候医院就需要建立隔离区,将 医院床位 参数改为100,即:

publicstaticintBED_COUNT=100;

若是此时,人们控制自己不随意流动,那么疫情将会迅速被控制,甚至被消灭。

其中,下图右侧中的红色点点代表被收治的感染者。

7BN7niJ.gif

但疫情开始的时候,人们肯定控制不住自己的流动,所以将该参数值调回0.99,即:

publicstaticfloatu=0.99f;

此时,让我们看下疫情扩散情况。

yeQjQfM.gif

医院隔离区的床位会被马上占满,疫情也会将不受控制。

而此时的做法就是扩大医院的隔离区,增加床位。

医院床位 参数调至1000,即:

publicstaticintBED_COUNT=1000;

AR3qyeE.gif

此时疫情也能很快被控制,这也就是我们为什么要建雷神山和火神山医院。

但这时,也需要考虑一下医院接收响应的因素,也就是一个患者 从确诊到被安置隔离的时间

若是这个时间过长,疫情也会变得比较糟糕,我们将 医院收治响应时间 设置为100,即:

publicstaticintHOSPITAL_RECEIVE_TIME=100;

UjuQBny.gif

不过幸运的是,国家现在在全力以赴,响应时间足够应付本次疫情,而且会越来越快。

然而,还需要考虑一个非常重要的因素—— 新冠状病毒潜伏期长达14天

之前的 潜伏时间 参数都设置为了0,现在设置为140(程序中为14天),即:

publicstaticfloatSHADOW_TIME=140;

此时让我们看下疫情传播情况。

eIjAVrb.gif

一开始的时候,由于潜伏期的关系,很难再人群中发现患者并进行隔离。

等潜伏期一过,就会出现前一阵子的那般爆发性的增长。而此时,医院隔离区的床位也会被占满。

一旦医院资源被耗尽,那么疫情的传播情况就会变得像一开始那般糟糕。

但是!此处划重点!!

若是人们能够控制 流动意向 ,又会怎样呢?

我们把 流动意向平均值 这个参数调为-0.99,即:

publicstaticfloatu=-0.99f;

BvIbMn7.gif

这个过程也反映了目前医务工作人员与病毒斗争的艰难过程,虽然时间较长,但最终疫情得到了很好的控制。

从这个实验过程,我们可以发现, 人群流动意向 这个参数贯穿始终,基本上起了主导作用。

虽然目前确诊效率、医院收治时间都在加快,但目前我们正处于潜伏期阶段,也就是图中哪些许多黄色的点点,而这也是最危险的时刻!

“傲慢才是生存的最大障碍”

这一程序,来自B站的UP主 Ele实验室 。他在自己作品的开头,也提到了自己为什么要做个系统,他身边的人已经快按奈不住心情了:

前几天北京下雪后,竟然有家长带着孩子出门打雪仗

家族群里有个别亲戚蠢蠢欲动,开始吆五喝六,准备聚餐了

还有一个远方的亲戚,要出门去参加婚礼了

可现在还不是出门的时候,疫情仍旧处于爆发期。他说,虽然花费了很多功夫进行了劝说,但效果如何,仍旧不得而知。

NNV7FrY.jpg!web

作为一名程序员,他决定做点什么。

于是就有了现在这个连夜打造的计算机仿真程序,希望能够更直观地让大家感受下呆在家里的重要性。

他也呼吁大家,不要抱有侥幸心理。

尤其是最近几天,立春已至,各地天气都在转好,往往会给人一种疫情没什么大碍的错觉。

可放松警惕的时候往往是最危险的时候,国家防控措施进入常态化,最后对疫情产生主导作用的,其实还是我们每个人。

在视频的结尾,他引用了《三体》中的一句话,再次提醒大家:

“无知和弱小不是生存的最大障碍,傲慢才是。”

文章的最后,再次感谢“Ele实验室”提供的授权支持。打造这一系统的代码,他也已经在GitHub上开源了,链接如下:

https://github.com/KikiLetGo/VirusBroadcast/tree/master/src

希望大家能够多点耐心,身体健康最重要。等疫情过去,再撒欢儿玩~

版权所有,未经授权不得以任何形式转载及使用,违者必究。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK