查看: 873|回复: 0

[经验] 工程师用仿真程序模拟疫情

[复制链接]
  • TA的每日心情
    开心
    2019-11-4 13:48
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-2-20 09:54:38 | 显示全部楼层 |阅读模式
    分享到:
    憋疯了?在家宅不下去了?想出去透透气了?千万别!一名程序员连夜打造的计算机仿真程序,希望能够更直观地让大家感受下呆在家里的重要性。
    作者:B站up主“Ele实验室”
    如果现在出门逛,迎接我们的,就是疫情越来越难控制的局面。
    计算机仿真程序的设定
    由于是一个仿真任务,所以采用的是面向对象的语言—— Java。
    数学模型方面,则是自然界中常见的 正态分布(高斯分布)。
    这里的 人群和 人的流动意向就按照正态分布来模拟,而 病毒的传播率则是一个固定的参数。
    这是一个较为简单的模型,但并不影响对传播及控制要素的分析。
    先来介绍一下用来控制传播各个环节的常量。
    初始感染数量,设置为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,传播的情况就是:
    病情就会慢慢传播开来,这时候医院就需要建立隔离区,将 医院床位参数改为100,即:
    publicstaticintBED_COUNT= 100;
    若是此时,人们控制自己不随意流动,那么疫情将会迅速被控制,甚至被消灭。
    其中,下图右侧中的红色点点代表被收治的感染者。
    但疫情开始的时候,人们肯定控制不住自己的流动,所以将该参数值调回0.99,即:
    publicstaticfloatu= 0.99f;
    此时,让我们看下疫情扩散情况。
    医院隔离区的床位会被马上占满,疫情也会将不受控制。
    而此时的做法就是扩大医院的隔离区,增加床位。
    将 医院床位参数调至1000,即:
    publicstaticintBED_COUNT= 1000;
    此时疫情也能很快被控制,这也就是我们为什么要建雷神山和火神山医院。
    但这时,也需要考虑一下医院接收响应的因素,也就是一个患者 从确诊到被安置隔离的时间。
    若是这个时间过长,疫情也会变得比较糟糕,我们将 医院收治响应时间设置为100,即:
    publicstaticintHOSPITAL_RECEIVE_TIME= 100;
    不过幸运的是,国家现在在全力以赴,响应时间足够应付本次疫情,而且会越来越快。
    然而,还需要考虑一个非常重要的因素—— 新冠状病毒潜伏期长达14天!
    之前的 潜伏时间参数都设置为了0,现在设置为140(程序中为14天),即:
    publicstaticfloatSHADOW_TIME = 140;
    此时让我们看下疫情传播情况。
    一开始的时候,由于潜伏期的关系,很难再人群中发现患者并进行隔离。
    等潜伏期一过,就会出现前一阵子的那般爆发性的增长。而此时,医院隔离区的床位也会被占满。
    一旦医院资源被耗尽,那么疫情的传播情况就会变得像一开始那般糟糕。
    但是!此处划重点!!
    若是人们能够控制 流动意向,又会怎样呢?
    我们把 流动意向平均值这个参数调为-0.99,即:
    publicstaticfloatu=- 0.99f;
    这个过程也反映了目前医务工作人员与病毒斗争的艰难过程,虽然时间较长,但最终疫情得到了很好的控制。
    从这个实验过程,我们可以发现, 人群流动意向这个参数贯穿始终,基本上起了主导作用。
    虽然目前确诊效率、医院收治时间都在加快,但目前我们正处于潜伏期阶段,也就是图中哪些许多黄色的点点,而这也是最危险的时刻!
    “傲慢才是生存的最大障碍”
    这一程序,来自B站的UP主 Ele实验室。他在自己作品的开头,也提到了自己为什么要做个系统,他身边的人已经快按奈不住心情了:
    前几天北京下雪后,竟然有家长带着孩子出门打雪仗
    家族群里有个别亲戚蠢蠢欲动,开始吆五喝六,准备聚餐了
    还有一个远方的亲戚,要出门去参加婚礼了
    可现在还不是出门的时候,疫情仍旧处于爆发期。他说,虽然花费了很多功夫进行了劝说,但效果如何,仍旧不得而知。
    作为一名程序员,他决定做点什么。
    于是就有了现在这个连夜打造的计算机仿真程序,希望能够更直观地让大家感受下呆在家里的重要性。
    他也呼吁大家,不要抱有侥幸心理。
    尤其是最近几天,立春已至,各地天气都在转好,往往会给人一种疫情没什么大碍的错觉。
    可放松警惕的时候往往是最危险的时候,国家防控措施进入常态化,最后对疫情产生主导作用的,其实还是我们每个人。
    在视频的结尾,他引用了《三体》中的一句话,再次提醒大家:
    “无知和弱小不是生存的最大障碍,傲慢才是。”

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-26 06:54 , Processed in 0.118714 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.