複雑な動作を伴う単純なモデル、つまりカオス
技術

複雑な動作を伴う単純なモデル、つまりカオス

コンピューターは、自然界が慎重に隠した秘密を明らかにするために科学者によってますます使用されるツールです。 モデリングは、実験や理論と並んで、世界を研究する第 XNUMX の方法になりつつあります。

2 年前、シレジア大学ではコンピューター手法を教育に統合するプログラムを開始しました。 その結果、非常に刺激的な教材が数多く作成され、多くのトピックをより簡単に、より深く学ぶことができるようになりました。 Python が主要なツールとして選択されました。これは、利用可能な科学ライブラリの機能と組み合わせることで、数式、画像、またはデータを使用した「コンピューター実験」におそらく最適なソリューションです。 完全なワークベンチの最も興味深い実装の 3 つは Sage [4] です。 これは、コンピュータ代数システムと Python 言語のオープンな統合であり、Web ブラウザと、クラウド サービス [XNUMX] または対話型の単一コンピューティング サーバーを介した可能なアクセス オプションの XNUMX つを使用して、すぐにプレイを開始することもできます。この記事のバージョンは [XNUMX] に基づいています。

生態系のカオス

オーストラリアの科学者ロバート・メイは、オックスフォード大学で初期の頃、人口動態の理論的側面を研究しました。 彼は自分の研究を、「非常に複雑な力学を備えた単純な数学モデル」という刺激的なタイトルの論文でまとめ、ネイチャー誌に掲載しました。 長年にわたり、この論文は理論生態学の分野で最も引用される著作の 1 つになりました。 この作品にそこまで興味を持ったきっかけは何だったのでしょうか?

個体群動態の古典的な問題は、現在の状態を考慮して、特定の種の将来の個体数を計算することです。 数学的に最も単純な生態系は、個体群の 2 世代の寿命が 1,2,3 シーズン続く生態系です。 良い例は、蝶など、XNUMX つの季節に完全変態を起こす昆虫の集団です。 時間は自然に、人口のライフサイクルに対応する個別の期間XNUMXに分割されます。 したがって、そのような生態系を記述する方程式には、当然、いわゆる離散時間、つまりt = XNUMX、XNUMX、XNUMX…。 ロバート・メイは、とりわけそのような力関係に関与していた。 彼の推論では、生態系を単一の種に単純化し、その個体数は前年の個体数の二次関数でした。 このモデルはどこから来たのですか?

集団の進化を記述する最も単純な離散方程式は線形モデルです。

ここで、Ni は i 番目の季節の人口であり、Ni + 1 は次の季節の人口を表します。 このような方程式が 1 つのシナリオにつながる可能性があることは簡単にわかります。 a = 1 の場合、進化によって個体群のサイズは変化せず、<1 の場合は絶滅につながり、a > 1 の場合は無制限の個体数増加を意味します。 そうなると自然界のバランスが崩れてしまいます。 自然界のあらゆるものは有限であるため、限られた量の資源を考慮してこの方程式を調整することは理にかなっています。 害虫が毎年同じ量の穀物を食べると想像してください。 昆虫が繁殖できる食物の量に比べて昆虫の数が少ない場合、数学的に定数 a > 1838 によって決定される完全な生殖能力で繁殖できます。しかし、害虫の数が増加すると、食物が不足し、生殖能力が低下します。 重大なケースでは、非常に多くの昆虫が誕生し、繁殖する前に穀物をすべて食べてしまい、個体数が死亡することが想像できます。 食料へのアクセスが制限されることによるこの影響を考慮したモデルは、XNUMX 年に Verhulst によって初めて提案されました。このモデルでは、成長率は一定ではなく、人口の状態に依存します。

成長率 a と Ni の関係には、次のような特性があるはずです。人口が増加すると、食料へのアクセスが困難になるため、成長率は低下するはずです。 もちろん、この特性を持つ関数は多数あります。これらはトップダウン関数です。 フェルフルストは次の関係を提案しました。

ここで、a>0 および定数 K>0 は食料資源を特徴づけ、環境の容量と呼ばれます。 K の変化は人口増加率にどのような影響を及ぼしますか? K が増加すると、Ni/K は減少します。 これは、1-Ni/K が増加するという事実につながり、増加することを意味します。 これは、成長率が上昇し、人口がより速く増加していることを意味します。 そこで、成長率が式 (1) のように変化すると仮定して、前のモデル (3) を修正してみましょう。 次に、方程式を取得します

この方程式は再帰方程式として書くことができます

ここで、xi = Ni / K および xi + 1 = Ni + 1 / K は、時間 i および時間 i + 1 での再スケーリングされた母集団量を示します。式 (5) はロジスティック方程式と呼ばれます。

このように小さな変更を加えるだけで、モデルは分析しやすくなったように見えるかもしれません。 それをチェックしよう。 初期母集団 x5 = 0.5 から始めて、パラメーター a = 0 についての方程式 (0.45) を考えてみましょう。 連続する母集団の値は、再帰式 (5) を使用して取得できます。

x1= 斧0(1p0)

x2= 斧1(1p1)

x3= 斧2(1p2)

