カオスの例

カオスの簡単な例、ロジスティック写像

カオスについて理解しようと、様々調べています。https://blog.lets4co395.xyz/2022/08/27/chaos-theory/

ここでは、具体的なカオスを示す力学系を例示して、カオス理論を理解を深める助けにしたいと思います。既に名の通っている簡単な数式で表されるモデルにしようと思います。そこで、少し調べてみると、ロジスティック写像という関数が、カオス理論の書籍やWebサイトで取り上げられているようですので、これを使ってみます。ロジスティック写像というのは、以下の数式で定義される写像です。

$$f(x) = ax(1-x)$$

ここで\(a\)は定数で、パラメータと呼ばれます。パラメータ\(a=4\)の時、

$$f(x) = 4x(1-x)$$

であれば、ロジスティック写像はカオスになるらしく、カオスの初期値鋭敏性のために個々の軌道は計算機によっては予測不可能になるはずです。計算した結果は全く出鱈目な値になるはずです。そこで、

ロジスティック写像の初期値鋭敏性を確かめたい。

と思います。この写像によって、時間の経過とともに状態が変化し、軌道が形作られます。今回の場合、状態とは、実数すなわち数直線上の点のことです。時刻\(t\)のときの状態を\(x_t\)としすると、\(x_{t+1}=f(x_t)\)ということです。例えば、初期値が\(x_0=0.5\)のとき、

$$x_1=f(x_0) = 4 \times 0.5 \times (1-0.5) = 1$$

$$x_2=f(x_1) = 4 \times 0.5 \times (1-0.5) = 0$$

です。初期値からロジスティック写像によって、次々と状態が移り変わり、状態の軌道が出来上がります。このロジスティック写像がカオスということですから、初期値の僅かな摂動で、軌道が大きく異なるはずで、これを確かめるために、初期値を\(x_0=1 \times 10^{-30},2 \times 10^{-30} \cdots \)と微小な幅で初期値を変化させてみました。その結果が以下の表です。

a=1a=2a=3a=4
\(x_0=1 \times 10^{-30}\)0.000.460.680.66
\(x_0=2 \times 10^{-30}\)0.000.490.620.00
\(x_0=3 \times 10^{-30}\)0.000.490.640.97
\(x_0=4 \times 10^{-30}\)0.000.490.690.89
\(x_0=5 \times 10^{-30}\)0.000.490.690.99
\(x_0=6 \times 10^{-30}\)0.000.490.690.13
\(x_0=7 \times 10^{-30}\)0.000.490.690.99
時刻\(t=100\)の時の状態\(x_t\)の値

\(a=4\)ではロジスティック写像はカオスですが、\(a=1\)や\(a=2\)ではカオスではないらしく、それも確かめたいので、いくつかの\(a\)の値で計算しています。計算は以下のようにPythonを使いました。


L = lambda x:4*x*(1-x)
def Test(x,N):
  x_t = x
  for t in range(N):
    x_t = L(x_t)
  return x_t

確かに、\(a=1,2,3\)の時は\(x_t\)は一定の値に近づいていますが、\(a=4\)では、一定の値に近づかず不規則な軌道になっていました。

カオスの物理量の長時間平均の安定性を確かめたい。

一方、カオスは初期値鋭敏性だけでなく、混合性も求められます。そして混合性の結果、カオス上の物理量の長時間平均は安定であるはずです。また、安定とは、どのような意味でしょうか。これも簡単に確認できるのでしょうか。試してみます。ロジスティック写像の初期値鋭敏性が確認できたので、次は物理量の長時間平均が安定性であることを確かめたいところです。物理量の長時間平均とは、任意の時刻\(t\)における物理量を\(G_t\)とすると、十分大きい時間\(N\)での\(G_t\)の算術平均のことです。

$$\frac{1}{N} \sum_{t=1}^{N} G_{N-1}$$

今回は、初期値を少しずつ変化させても、この長時間平均があまりで変化しないことを確かめたいと思います。物理量を\(G_t=x_t\)、十分大きい時間を\(N=10000000\)とします。その結果が以下の表です。

a=4
\(x_0=1 \times 10^{-30}\)0.49
\(x_0=2 \times 10^{-30}\)0.50
\(x_0=3 \times 10^{-30}\)0.49
\(x_0=4 \times 10^{-30}\)0.49
\(x_0=5 \times 10^{-30}\)0.49
\(x_0=6 \times 10^{-30}\)0.50
\(x_0=7 \times 10^{-30}\)0.49
十分大きい時間\(N=10000000\)の長時間平均\(\frac{1}{10000000} \sum_{t=1}^{10000000} x_{t-1}\)の値

計算は以下のようにPythonを使いました。

def Test2(x,N):
  s = x
  x_t = x
  for t in range(N-1):
    x_t = L(x_t)
    s = s + x_t
  return s/N
     

確かに長時間平均\(\sum_{t=1}^{10000000} x_{t-1}\)は、初期値を変化させても、およそ0.5で安定していることがわかりました。

ありがたいことに、ロジスティック写像の初期値鋭敏性や物理量の長時間平均の安定性を確かめることが出来ました。従って、次のステップに進みたいと思います。カオスの書籍を読んで、線形スロープの理論に興味を持ちました。

また、ここまでのカオスは古典力学ですが、量子系でも考えるとどうなるのかも、気になります。量子カオスの書籍が日本語で存在するようなので、今度読んで見ようと思います。

コメント

タイトルとURLをコピーしました