Skip to content

Algebra-FUN/B-CA-Infection-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

布朗-SIR-元胞自动机

关于

这是一种传染病模型,基于SIR,元胞自动机(CA)原理

实验效果

模型原理

SIR

参考SIR模型,将人群分为3个组成部分

  • S(Susceptible)-易感人群
  • I(Infected)-感染人群
  • R(Removed)-移除人群

性质

  1. 感染者(I)具有感染易感者(S)的能力
  2. 感染者(I)具有转化为移除者(R)的趋势
  3. 移除者(R)将不再具备传染能力

布朗-元胞自动机(B-CA)

基于元胞自动机(CA)模型,增加元胞(Cell)在空间内做布朗运动,以模拟人口区域范围流动性

元胞空间

参数

布朗运动速度(v)
  • 代表布朗运动强度
  • 反应人口流动强度
空间大小(D)
  • 代表元胞所在空间的尺度
  • 反应人口密度

运行机制

分为3个步骤:

  1. move-元胞运动
  2. infect-传染
  3. remove-移除

move-元胞运动

$$ (\frac{dx}{dt})^2 + (\frac{dy}{dt})^2 = v $$

$$ \theta = random[0,2\pi) $$

infect-传染

感染者(I)感染易感者(S)的过程

感染概率$\alpha$与感染者(I)和易感者(S)之间的距离$d$成正比

第$i$个易感者$S_i$被第$j$个感染者$I_j$感染概率$\alpha$可表示为 $$ \alpha(S_i,I_j)= \large{e^{-\kappa\cdot d(S_i,I_j)}} $$ $$ \kappa>0,d\geq0 \Rightarrow -\kappa\cdot d\leq0\Rightarrow 0<e^{-\kappa\cdot d(S_i,I_j)} \leq1\Rightarrow \alpha\in(0,1] $$

其中$\kappa$为传染概率系数,$d(S_i,I_j)$表示第$i$个易感者$S_i$被第$j$个感染者$I_j$之间的距离

则第$i$个易感者$S_i$被感染的概率为 $$ \alpha(S_i)=1-\prod_j\alpha(S_i,I_j) $$

remove-移除

每天感染者(I)的被移除概率$\beta$为一常数

则感染者在被感染后第$k$天被移除的概率$\gamma(k)$为 $$ \gamma(k)=\beta(1-\beta)^{k-1} $$

Python Dependency

  1. numpy
  2. pandas
  3. matplotlib
  4. imageio

About

"Brownian-CA-Infection" is a Math Model of Infection based on CA and SIR.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages