第2回 2011年5月6日

東京女子大学のトップページ   情報処理センターのページ   東京女子大学の Gmail のページ   東京女子大学の図書館のページ   浅川のホームページ   授業のホームページへ戻る
個体成長とカオス

4 原初の海より生命は生み出せるのか

1970 年の流行以来,ライフゲームには興味深い挙動を示す, 様々なパターンが見つかってきました。 では,初期値をまったくのデタラメにした場合に, どのようなことが起こるのでしょうか? この場合,ライフゲームがシミュレートしていることは, 原初の混沌とした海から生命は誕生するだろうか? ということになるでしょうか。

容易に予想できることは,初期値を乱数によって決めたとしても, もしオンのセルが多すぎたら,過密によってセルは瞬く間に減少してしまうだろう, ということです。反対に,オンのセルが少なすぎたら,過疎によって容易に絶滅してしまうでしょう。 このことを確かめてみましょう。

乱数を用いて初期値を生成するプログラムは,配布教材の中に入っています。 GenRandLife というプログラムです。 このプログラムを起動するには,引数(ひきすう)が 2 必要です。 1 つめの引数は,「しきい値」つまり何パーセントの割合で生きているセルがあるようにするのかを指定します。 2 つめの引数は,「乱数の種 seed」です。 一般に,コンピュータに組み込まれている乱数発生器は, 適当は「種」を与えなければなりません。逆に言うと種が同じならば, 発生する乱数系列は同じになってしまいます。 乱数発生装置によって生成される乱数系列をその都度,デタラメにするには, 種として現在の時刻(1970年1月1日の0時0分0秒0ミリ秒を1とした時間のことを UNIX 紀元何秒と言ったりします)を用いることが,しばしば行なわれます。 この 2 つの引数を使ってプログラムGenRandLifeは, 次のように実行します。

java GenRandLife しきい値 乱数の種

例えば,しきい値を 0.5,乱数の種を 4 にしたければ,

java GenRandLife 0.5 4

などと指定します。第 2 引数である乱数の種を 0 にすれば, 現在の UNIX ミリ秒で乱数系列が初期化されます(すなわち,プログラムを実行する度に違う結果が得られるようになる)。

java GenRandLife 0.5 0 > ./data/rand0.5.csv

などとすれば, しきい値が 0.5 (すなわちセルの生存率がちょうど半分, 画面上では青のセルと白載せるとの比率がおよそ 1:1)のランダムな初期値のファイル rand0.5.csv が data というフォルダの下に保存されます。 この操作は Windows のコマンドプロンプトでも同じです。ただし,スラッシュの部分を¥で置き換えて,

java GenRandLife 0.5 0 > .¥data¥rand0.5.csv      (Windows のコマンドプロンプトの場合)

などとしてください。 あとは,ライフゲームを起動し,このファイルを load して start ボタンを押せば良いだけです。 下の図は,しきい値を 0.9 にしてみた時の例です。

rand0.9

このパターンはスタート直後に絶滅します。また,次の図は, しきい値を 0.1 にした場合の初期値です。

rand0.1

この場合は,長い時間をかけて,次のようなパターンに落ち着きました。

rand0.1-2

しきい値と乱数の種を様々に変化させて,生成されるパターンを観察して楽しんでください。 この観察から, すべてのランダムなパターンは最終的に安定するのか? という重要な問いに答えるのは容易ではないことがわかるでしょう。 先に, ライフゲームの中には,無限に増殖するパターンを作ることができることを示しました (無限にグライダーを発射し続けるグライダーガン)。 しかし,原初の混沌から我々の住むこの宇宙が始まったとしたら, 行き着く先はすべての状態が変化しない 「熱的死」 なのでしょうか。 宇宙論の描き出す未来は,やがてすべての恒星が燃え尽き, 星がすべてブラックホールへと流入し, やがて長い時間をかけてブラックホールが消滅してゆくというシナリオがあります。 明らかに,生命現象はこの熱力学の法則に逆らうように流れていきますが (進化によって次第に複雑になっていく),ここに矛盾は無いのでしょうか? 宇宙論的な時間の流れに比べて,生命に流れる時間ははるかに短いので, 部分的にこのようなことは起こりうるとする考え方が一般的です。 また,すべての生物は究極的には,太陽からのエネルギーを得て生活しているので, 生命現象を,熱力学的な閉じた系で考える必要はないとも言われています。