(6) の計算を容易にするために、次のプログラムを使用できます (このプログラムは Python で書かれており、特に Sage プラットフォーム上で実行できます。http://icse.us という書籍を読むことをお勧めします。 edu .pl/e-book .)、モデルをシミュレートします。

a = 0.5 x = 0.45 範囲 (10) 内の i の場合:      x = a*x*(1–x)      印刷×

xi の連続する値を計算すると、それらがゼロになる傾向があることがわかります。 上記のコードを試してみると、x0 の初期値に関係なくこれが当てはまることが簡単にわかります。 これは、人口が絶えず死亡していることを意味します。

分析の第 1,3 段階では、パラメータ a の値を ae (0) の範囲内の任意の値に増加します。 すると、数列 xi は特定の数 x * > 0 になることがわかります。これを生態学の観点から解釈すると、個体群のサイズは一定のレベルに固定されており、季節によって変化しないと言えます。 x * の値は初期状態 xXNUMX に依存しないことに注意してください。 これは安定化を目指す生態系の影響です。個体群は自らを養う能力に合わせてそのサイズを調整します。 数学的には、システムは安定した固定点に向かう傾向があると言われています。 等式 x = f(x) を満たす (これは、次の瞬間の状態が前の瞬間と同じであることを意味します)。 Sage を使用すると、人口と時間をプロットすることで、この進化をグラフで視覚化できます。

この安定化効果は研究者らによって予期されており、驚きがなければロジスティック方程式 (5) はそれほど注目を集めなかったでしょう。 パラメーターの特定の値では、モデル (5) が予測できない動作をすることが判明しました。 まず、周期的状態と複数周期的状態があります。 第 XNUMX に、タイム ステップごとに、ランダムな移動のように、母集団は不均一に変化します。 第三に、初期条件に対する感度が非常に高いです。ほとんど区別できない XNUMX つの初期条件は、完全に異なる集団進化をもたらします。 これらすべての特徴は、完全にランダムな動きに似た動作の特徴であり、決定論的カオスと呼ばれます。

この物件を調べてみましょう!

まず、パラメータ値 a = 3.2 を設定し、その推移を見てみましょう。 今回、人口が 4 つの値ではなく 2 つの値に達し、それが隔季節ごとに連続して発生することは驚くべきことのように思えるかもしれません。 しかし、問題はそれだけではないことが判明しました。 a = 1 では、システムはもはや予測できません。 図 (XNUMX) を見てみましょう。または、コンピューターを使用して自分で一連の数値を生成してみましょう。 結果は純粋にランダムであり、出発母集団がわずかに異なるとまったく異なるように見えます。 しかし、注意深い読者は反論するはずだ。 決定論的方程式 XNUMX で記述されるシステムは、たとえそれが非常に単純なものであっても、どのようにして予測不能な動作をするのでしょうか? まあ、たぶん。

このシステムの特別な特徴は、初期条件に対する顕著な感度です。 XNUMX 万分の XNUMX 異なる XNUMX つの初期条件から始めるだけで十分で、わずか数ステップで完全に異なる母集団値が得られます。 コンピューターで確認してみましょう:

a = 4.0

x = 0.123 u=0.123+0.000001 PKC = [] 範囲 (25) 内の i の場合: x = a*x*(1-x) u = a*u*(1-u) x、yを出力する

これは決定論的進化の単純なモデルです。 しかし、この決定論は欺瞞的であり、単なる数学的決定論です。 実際の観点から見ると、初期条件を数学的に指定することは決してできないため、システムは予測不可能な動作をします。 実際、すべては一定の精度で決定されます。各測定デバイスには一定の精度があるため、カオスの特性を持つ決定論的システムでは実質的な予測不可能性が生じる可能性があります。 例としては、常にカオスの特性を示す天気予報モデルがあります。 長期の天気予報が当たらないのはこのためです。

カオス系の解析は非常に困難です。 しかし、カオスの謎の多くは、コンピューター シミュレーションの助けを借りて非常に簡単に解決できます。 横軸にパラメータ a の値を配置し、縦軸にロジスティック マッピングの安定した固定点を配置する、いわゆる分岐図を描きましょう。 多数のシステムを同時にシミュレートし、多くのサンプル時間後に値をプロットすることにより、安定したポイントを取得します。 ご想像のとおり、これには多くの計算が必要です。 次の値を「慎重に」処理してみましょう。

numpyをnpとしてインポート Nx = 300 それ = 500 х = np.linspace (0,1, Nx) х = х + np.zeros((Na,Nx)) h = np.transpose (h) a=np.linspace(1,4,Na) a=a+np.zeros((Nx,Na)) 範囲 (100) 内の i の場合: x=a*x*(1-x) pt = [[a_,x_] (a_,x_ の場合) zip(a. flatten(),x. flatten())] ポイント (pt、サイズ = 1、図サイズ = (7,5))

最終的には図 (3) のような結果になるはずです。 この図をどう解釈すればよいでしょうか? たとえば、パラメータ a = 3.3 の場合、安定した固定点が 2 つあります (個体群のサイズは第 3.5 シーズンごとに同じです)。 ただし、パラメーター a = 4 の場合は 3.56 つの定数ポイントがあり (第 8 季節ごとに母集団は同じサイズになります)、パラメーター a = 3.57 の場合は XNUMX つの定数ポイントがあります (第 XNUMX 季節ごとに母集団は同じサイズになります)。 しかし、パラメータ a≈XNUMX の場合、無限に多くの固定点が存在します (母集団のサイズは決して繰り返されず、予測不可能な形で変化します)。 しかし、コンピュータ プログラムがあれば、パラメータ a の範囲を変更して、この図の無限の幾何学的構造を自分の手で探索することができます。

これは氷山の一角にすぎません。 この方程式については何千もの科学論文が書かれていますが、まだその秘密が隠されています。 コンピューター モデリングの助けを借りれば、高等数学に頼らなくても、非線形力学の世界の先駆者として遊ぶことができます。 ロジスティック方程式の多くの興味深い特性とそれらを視覚化する興味深い方法についての詳細が記載されているオンライン版をぜひお読みください。

1 決定法則とは、初期状態によって未来が一意に決まる法則です。 対義語は確率の法則です。 2 数学において「離散」とは、特定の可算集合から値を取得することを意味します。 「継続」の反対。

コメントを追加します