logo

ロジスティックファミリー 📂動力学

ロジスティックファミリー

定義 1

a=2.png

$a \ge 0$に関して、$g_{a} (x) = a x ( 1 - x )$をロジスティックマップlogistic Mapと呼び、$\left\{ g_{a} \mid a > 0 \right\}$をロジスティックファミリーlogistic Familyとする。

性質

  • [1]: $x \in [0,1] \iff g_{a} (x) \ge 0$
  • [2]: $g'_{a} (x) = a ( 1 - 2x)$
  • [3]: $1 < a \le 4$ならば、$\displaystyle x_{1} = {{ a - 1} \over { a }}$は$g_{a} (x)$の固定点である。
  • [4]: $1 < a < 3$ならば、 $$ \lim_{ k \to \infty} f^{k} (x) = x_{1} = {{a-1} \over {a}} $$

説明

ロジスティックモデルは人口の増減など様々な現象をモデリングするのに役立てることができる。人口であれば、一世代が経過するごとにロジスティックマップ$g_{a}$を一度適用することとみなせる。ただし、二次関数で初期値が$x_{1} \in [0,1]$でなければ関数値は負になるが、そもそもそれ以外には興味が無いため、$a \ge 0$と$x_{1} \in [0,1]$だけを気にすれば良い。

数式的な理解

  • $0 \le a \le 1$の場合、$g_{a}$は唯一のシンク$x_{1} =0$を持ち、マップを適用すると$a , x, (1-x)$は全て$1$以下になるため、これらの積は続けて小さくなり、マップを適用するたびに$0$に近づく。人口で考えると、生まれるより死ぬ方が多く、最終的に絶滅へと向かうケースだ。例えば、小さな島にメスのクマが一匹しかおらず、オスのクマだけがたくさんいる場合、それでも再び繁栄する可能性はあるが、その可能性は極めて低い。$a<1$という条件はほぼ確実な終末を意味し、特に興味深くない。

$4 < a $の場合、$a x (1-x)$の最大値が$\displaystyle {{a} \over {4}} > 1$なので、マップを適用するたびにだんだん大きくなり、$x_{n } = g^{k}_{a} (x_{n-1})$が$1$より大きくなる瞬間が来る。

  • それにより、[1]に基づき$x_{n+1} = g^{k+1}_{a} ( x_{n} )$は負になり、その後は負の方向に発散する以外にない。これもあまりに明らかで興味がない。要するに、$1 \le a \le 4$の場合だけに意味がある。
  • [2]と[3]、そしてシンクとソースの判断法によれば、$1 < a < 3$ならば$\displaystyle | g'_{a} ( x_{1} )| = | 2 - a | < 1$であり、したがって固定点$x_{0}$はシンクになり、**(4)**を得ることができる。マップを続けて適用し、シンクに十分近い点に達したら、その後はシンクへと引き寄せられ、値も安定する。人口で考えれば、成長も衰退もしない、ある種の安定した平衡状態が存在することになる。

一方、$a$が$3$より大きくなると、方程式$g_{a}^{2^{n}} (x) = x$を解くことにより、周期$2^{n}$-シンクを見つけることもできる。この場合、マップを適用するたびにいくつかの数が繰り返し現れ、ランダムなタイミングで停止すると、そのうちの一つを得ることになる。しかし、これは$a=3.84$近くでは成立しないため、定理としてまとめて断言することはできない。

バイファーケーション

以下の分岐図Bifurcation Diagramを見てみよう。分岐図は$a=1$から次の手順に従って描かれる。

  • ステップ 1. $a$を少し増やす。
  • ステップ 2. ランダムな$x \in [ 0 , 1 ]$を選ぶ。
  • ステップ 3. 点$(a, g_{a}^{101} (x) )$を打ち、ステップ 1に戻る。

bifurcationdiagram.png

$1 < a < 3$の部分の曲線は、初期値$x$が何であれ、マップをおよそ百回程度適用すると安定し、一貫した値になることを示している。それ以降は、周期$2^{n}$-シンクが生まれ、二つの間で数値が振動するようになり、赤い線を越えると、四つの値の間で振動する周期$2^2$-シンクが存在している。しかしある時点から、膨大な数の可能性が生じ、予測が困難な動きをするようになり、これをカオスアトラクターchaotic Attractorsと呼ぶ。

ナチュラルメジャー

一方、周期的軌道がカオス的に動いても、特定の領域に長く滞在することがある。初期値を無視してしまえば、システム本来の性質として、「平均的な」分布を計算することが可能である。この確率密度関数$\rho (x)$をナチュラルインバリアントデンシティ(Natural Invariant Density)と呼び、数学的には十分に大きい$N$に対して$\displaystyle p \left( x_{N} \in [a,b] \right) = \int_{a}^{b} \rho (x) dx$のように表される。

rho.png

実際に、ロジスティックマップ$g_{4} = 4 x (1 - x )$の$\rho (x)$をプロットすると、上記のようになる。もちろん$\left\{ x_{1} , x_{2} , \cdots \right\}$はカオス的なため、本当に$x_{N}$がどこにあるのかを予測することは不可能だが、それでも$0$と$1$の近くに最も高い確率で存在することが分かる。

コード

以下はバイファーケーションダイアグラムをRで描画するためのコードである。

ga<-function(a,x,k=1) {
  tmp <- a*x *(1 - x)
  if(k==1) {return( tmp ) }
  else {return(ga(a,tmp,k-1))}
}
 
result<-numeric(0)
for(a in seq(1,4.1,by=0.0001))
{
  result<-rbind(result,c(a,ga(a,runif(1),101)))
}
 
win.graph(8,4)
plot(result,main='bifurcation diagram',xlim=c(1,4),ylim=c(0,1),pch=20, cex=0.1,
     xlab='a',ylab='101번째 값')
abline(v=c(3,4),lty=2); abline(h=0)
abline(v=3.45,col='red')

以下はナチュラルインバリアントデンシティの形状を描画するためのRのコードである。

set.seed(150421)
logistic<-function(x) {4*x*(1-x)}
 
record<-runif(1)
for(i in 1:10^5) {record<-c(record,logistic(record[length(record)]))}
out<-hist(record[-(1:10000)])
win.graph(4,4); plot(x=seq(0,1,len=20),out$density,type='l',
                  xlab='x',ylab='ρ',main='Naturla Invariant Density ρ(x)')

  1. Yorke. (1996). CHAOS: An Introduction to Dynamical Systems: p17~21. ↩︎