捕食者と被食者のシミュレーション 望月 陽
配置について 19×79の(魚にとって餌が十分にある)海に魚と鮫をrand関数で乱数を使いランダムで配置 この海はトーラス 繁殖年数 この期間生存することにより繁殖し、繁殖したものの年を0にする 餓死年数 この期間内に捕食できなかった鮫は消滅する 魚と鮫は時間t=1で1マス移動し、移動するごとに年を1つ重ねる
移動について(魚) 四方を魚か鮫で囲まれているいる時 移動せずに待機 年はとらない 四方に空きがある時 ランダムに1マス移動 繁殖年数に達したものは、移動後元の場所に魚を産む
移動について(鮫) 四方を鮫で囲まれている時 移動せずに待機 年はとらない 四方に空きがある時 ランダムに1マス移動 繁殖年数に達したものは、移動後元の場所に鮫を産む 餓死年数に達したものは消滅する 四方に魚がいる時 ランダムで魚を捕食し、餓死年数を0にする
ヴォルテラの方程式 捕食者と被食者の増減関係をモデル化し、その増減速度を表現した微分方程式 被食者の増殖速度 dx/dt=ax-bxy 捕食者の増殖速度 dy/dt=cxy-dy ここでtは時間 x、yはそれぞれ魚と鮫の個体数 a、cはそれぞれ魚と鮫の増殖率 b、dはそれぞれ魚と鮫の減少率 捕食者yがいなければ被食者はdx/dt=axに従って無限に増え、 被食者xがいなければ捕食者はdy/dt=-dyに従って絶滅に向かう
課題・展望 課題としては、c言語のプログラミングをもっとスマートに書けるはずなので、それを深く学ぶ 展望としては、このプログラミングに漁師のような要素を加える事により、漁獲量などの調整を行えるようになると思う