PPT

捕食者と被食者のシミュレーション
望月 陽
配置について
• 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言語のプログラミングをもっと
スマートに書けるはずなので、それを深く学
ぶ
• 展望としては、このプログラミングに漁師のよ
うな要素を加える事により、漁獲量などの調
整を行えるようになると思う