5 自己複製する機械

5.1 ライフゲームの自己複製

コンウェイは,

  1. 自己複製する生命のようにふるまうライフゲームのパターンが存在する
  2. 十分に大きなライフゲームの空間に, ランダムな初期値を与えてやれば,自己複製できる生命が, どこかに出現して繁殖していく

という 2 点を証明しようとしました。 彼は, グライダーガンを用いて無限に生成されるグライダーを衝突させて物体が生成できることから, グライダーガンとイーターを配置しておき, タイミングよくグライダーを衝突させることで, 元の配置の複製を作ることが可能であることを実証しました。 コンウェイはフォン・ノイマンの自己複製する機械についての理論を用いたのです。

5.2 生命の進化と機械の進化

生命とは自己複製の能力を有していなければならないと考えられることは,先にも述べました。 地球上に最初に現れた前細胞は生命を持たない物質から現れ, その前細胞は自己複製に関する必要最小限の組織しか持たなかったものと考えられています。 環境条件により,より適合しやすい前細胞が生き残り, 自己複製と突然変異によって獲得した情報を DNA に保存して, 次世代へと伝えることができました。 このような過程が約 30 億年蓄積され今の我々があるといえます。

フォン・ノイマンは,自己複製する機械 の中には, 万能建設機自分自身の設計図 という 2 つの要素が必要であろうと考えました。 自分自身の設計図を与えたとき,万能建設機は自分自身を再製します。 フォン・ノイマンの自己複製する機械には「生気」や「生命力」や「神の力」といった魔法じみた, 神秘的な概念は登場しません。 彼は,自己複製の過程を正確に記述し, 一定の最小限度の複雑さしか持たない機械が自己複製を可能なこと示したのです。 生物と機械(特に万能コンピュータ)との同型性というわけです。

現代生物学においては,現実の生物も, フォン・ノイマンが考えた自己複製する機械と似た方法によって増殖していると考えられています。 すなわち,DNA という形をとった設計図が存在します。 そして,リボゾームという万能建設機が存在します。 DNA に含まれている遺伝情報は RNA というメッセンジャーを介してリボゾームに伝達されます。 リボゾームはこの情報を用いてタンパク質を合成します。 リボゾームを万能建設機と呼ぶのは,正しい設計命令さえあれば, ほとんど何でも作ることができる機械だという意味です。 すなわち DNA と RNA がコード化できる 20 種類あまりのアミノ酸を結合して作ることができるタンパク質分子すべてのことを指します。 タンパク質は地球上の生物に固有の物質です。 タンパク質の合成は生きた細胞の中で行われ, 合成されたタンパク質は生物の構造そのものとなります。

このようにして,繰り返される実際の生命の自己複製は, 本質的にフォン・ノイマンの考えた自己複製する機械と同等であることが明らかになったのです。 そして,この考えを具現化したのがライフゲームということになります。 これまで見てきたように,ライフゲームは単純なルールからなりたっていますが, 生成されるパターンは複雑です。

フォン・ノイマンは複雑さの障壁という考え方を考案しました。 機械には(自然界にも),単純な系と複雑な系とがあり,その境目を障壁と表現したのです。 単純な系は自分自身よりも単純な系しか生成できません。 一方,十分に複雑な系は,自分自身よりも複雑な系を生成できます。 このようにして,複雑な系は際限なく複雑になっていきます。 フォン・ノイマンは機械は自分自身より複雑な機械を作ることができると述べています。 これは,生物の進化に相当するとみなすことができるでしょう。 地球上の生命はフォン・ノイマンのいう複雑さの障壁を飛び越えて, 複雑な系へと進化してきました。

5.3 万物の理論へ向けて(あるいは自己紹介)

