2次元伝染病モデル(課題1002)

[全課題リスト|サンプルソース|完成した実行ファイル(実習室のみ)|完成したソースの例] Time-stamp: "2004/12/19 Sun 21:07 hig"

講義L10 (代替) で説明した, 2次元の伝染病モデルを考えよう. 不健康な人は, 確率的に, 一人一人独立に, 健康に戻る. 平均すると, 単位時間(1月=30日としよう)あたり平均1回健康に戻る. 健康な人は, 確率的に発病して不健康になる. 平均すると, 単位時間あたり, λ × (隣接する患者数) 回発病する.

サンプルプログラムepidemic1.cを完成させて この過程をアニメーションしよう. このとき, 1日を1タイムステップとし, 乱数を用いて, 次の手順で状態を更新することにする.

  1. 不健康な人一人一人について乱数を参照して, 確率的に健康に戻る.
  2. すべての人が回復の試みを行ったあと, 一人一人について, 隣接する(回復しなかった)患者数を計算する. この計算方法は, quiz11 とその解答も参照. 乱数を参照して, 患者数に比例する上の確率で発病する.

いくつかの λ の値で試して, 人類滅亡と病原菌撲滅の境目の λ の値を探してみよう.

なお, 端のところにいる人の状態更新をどうするかという問題がある. 講義L12 (代替)参照.


Copyright © 2004 Saburo Higuchi. All rights reserved.
樋口三郎, hig mail address