ただのメモ

他の人に見せても良い方のメモ

Allee効果

アリー効果というものがある。

  • ざっくり言うと、ある集団の密度が一定数以上で増加し、それ以下で減少するような効果
  • 生物学的には、以下の例がある。
    • 花が集団で咲いていること。
    • 魚や鳥が群れを成すこと。
  • 社会的にも、
    • 大都市と辺境の村
    • 部活動?
      • 多いと増えやすい。
      • 少ないと幹部が大変で、持たない。
      • とすると、新歓で入れるべき、閾値となる人数が存在するのでは?
  • 数理的に言うと以下の式となる。
  • 今回は、ノイズを少し加えつつ、色んな初期値で初めて、並列的に可視化するモデルを作ってみた。
  • コードはこちら。
#%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import math
import random

#initial settings
N=30000;dt=0.01;T=N*dt
a=0.1;b=0.1;c=20;d=0.3;K0=5;K=20

def f(s,t):
    return a*s*(s/K0-1)*(1-s/K)

def g(s,t):
    return 1

def main(p,q,col):
    x=[0]*N;y=[0]*N;z=[0]*N
    x[0]=p;y[0]=q
    for i in range(N-1):
        xk1=f(x[i],y[i])*dt
        yk1=g(x[i],y[i])*dt
        xk2=f(x[i]+xk1/2,y[i]+yk1/2)*dt
        yk2=g(x[i]+xk1/2,y[i]+yk1/2)*dt
        xk3=f(x[i]+xk2/2,y[i]+yk2/2)*dt
        yk3=g(x[i]+xk2/2,y[i]+yk2/2)*dt
        xk4=f(x[i]+xk3,y[i]+yk3)*dt
        yk4=g(x[i]+xk3,y[i]+yk3)*dt
        x[i+1]=x[i]+(xk1+2*xk2+2*xk3+xk4)/6+0.05*(random.random()-0.5)
        y[i+1]=y[i]+(yk1+2*yk2+2*yk3+yk4)/6
    plt.plot(x,y,color=col)

#we add little noise!
main(30,0,"red")
main(5,0,"blue")
main(2,0,"green")
main(15,0,"lightgreen")
main(3,0,"purple")
main(8,0,"cyan")
main(6,0,"orange")
main(4,0,"pink")

plt.xlabel("x")
plt.ylabel("y")
plt.title("Example 402")

plt.show()

f:id:medical-science:20220402185651p:plain

  • 見ての通り、双安定となっている。

以下は考え事

  • 集団の取るべき戦略は、局所的に大きな密度の場所を作り出すこと。
  • それによりそこでの密度を上げつつ、その周辺の密度を閾値以上にすること。
  • これを繰り返し、閾値以上の部分の面積を増大させていく。
    • これこそが○○の繁殖。ということか。
  • そして、○○や××の繁殖を考えると、生物全体の繁殖、というものも考えられる。
    • 階層的に考える。
  • 生物もある程度の多様性がないと、絶滅してしまう。
  • これも一種のアリー効果、ではないだろうか。

バイバイ!