ここにおいて, 進化する機械という概念が生まれます。 生物我々人間の心には,心が宿ります。 機械が進化し続けることが可能であるとすれば,究極的には, 人間の心をコンピュータ上で再現することが可能となるのでしょうか。

物理学者は,長い間 万物の理論 (Theory of Everything)を探し求めてきました。 これは自然界に存在する 4 つの力 (電磁気力,弱い力,強い力,重力)を統一的に記述する理論です。 哲学者の中には,万物の理論(の拡大解釈しすぎの気がしますが)の中には, 当然「心の理論」も含まれていなければならないはずであり,現在の物理学には含まれていない, として批判する人たちもいます。心の問題が取り残されているので, 万物の理論は ゾンビ・ワールド だというわけです。

さて,そこで本日は,いっしょに考えて欲しいのですが, 機械(万能コンピュータ)の未来は,フォン・ノイマンが考えていたように明るいのでしょうか (すなわち進化したコンピュータは心の問題を取り扱うことができるようになるのでしょうか)。 それとも,哲学者たちが考えるようにゾンビ・ワールドで悲観的なのでしょうか。

心の問題は,複雑過ぎてどこから手を付けてよいのやら, その糸口さえわからず途方に暮れてしまいます。 なぜ,人間の脳には心が宿るのか,そもそも心とは何か, 精神や感情や理性は心と同じものなのか,心の問題に科学的に迫ることはできるのか, 心理学者に尋ねても満足な答えは返ってきませんね。

興味は尽きません。 映画「ブレードランナー」(原作「アンドロイドは電気羊の夢を見るか?」)では, アンドロイドであるレプリカントは, 人間とまったく見分けがつかないという設定がなされています。 そして,奴隷として過酷な労働から逃れて地球に潜伏します。 レプリカントは人間とまったく区別がつかないという設定。 それを見つけ出すのがハリソン・フォード扮するブレードランナー。 また,映画「ターミネーター」では, アンドロイドが反乱をおこした人類の抵抗を終わらせるために, 最終兵器アーノルド・シュワルツェネッガー(今やカリフォルニア州知事) 扮するターミネーターが送り込まれます。

私は、機械はどこまで人間に迫れるのか?という問いと, 人間はどこまで機械なのか?という問いと,を科学的に考えるのが好きです。 コンピュータが万能な機械であるのなら,適切なプログラムを選べば, 限りなく心の問題に近づいていけると思います。 哲学的議論や宗教的な議論に巻き込まれること無く, 科学的に心の問題にどこまで迫るのか,に興味があります。

5 自己複製する機械

5.1 ライフゲームの自己複製

コンウェイは,

  1. 自己複製する生命のようにふるまうライフゲームのパターンが存在する
  2. 十分に大きなライフゲームの空間に, ランダムな初期値を与えてやれば,自己複製できる生命が, どこかに出現して繁殖していく

という 2 点を証明しようとしました。 彼は, グライダーガンを用いて無限に生成されるグライダーを衝突させて物体が生成できることから, グライダーガンとイーターを配置しておき, タイミングよくグライダーを衝突させることで, 元の配置の複製を作ることが可能であることを実証しました。 コンウェイはフォン・ノイマンの自己複製する機械についての理論を用いたのです。

5.2 生命の進化と機械の進化

生命とは自己複製の能力を有していなければならないと考えられることは,先にも述べました。 地球上に最初に現れた前細胞は生命を持たない物質から現れ, その前細胞は自己複製に関する必要最小限の組織しか持たなかったものと考えられています。 環境条件により,より適合しやすい前細胞が生き残り, 自己複製と突然変異によって獲得した情報を DNA に保存して, 次世代へと伝えることができました。 このような過程が約 30 億年蓄積され今の我々があるといえます。

フォン・ノイマンは,自己複製する機械 の中には, 万能建設機自分自身の設計図 という 2 つの要素が必要であろうと考えました。 自分自身の設計図を与えたとき,万能建設機は自分自身を再製します。 フォン・ノイマンの自己複製する機械には「生気」や「生命力」や「神の力」といった魔法じみた, 神秘的な概念は登場しません。 彼は,自己複製の過程を正確に記述し, 一定の最小限度の複雑さしか持たない機械が自己複製を可能なこと示したのです。 生物と機械(特に万能コンピュータ)との同型性というわけです。

