我是靠谱客的博主 甜美翅膀,最近开发中收集的这篇文章主要介绍我用代码告诉你,疫情怎么扩散?有图有真相,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

点击上方“终端研发部”,选择星标

回复“资源”,领取全网最火的Java核心知识总结~

乾明 十三 发自 凹非寺

量子位 报道 | 公众号 QbitAI

正文

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

千万别!

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

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

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

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

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

计算机仿真程序的设定

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

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

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

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

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

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

public static int ORIGINAL_COUNT=50;

病毒传播率,设置为0.8:

public static float BROAD_RATE = 0.8f;

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

public static float SHADOW_TIME = 0;

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

public static int HOSPITAL_RECEIVE_TIME=10;

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

public static int BED_COUNT=0;

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

public static float u=0.99f;


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

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

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

public static int BED_COUNT=100;

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

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

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

public static float u=0.99f;

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

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

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

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

public static int BED_COUNT=1000;

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

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

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

public static int HOSPITAL_RECEIVE_TIME=100;

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

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

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

public static float SHADOW_TIME = 140;

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

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

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

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

但是!此处划重点!!

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

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

public static float u=-0.99f;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

而且,打造这一系统的代码,他也已经在GitHub上开源了,链接如下:

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

希望大家能够多点耐心,身体健康最重要。

等疫情过去,再撒欢儿玩~

阅读更多

2019,我迟来的总结

YYYY-MM-DD 的黑锅,我们不背!

别再 select * 了,送你 12 个查询技巧!

Google 开源的依赖注入库,比 Spring 更小更快!

程序员对于35岁的担忧:未来真的没有什么好的前景吗?

IntelliJ IDEA 快捷键终极大全,速度收藏!

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

喜欢就给个“在看

最后

以上就是甜美翅膀为你收集整理的我用代码告诉你,疫情怎么扩散?有图有真相的全部内容,希望文章能够帮你解决我用代码告诉你,疫情怎么扩散?有图有真相所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部