スタートページWeb教材一覧オペレーションズリサーチ

捕食-被食関係モデル(Lotka-Volterra equations)

キーワード

捕食-被食関係モデル、ロトカ・ヴォルテラの方程式(Lotka-Volterra equations)


モデルの説明

被食者と捕食者の個体数の変化に関するモデルです。
 被食者は、捕食者の個体数が増大すると、食べられる機会が増えるので、その個体数は減少します。
 捕食者は、被食者の数が増大すると、食料が豊富になり増大しますが、捕食が多くなると食料不足で減少します。

アルフレッド・ロトカとヴィト・ヴォルテラは、その関係を次の方程式で表現しました。
 dx/dt = ax - bxy
 dy/dt = cxy - dy
   x:被食者の個体数、 y:捕食者の個体数、t:時間
   xy:被食者と捕食者の遭遇機会、双方の個体数の積になる
      a:被食者増殖速度、 ax:捕食者がいないときの被食者の増加数
   b:被食者が捕食者と遭遇して食べられる割合 -bxy:食べられることによる被食者の減少数
      c:遭遇により被食者を食することによる増加率 cxy;食べることによる捕食者の増加数
   d:捕食者減少速度 -dx:被食者がいない(食料がない)ときの捕食者の減少数

シミュレーション

上の式を微分方程式として計算することもできますが、近似的に漸化式に変換して計算することもできます。
しかし、その誤差が累積されるので、かなり異なる結果になることもあります。
  x[t+dt] = x[t] + ax[t] - bx[t]y[t]
    y[t+dt] = y[t] + cx[t]y[t] - dy[t]
ここで、初期値として x[0] = x0, y[0] = y0、および a~d を与えることにより、
時間 t における x と y を計算できます。
モデル諸元
初期数自然増減遭遇増減
被食者 x0= a= b=
捕食者 y0= d= c=
実行諸元
tmax= dt= 個体数最大値=
このモデルは、初期値や係数のわずかな違いが、その後の状況に大きな影響を与えます。
係数が適切に設定されると、右図のように、xに遅れてyが増減する周期的な変化になります。

平衡点

平衡点とは、時間 t によらず、x, y が変化せず安定している状態です。
   dx/dt = 0 → ax - bxy = 0
  dy/dt = 0 → cxy - dy = 0
  → x = 0, y = 0    被食者も捕食者も存在しない
     x = d/c, y = a/b
 初期値 x0 = d/c, y0 = a/b を設定すると、x, y は変化しません。

この平衡点の上下、左右で dx/dt, dy/dt の正負が分かれます。
上側では、 dx/dt < 0 になるので、時間が進むにつれ、x は減少、左側へ移動します。
左側にくると dy/dt < 0 になるので、y は減少、下側へ移動します。
このように、時間の経過に伴い、(x, y) は平衡点を中心に反時計回りに移動します。

解曲線

周期的な変化になる状況を解といい、その x と y の対応をプロットしたものを解曲線といいます。
xとyの変化は
  dy/dx = (dy/dt)/(dx/dt) = (cy-dxy)/(ax-bxy)  → (a/y-b)dy = (c/x-d)dx
両辺を積分して
  a*log(y)-by = c*log(x)-dx+K  
    ya*xc = eK(by-dx) Kは積分定数
の関係が得られます。
k を変えることにより、解曲線は右図のようになります。

先の周期的グラフとの関連を考えます。
図の右上の状況だとします。
・被食者は多く存在するので、捕食者は食料が豊富です。捕食者は増加し被食者は減少します。
・左上の状況になります。被食者が減少するので、捕食者は食料が乏しくなり減少します。
・左下の状況になります。捕食者が減少するので、被食者は増加します、
・右下の状況になります。食料が豊富になるので、捕食者が増加します。
 その増加が多くなると、右上の状況になります。

a~dの値が平衡点に近ければ、内部のループになり、増減の変化は少なく、
離れていれば、外側のループになり、増減の変化が大きくなります。
それが激しくなると、被食者が0になり捕食者も0になるような状況になります。