現代生物学においては,現実の生物も, フォン・ノイマンが考えた自己複製する機械と似た方法によって増殖していると考えられています。 すなわち,DNA という形をとった設計図が存在します。 そして,リボゾームという万能建設機が存在します。 DNA に含まれている遺伝情報は RNA というメッセンジャーを介してリボゾームに伝達されます。 リボゾームはこの情報を用いてタンパク質を合成します。 リボゾームを万能建設機と呼ぶのは,正しい設計命令さえあれば, ほとんど何でも作ることができる機械だという意味です。 すなわち DNA と RNA がコード化できる 20 種類あまりのアミノ酸を結合して作ることができるタンパク質分子すべてのことを指します。 タンパク質は地球上の生物に固有の物質です。 タンパク質の合成は生きた細胞の中で行われ, 合成されたタンパク質は生物の構造そのものとなります。

このようにして,繰り返される実際の生命の自己複製は, 本質的にフォン・ノイマンの考えた自己複製する機械と同等であることが明らかになったのです。 そして,この考えを具現化したのがライフゲームということになります。 これまで見てきたように,ライフゲームは単純なルールからなりたっていますが, 生成されるパターンは複雑です。

フォン・ノイマンは複雑さの障壁という考え方を考案しました。 機械には(自然界にも),単純な系と複雑な系とがあり,その境目を障壁と表現したのです。 単純な系は自分自身よりも単純な系しか生成できません。 一方,十分に複雑な系は,自分自身よりも複雑な系を生成できます。 このようにして,複雑な系は際限なく複雑になっていきます。 フォン・ノイマンは機械は自分自身より複雑な機械を作ることができると述べています。 これは,生物の進化に相当するとみなすことができるでしょう。 地球上の生命はフォン・ノイマンのいう複雑さの障壁を飛び越えて, 複雑な系へと進化してきました。

5.3 万物の理論へ向けて(あるいは自己紹介)

ここにおいて, 進化する機械という概念が生まれます。 生物我々人間の心には,心が宿ります。 機械が進化し続けることが可能であるとすれば,究極的には, 人間の心をコンピュータ上で再現することが可能となるのでしょうか。

物理学者は,長い間 万物の理論 (Theory of Everything)を探し求めてきました。 これは自然界に存在する 4 つの力 (電磁気力,弱い力,強い力,重力)を統一的に記述する理論です。 哲学者の中には,万物の理論(の拡大解釈しすぎの気がしますが)の中には, 当然「心の理論」も含まれていなければならないはずであり,現在の物理学には含まれていない, として批判する人たちもいます。心の問題が取り残されているので, 万物の理論は ゾンビ・ワールド だというわけです。

さて,そこで本日は,いっしょに考えて欲しいのですが, 機械(万能コンピュータ)の未来は,フォン・ノイマンが考えていたように明るいのでしょうか (すなわち進化したコンピュータは心の問題を取り扱うことができるようになるのでしょうか)。 それとも,哲学者たちが考えるようにゾンビ・ワールドで悲観的なのでしょうか。

心の問題は,複雑過ぎてどこから手を付けてよいのやら, その糸口さえわからず途方に暮れてしまいます。 なぜ,人間の脳には心が宿るのか,そもそも心とは何か, 精神や感情や理性は心と同じものなのか,心の問題に科学的に迫ることはできるのか, 心理学者に尋ねても満足な答えは返ってきませんね。

興味は尽きません。 映画「ブレードランナー」(原作「アンドロイドは電気羊の夢を見るか?」)では, アンドロイドであるレプリカントは, 人間とまったく見分けがつかないという設定がなされています。 そして,奴隷として過酷な労働から逃れて地球に潜伏します。 レプリカントは人間とまったく区別がつかないという設定。 それを見つけ出すのがハリソン・フォード扮するブレードランナー。 また,映画「ターミネーター」では, アンドロイドが反乱をおこした人類の抵抗を終わらせるために, 最終兵器アーノルド・シュワルツェネッガー(今やカリフォルニア州知事) 扮するターミネーターが送り込まれます。

