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