グリコのように3すくみ

  • 種の捕食・被捕食関係がロトカ=ヴォルテラ。昨日までは、2種の捕食・被捕食関係だった
  • 3種を考えよう
  • 生物は食い、食われて、朽ちて、食われるという循環
  • 循環のための最小数は3なので、3種
  • 肥料も戦略物資化しているという時事記事(こちら)にもある通り、地球上の生物は、限られたリソースの奪い合いをしている。奪い合い資源は何を持ってきてもよいが、一番簡単なのは、ただ1つの元素が生物量を規定していると考えること
  • したがって、ある元素Pが3種の間を循環しているとみる
  • それぞれの種は、元素Pの単位体積あたり、ある固定した個体数を持つだろう
  • 3種は3すくみ(それはグリコ)の関係にあり、種X(植物を想定)は、種Y(草食動物を想定)と出会って殺される。種Yは殺したXを餌として増える。種Yは死ぬが、これも、種Z(微生物を想定)に食われるので、結果としてZに殺されたと考えてもよく、この項もYとZとの出会い確率で決まると単純化しよう。種Xは種Zの持つPを摂取して増殖する。
  • 今、単位体積のPあたり、ux,uy,uzの個体が作られるとし、XとYの出会い、YとZの出会い、ZとXの出会いごとに、dx,dy,dzのX,Y,Zがそれぞれ死ぬとすると、
  • \frac{dX}{dt}=-d_x XY + \frac{u_z}{u_x} d_z ZX
  • \frac{dY}{dt}=-d_y YZ + \frac{u_x}{u_y} d_x XY
  • \frac{dZ}{dt}=-d_z ZX + \frac{u_y}{u_z} d_z YZの関係が出る
  • 少し書き換えて
  • \frac{dX}{dt}=(XYZ)(-d_x \frac{1}{Z} + \frac{u_z}{u_x} d_z \frac{1}{Y})
  • \frac{dY}{dt}=(XYZ)(-d_y \frac{1}{X} + \frac{u_x}{u_y} d_x \frac{1}{Z})
  • \frac{dZ}{dt}=(XYZ)(-d_z \frac{1}{Y} + \frac{u_y}{u_z} d_z \frac{1}{X})の関係が出る
  • 保存量を考えよう
  • 元素Pはこの3種によって使い尽くされていて、地球上のPは増えも減りもしないという「保存則」が成り立つので、P=u_x X+u_yY+u_zZは保存される
  • \frac{dP}{dt}=0は式変形によって確かに示せる
  • もう一つの保存量についてはこちらを参照
  • Rでやれば
n<-3
ds<-runif(n)
us<-sample(1:10,n)

Niter<-100000
dt<-0.01
m<-matrix(0,Niter,n)
p<-rep(0,Niter)
m[1,]<-runif(n)

p[1]<-0
for(i in 1:n){
	p[1]<-p[1]+us[i]*m[1,i]
}
#pが1からスタートするように補正
m[1,]<-m[1,]/p[1]
p[1]<-0
for(i in 1:n){
	p[1]<-p[1]+us[i]*m[1,i]
}

for(i in 2:Niter){
	xyz<-1
	for(j in 1:n){
		xyz<-xyz*m[i-1,j]
	}
	for(j in 1:n){
		pre<-j-1
		if(pre<1)pre<-n
		post<-j+1
		if(post>n)post<-1
		m[i,j]<-m[i-1,j]+dt*xyz*(-ds[j]/m[i-1,pre] + us[pre]/us[j]*ds[pre]/m[i-1,post])
	}
	for(j in 1:n){
		p[i]<-p[i]+us[j]*m[i,j]
	}

}
par(mfcol=c(2,2))
plot(m[,1],m[,2],type="l",main="1 vs. 2")
plot(m[,2],m[,3],type="l",main="2 vs. 3")
plot(m[,3],m[,1],type="l",main="3 vs. 1")

plot(p,ylim=c(0,2),main="保存量")