私は、機械はどこまで人間に迫れるのか?という問いと, 人間はどこまで機械なのか?という問いと,を科学的に考えるのが好きです。 コンピュータが万能な機械であるのなら,適切なプログラムを選べば, 限りなく心の問題に近づいていけると思います。 哲学的議論や宗教的な議論に巻き込まれること無く, 科学的に心の問題にどこまで迫るのか,に興味があります。

個体成長とカオス

個体成長が,ある法則 f に従うとすると,現在の状態を x として,次の世代の状態は y は, y = f(x) と表せますね。 さらにその次の時刻は,f(y) または f(f(x)) と表せるわけです。 順次このようにして,計算を繰り返せば,3 世代,4 世代後の状態は, f(f(f(x))) などのように計算できるわけです。 この繰り返しの仕組みを,コンピュータで計算させてやればグラフが描けるということになります。

1 指数的成長

世代が分離した個体群の成長率を R とします。 これにより

eq1

R が一定ならば t 世代後の密度は Rtx となり R>0 では無限大への爆発的な成長になります。 時間が連続的に与えられいるのであれば

eq2

という微分方程式となります。ここで t は時間を表します。 これを解けば,

eq3

と指数成長関数を得ます。 すなわち人口の増加率が指数的に増加することを意味します。 増加率は R によって決まります。R のことを マルサス係数 といったりします。

指数的成長は現実的ではありません。 なぜなら,成長速度は爆発的に増え続け,すぐに宇天文学な数になってしまうからです。 こんな,言い伝えがあります。

昔,戦争好きの王様がいて,いつも自分の力を頼んで戦争ばかりしていました。 弱り果てたのは王の下にいる人々です。王の圧政に苦しみました。 その民の困窮をみかねた賢者が,新しいゲームを考案して王に献上しました。 その新しいゲームというのが,2人制チャトランガだったのです。 王は,この戦争を擬したゲームに夢中になりました。 そして,実際の戦争を止めてしまったのです。 民は喜びました。そして,国に平和が戻どり,豊かになったのです。 国が豊かになったのを見て,王様も喜びました。 王は,賢者に「何か,褒美はいらないか」ともちかけました。 賢者は,それではと言い 「チェス盤の初めのマス目には米を一粒,次のマス目にはその倍, その次のマス目には更にその倍の米を。 そしてマス目ごとに倍,倍となるように 64(チェス盤は 8×8) のマス目まで続けていき,その盤上に相当する分だけ米をください」と言いました。 王は,快諾しましたが,賢者の言うとおりに米をならべていくと皆が分かった事というのは, 2 の 10 乗(210=1024)。 2 の 64 乗(264)では,およそ 1019と莫大な量の米になります。 国中の米倉にある分ではとても足りない。 これを知った王様は,真っ青になりましたが,賢者は落ち着いて 「この様な無謀な約束をなさいますな」と言ったそうです。

また別の例を紹介しますと,理想的な実験室環境にバクテリア細胞が 1 つあったとしましょう。 この細胞は 20 分ごとに分裂します。 この数値は,理想的な環境での世界記録として知られているそうです。 20分後には 2 個の娘細胞を持ちます。40分後には4個の孫細胞が, 1時間後には8個のひ孫細胞が存在します。1時間で3世代存在するのですから, 1時間後には,23 = 8 となるわけです。 1日では 24 時間ですから 24 × 3 = 72 世代。3日間では 72 × 3 = 216 世代となります。 2216 = 1065 この細胞の全質量は, 地球の質量をはるかに超えた厖大なオーダーの大きさです。

2 ロジスティック成長

指数的成長を抑制する方法は種々あります。 個体群が大きくなれば資源がそれにし たがって減少したり,栄養状態が悪化したりして,成長率も小さくなります。 成長率は r と K を正の定数として

eq4

