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

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

キーワード

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


ロトカ・ヴォルテラの方程式(Lotka-Volterra equations)

被食者と捕食者の個体数の変化に関するモデルです。
 被食者は、捕食者の個体数が増大すると、食べられる機会が増えるので、その個体数は減少します。
 捕食者は、被食者の数が増大すると、食料が豊富になり増大しますが、捕食が多くなると食料不足で減少します。
アルフレッド・ロトカとヴィト・ヴォルテラは、その関係を次の方程式で表現しました。

  dx/dt = ax - bxy
  dy/dt = -cx + dxy

    x:被食者の個体数
    y:捕食者の個体数
      xy:被食者と捕食者が遭遇する可能数
    a:捕食者が存在しないときの被食者の増加率
      av:捕食者が存在しないときの被食者増加数
    b:捕食者に捕食される確率
      bxy:捕食による被食者の減少数
     a-by:被食者の増加率
    c:被食者が存在しないときの捕食者の減少率
      cv:被食者が存在しないときの捕食者の減少数
    d:被食者を捕食する確率
       dxy:捕食による捕食者の増加数
     -c+dy:捕食者の増加率

注意

被食者・捕食者の時間的推移

  dx/dt = ax - bxy, dy/dt = -cx + dxy
を漸化式に変形すると、
  x[t+dt] = x[t] + dx, y[t+dt] = y[t] + dy
で計算できます。
 ここでは4次のルンゲ・クッタ法を用いているので、dx, dy は複雑な式になります。

a, b, c, d の値により、いろいろ変化しますが、x,y は同じ周期で x が先行する曲線になります。

標準ケース
a= b= c= d=   x0= y0=
  a  b  c  d  x0 y0
0  0.08 0.02 0.02 0.04  10  15     標準ケース 
1  0.08 0.02 0.02 0.04   5   4     平衡ケース 
2  0.1  0.1  0.1  0.1    2   2    
3  0.20 0.05 0.10 0.05  10   5    

平衡点

平衡点とは、時間 t によらず、x, y が変化せず安定している状態です。
 dx/dt = 0 → x*(a - b*y) = 0
  dy/dt = 0 → y*(-c + d*x) = 0
→ x = 0, y = 0    被食者も捕食者も存在しない
  x = c/d, y = a/b

この平衡点の上下、左右で dx/dt, dy/dt の正負が分かれます。
  上側では、 dx/dt < 0 になるので、時間が進むにつれ、x は減少、左側へ移動します。
  左側にくると dy/dt < 0 になるので、y は減少、下側へ移動します。
このように、時間の経過に伴い、(x, y) は平衡点を中心に反時計回りに移動します。
  右上領域; x > c/d, y > a/b → dx/dt<0、dy/dt>0 → dy/dx<0
    捕食者が増大すると捕食される機会が多く被食者が減少する 左上がり
  左上領域: x < c/d, y > a/b → dx/dt<0、dy/dt<0 → dy/dx>0
    被食者が減少すると捕食者は食料が減るので減少する 左下がり
  左下領域: x < c/d, y < a/b → dx/dt>0、dy/dt<0 → dy/dx<0
    捕食者が減少すると捕食される機会が減るので被食者が増大する 右下がり
  右下領域: x > c/d, y < a/b → dx/dt>0、dy/dx>0 → dy/dx>0
    被食者が増大すると捕食者は食料が増えるので増大する 右上がり

解曲線

dy/dx = (dy/dt)/(dx/dt) = x*(a-b*y)/y*(-c+d*x)
を積分すると、
  F(x,y) = d*x - c*log(x) + b*y - a*log(y) + K   ( K は積分定数)
になります。

K の値により、F(x,y) は 平衡点(c/d, a/b) を中心とした等高線になります。
 この等高線が平衡点に近ければ、x,y の変化は小さく安定した状況になります。

a= b= c= d=
Kの値 
色