SIR感染症モデルをグリッドベースでシミュレートする物体です。クソ雑実装なのであしからず。
Python3.x系
$ python sir.pyで実行
-
clear set
感染0(全て感受性保持)でキャンバスを作成。
-
random set
ランダムな感染グリッドを持つキャンバスを作成。初期感染率は0.1%。
-
再生・停止・巻き戻し
それぞれに対応。
-
Grid
グリッドの形を三角、四角から選択。
-
Model
SIR, SIRSモデルから選択。
-
Prob
ステップごとに隣接するグリッドへ感染する確率p。一般的な感染率は三角の場合 $$ \begin{eqnarray} 1 - (1 - p)^3 \end{eqnarray} $$ 四角の場合 $$ \begin{eqnarray} 1 - (1 - p)^4 \end{eqnarray} $$ で求められる。
-
Recover Time
感染したグリッドが免疫を保持するまでのステップ数。
-
Restoration Time
免疫を保持したグリッドが失うまでのステップ数。
-
Range File Name
感染範囲を制限するファイル名を指定。無記入・ファイル名が見つからない場合は無視。
上からy行目の値を$$x_m1 x_M1 x_m2 x_M2 \cdots x_mn x_Mn$$とすると、座標(x,y)は$$x_m1 < x < x_M1, x_m2 < x < x_M2, \cdots x_mn < x < x_Mn$$の範囲に含まれるならば感染有効とする。