という ロジスティック方程式 で表わされます。(2)式との違いは,rx の項と (1-x/K) の項とがあることです。 このとき x が小さい時は, x/K が無視できるくらい小さいので,増加率 r に従って指数的に増加します。 つまり (2) に従って指数関数的に増加します。 r は個体密度が小さくて環境資源が十分にあるときの増加率を示しているとも考えられるので, 内的自然増加率 intrinsic rate of natural increase と言います。 一方 x が K に近づくと増加率は 0 に近づきます。 すなわち平衡の個体数 K に達します。

K より大きな値 x(0) で出発した時は,減少して K に近づき, 逆に x(0) が小さな値で出発した時は S 字型のカーブを描いて K に収束します。 K はその環境中に維持できる個体数という意味から, 環境収容力 carrying capacity と言います。

ロジスティック方程式は簡単に解析ができて,x=0 または x=K ならば dx/dt は 0 です。 この場合個体密度は変化しません。 0 < x < K に対しては,x は増加し x > K では減少します。 この解は

eq5

として,部分分数の和にし,

eq6

項別に積分すれば

eq7

だから結局,

eq8

対数の加法公式から

eq9

対数を元に戻して

eq10

となり

eq11

x について解くと

eq12

です。t=0 のときの x の値を x(0) とすれば

eq13

となります。この式を C について解けば,C が x(0) から求められます。

eq14

これを(12)に代入すると,初期問題の解が求められます。

eq15
eq16

念のためこの式で t=0 にしてみると

eq17

です。 (15)で,t=0 とすれば,

eq18
Logistic

実習

以下のように,今日の自習教材をコピーして,

cp -rp ~asakawa/20100416 .
cd ./20100416

としてください。そして,

java LogisticEquation

とすれば,ロジスティック成長のグラフを描く Java のプログラムが走ります。 ここで 初期値 x(0),環境収容力 K,内的自然増加率 r を変化させて, いろいろ遊んでみてください。

ロジスティック方程式 (4) には,x = 0 と x = K という 2 つの平衡点 equilibrium が存在します。平衡点とは,ある系がある状態におかれたとき, その後もずっとそこにとどまる点を指します。 これは dx/dt = 0 から求めることができます。 x = K の平衡点は,個体数がずれたとしても,時間がたつと元の状態に戻っていきます。 この意味で x = K は 安定な stable な平衡点であるといいます。

一方,生物の不在を表す x = 0 の点では,わずかな生物が侵入してきても, 時間とともに x = K に写ってしまいます。従って x = 0 は, 不安定な unstable 平衡点と呼ばれます。

2 つのパラメータ K と r が栄養状態や個体密度などの環境条件によって, どのように変化するのかを調べることによって,次のようなことが分かってきたそうです。

すなわち,植物の平均重量は,ロジスティック方程式に従って成長します。 その最大サイズ K は密度と反比例します。 その結果,平均個体重と密度の積が最終的に一定になる,ということです。

練習問題

r=1, K=1 とすれば,式(4)は,

eq19

となります。この式を解いてください。

低密度の影響 アリー効果

個体密度が高いことは必ずしも悪影響を与えるばかりとは限りません。 なぜなら,個体密度が低過ぎると生物個体間の協力的相互作用が得られず, 死滅してしまうかも知れないからです。 たとえば,昆虫で,一匹の幼虫だと葉への食いつきができなくて死んでしまいますが, 数個体の幼虫が一緒にいるとうまく生きられたりするそうです。 このような低密度の悪影響のことを アリー効果 Allee effect と呼んでいます。 このときの個体群動態方程式として,

eq20

を考えてみましょう。ここで 0 < a < K とします。この式は, dx/dt = 0 という平衡点から x = 0, x = a, x = K と 3 点あることになります。 下の図 からわかるとおり,x = 0 と x = K とは安定な平衡点です。 一方,中間の x = a は不安定な平衡点であると言います。

Allee

生物がいない場所にわずかな個体数が侵入してきても, 低密度のため増加できない場合があることを示しています。 しかし,侵入個体数が a を越えると,環境収容力 K まで増加して定着することができます。 このような a を しきい値 と呼びます。

実習

同様にして java による実習をしてみましょう。

java AlleeEquation

