感染拡大シミュレーション-動画の解説
投稿日:
こんにちは、えむしーじじょうのShikiです。
この記事では前に書いた「感染拡大シミュレーション-イントロ」の動画の見方について解説します。 ※本稿は取説です。物語的,考察的文章ではありません。
棒人間の状態
仮想世界で活動する棒人間達の健康状態を色で表しています。また、時間が経過すると現れる右下のグラフでは対応する色で積層グラフを表示しています。
- ① 免疫保持者
- ウイルスに対する免疫を持ち、感染者から感染しない人。
- ② 健常者
- ウイルスに感染していない健康な人。
- ③ 感染者 – 潜伏期間
- ウイルスが潜伏しているが、まだ他人には感染させない人。
- ④ 感染者 – 感染性潜伏期間
- ウイルスが潜伏していて、発症はしていないが他人に感染させてしまう人。
- ⑤ 無症候性キャリア
- 潜伏期間が過ぎても何故か発症しなかったり、症状が小さく無自覚な人。現実には無症候性キャリアから発症する場合もありますが、このシミュレーションでは発症せず、設定期間後に治癒します。
- ⑥ 発症者
- 発症していて、かつ出歩いている人。
- ⑦ 発症者&隔離
- 発症後、感染が確認されて隔離されている人。このシミュレーションでは隔離されている人は周りに感染させない。
- ⑧ 死亡者
- 死亡した人。一定時間後に画面から消えます。
- ⑨ 死亡者 – 一定時間後
- 死亡から一定時間が経過して画面から消えた人。
- ⑩ 外出自粛
- 要請に応じて外出自粛をしている人。周りから感染しない&周りに感染させ
- ()内の数字
- 状態Aになってから状態A’になるまでの期間(サイクル数)
右下のグラフの下図のように対応しています。死亡者は積算しないため、死者が出ると合計値が小さくなります。
各条件
- ① 棒人間の数
- 仮想世界の棒人間の数。開始時の数で、死者が出てもカウントは減りません。増えることもありません。奇数^2で設定すると1人の感染者が真ん中に位置するようになっています。
- ② 終了時間
- 仮想世界が終わる時間。終了時間×サイクル単位が総サイクル数です。
- ③ サイクル単位
- 1秒で回るサイクル数。1サイクル毎に棒人間の位置、速度、健康状態が更新されます。
- ④ 世界の幅
- 仮想世界の幅。縦横共通です。
- ⑤ 棒人間の大きさ(直径)
- 見かけは縦長の形をしていますが、当り判定上は円形で処理しています。
- ⑥ 感染最大距離
- 感染者から感染する可能性のある距離の最大値。距離と感染確率の関係は⑨の通り。
- ⑦ 人 - 人 距離(平時)
- 社会距離要請が無いときの棒人間同士の最接近距離。この距離より近づくと弾性率1で運動量を交換して反発します。
- ⑧ 人<->人 距離(要請時)
- 社会距離要請があるときの棒人間同士の最接近距離。同上。
- ⑨ 感染確率
- 距離と感染確率の関係。飛沫感染を参考に次の式を与えています。
感染確率 = [1- (距離/感染最大距離)^4 ]
↓を参考に近似しました。
Facing COVID-19 Challenges With Our Customers and Partners - ⑩ 外出自粛要請
- 次の3つのパラメータによって制御しています。
● 要請基準 : [発症者&隔離]/[棒人間の数]がこの値を超えると外出自粛要請が発動されます。
● 解除基準 : [発症者&隔離]/[棒人間の数]がこの値を下回ると外出自粛要請が解除されます。
● 実行率 : 要請が発動された場合の実行率です。例えば0.5の場合、5割の棒人間が外出を自粛します。 - ⑪ 社会距離要請
- 「社会距離」は「社会的距離」とも呼ばれていますが字数の都合上「社会距離」を使用しています。制御方法は⑩外出自粛要請と基本的に同じです。実行率の割合で[人-人距離(要請時)]の当り判定をします。
- ⑫ 再生産数
- リアルタイムでの再生産数です。集計を全期間にすると1に近づくため、基準日を設けています。
● 基準日 : 基準日から現在進行まで期間中に[感染→発症or無症候→治癒]を辿った棒人間から集計します。
● 平均 : 再生産数の平均値。1を超えると感染者の割合が増加していきます。
● 最大 : 対象の棒人間の内、もっとも多く感染させた人数
ざっと、こんなところでしょうか? 次回は中身のアルゴリズムに関することを書こうかと思います。
終わり。