ロトカ・ヴォルテラモデルとは?
ロトカ・ヴォルテラ方程式は、2種類の生物が「捕食者」と「被食者」として相互作用する生態系のダイナミクスを記述する、2本の1階非線形微分方程式です。1920年代にアルフレッド・ロトカとヴィト・ヴォルテラがそれぞれ独立に導き出したこのモデルは、個体数が周期的に増減する様子を見事にとらえています。すなわち、被食者が増える → 捕食者が餌に恵まれて増える → 被食者が激減する → 捕食者が飢えて減る、というサイクルが繰り返されるのです。
この計算機の使い方
被食者の初期個体数(\(x_0\))と捕食者の初期個体数(\(y_0\))、4つのレートパラメータ(\(\alpha\)=被食者の増加率、\(\beta\)=捕食率、\(\delta\)=被食者を食べることによる捕食者の増加率、\(\gamma\)=捕食者の死亡率)、時間刻み幅(\(dt\))、そして積分するステップ数を入力します。計算機は古典的な4次のルンゲ=クッタ法(RK4)でシステムを時間発展させ、最終的な個体数、各個体数が到達したピーク、そして解析的に求まる平衡点を表示します。
数式の解説
被食者の方程式 $$\frac{dx}{dt} = \alpha\,x - \beta\,x\,y$$ は、被食者が指数的に増える一方で、捕食者と出会うことで減少していくことを表します。捕食者の方程式 $$\frac{dy}{dt} = \delta\,x\,y - \gamma\,y$$ は、捕食者が狩りの成功によって増え、自然に死んでいくことを表します。ゼロでない平衡点は $$x^{*} = \frac{\gamma}{\delta} \qquad y^{*} = \frac{\alpha}{\beta}$$ にあり、この点では両方の微分がゼロとなって個体数は一定に保たれます。
計算例
\(x_0 = 40\)、\(y_0 = 9\)、\(\alpha = 0.1\)、\(\beta = 0.02\)、\(\delta = 0.01\)、\(\gamma = 0.1\)、\(dt = 0.1\) で1000ステップ(\(t\) は100まで)計算すると、個体数は振動します。平衡点は被食者が $$x^{*} = \frac{0.1}{0.01} = 10$$ 捕食者が $$y^{*} = \frac{0.1}{0.02} = 5$$ で、サイクルはこの中心の周りを回るように描かれます。
よくある質問
どの積分法を使っていますか? 4次のルンゲ=クッタ法を採用しています。同じ刻み幅であれば、単純なオイラー法よりもはるかに高精度です。
個体数が発散したりゼロになったりするのはなぜ? 時間刻み幅が極端に大きかったり、レートが極端な値だったりすると、数値解が不安定になることがあります。\(dt\) を小さくすると、より滑らかで正確なサイクルが得られます。
平衡点から始めるとどうなりますか? \(x_0 = \gamma/\delta\) かつ \(y_0 = \alpha/\beta\) の場合、両方の微分がゼロになるため個体数は変化しません。これがシステムの固定点です。