としてください。 初期値 x(0), 環境収容力 K, 成長率 r, しきい値 a を様々に変化させることによって, グラフがどう変わるのかを実感してください。

離散時間のロジスティック写像

世代が重ならない個体群の場合(例えば,1 年に1 世代を過ごす昆虫)を考えます。 Xt を t 世代目の個体数とします。 連続時間のロジスティック回帰と同じく r を成長率。K を環境収容力として, t + 1 世代目の個体数は次式

eq21

で表せます。個体数が低密度の場合には, 毎世代ごとに 1 + r 倍で増加しますが, 個体密度が高くなるにつれて増加率が落ち, 環境収容力 K を超えると減少するようになります。

安定不動点,不安定不動点,カオス

さて,先にも記したとおり,個体成長が,ある法則 f に従うとすると, 現在の状態を x として,次の世代の状態は y は, y = f(x) と表せました。 このとき,f は,個体数が少ない時には,成長し(増加し),多い時には減少する と考えれば,y = f(x) という関数は,直線によって表せるものではなく, コブをもった関数になるでしょう。

一つだけコブを持った関数としては,一番簡単なのは, おそらく中学生で学習する放物線,すなわち x に関する 2 次関数 y = a x2 + b x + c でしょう。 そこで,以下のような単純な関数に関して, 次世代がどのように変動するかを見ていくことにしましょう。

0 と 4 との間の R に対して写像

eq22

は区間 [0, 1] 上で力学系を与えます。 点 0 は明らかに不動点です。 R < 1 ならば,全ての x ∈ (0, 1] に対して xt+1 < xn です。 従って,x の起動は 0 に向かって単調に減少します。 今後は,R > 1 の場合だけを考えます。 F のグラフは点 0 と 1 で x 軸と交わり, 点 1/2 で最大値 R/4 をとる放物線です。 放物線は一辺の長さ 1 の正方形の内部で, 直線 y = x と唯一の点 P で交わります。 P の横座標値は p は pn+1 = pn を満たすので, もう一つの浮動点 p = (R−1)/R が得られます。

平衡状態は xt+1 = xt とおいて計算されるので, 図上では y = x との交点として求められます。 xt に対する次世代 xt+1 の値は曲線を使って求められますが,次に縦軸にある値を横軸に戻すには y = x を用いると直感的でわかりやすいです。このようにして, xt+2, xt+3 と順次グラフを使って, 個体数を求めることができます(下図参照)。

attractor  attractor2

p の安定性に関しては,平均値の定理より,x と p との間に適当な c を置くと

eq23

が成り立ちます。x (従って c ) が p に十分近ければ, inline_eq1 のとき inline_eq2 が成り立ちます。従って,

eq24

となります。 すなわち,x' は x より浮動点 p に近いのです。 このことは,もし x が p のある適当な近傍から選ばれれば,x の軌道 (22 から反復的に得られる数列)は p の近傍に留まり, さらに p に収束することを意味します。 このような意味で,不動点 p は 漸近安定 であると言います。 逆に, inline_eq3 であるならば,

eq25

となるので,x の軌道は不動点から遠ざかります。 このような場合 p は 不安定 であるといいます。

今,F(x) = R x (1-x) なので, inline_eq4 となり,p は

カオスでは, ほんの少しだけ違った初期値ではじめると十分時間が経ったときに, その値は予想できなくなります。 3.5699 はカオスの境界を表しており, ファイゲンバウム点 と呼ばれたりします。

attractor3
R = 4 の時カオスになる

大事な点は,計算可能生は予測可能生を意味しないということです。 決定論的な運動がランダムな動きと区別できない ことが重要です。

R=2.9 のときのグラフを次に示します。

Chaos2

R=4 のときカオスとなります。これを下の図に示します。

Chaos1

実習

端末エミュレータ(Windows ではコマンドプロンプト)から

java LogisticMapping

とタイプしてください。(22) すなわち xt+1 = R xt ( 1 - xt) の計算が始まります。R と初期値を変化させて遊んでみてください。 特に,R がカオス領域のときに,わずかな初期値の変化が, ドラスティックな変化をもたらす点に注目してください。

参考文献