ケィオスの時系列解析メモランダム

時系列解析、生体情報解析などをやわらかく語ります

【科学の言葉を知る7】バタフライエフェクト:現象の名前としての「カオス」

ティラノサウルスは決まったパターンやスケジュールには従わない。そこにカオスの本質がある。
—映画 Jurassic Park(1993)で、数学者イアン・マルコム博士(Ian Malcolm)は、そう断言します。彼は、手の甲に垂らした水滴が、落とすたびに流れ落ちる方向を変える様子を例に挙げ、ほんのわずかな初期条件の違いが結果を大きく左右し、予測不可能な振る舞いを生み出すことを直感的に説明します。この場面は、恐竜パークの破綻を予感させ、「カオス」、より正確には「決定論的カオス(deterministic chaos)」と呼ばれる現象がもたらす「バタフライ効果」を象徴的に示すシーンとして広く知られています。
 マルコム博士が伝えたかったのは、予測不可能性は外部から加わる偶発的な外乱に由来するのではなく、システムそのものに内在しているという事実です。さらに言えば、確率的要因がまったく存在しない——すなわち偶然が介在する余地のない——決定論的システムであっても、未来は原理的に予測できないという、直観に反する帰結が導かれるのです。マルコム博士は、「北京で蝶が羽ばたけば、ニューヨークのセントラルパークの天気が変わる」と説明しました。同様に、もし過去へタイムマシンで戻り、たった一粒の分子にでも影響を与えてその運動をわずかに変えてしまえば、私たちの未来は現在とは異なるものに変わってしまうのです。
 とはいえ、そのような現象があることは20世紀半ばまで科学者に本気で受け止められていませんでした。「カオス」への理解が科学の世界に形成されるまでには、長い時間と、いくつかのすれ違いがありました。

ローレンツアトラクタは二つの翼を広げた蝶の姿を想起させる形状をもつ

1. カオス発見の歴史:決定論が記述する未来

■ ラプラスが描いた完全決定論の世界像

 19世紀初頭、フランスの数学者・天文学者であるピエール=シモン・ラプラス(Pierre-Simon Laplace)は、決定論的世界観を象徴する有名な考えを提示しました。1814年に刊行された『確率論の哲学的試論(Essai philosophique sur les probabilités)』の中で、彼は次のように述べています。

もし、ある瞬間における自然界のすべての力と、すべての粒子の位置を知りうる完全な知性が存在するならば、 その知性にとって、未来も過去も同様に計算可能である。

この思想は、支配方程式と初期条件さえ完全に与えられれば、未来は一意に決定され、完全に予測できるという強い決定論を意味していました。ニュートン力学に基づく天体力学が、惑星の運動や日食・彗星の回帰を高精度で予測することに成功していた19世紀において、この世界観は圧倒的な説得力を持ち、20世紀初頭に至るまで、物理学におけるほぼ絶対的な前提として受け入れられていたのです。
 しかし、20世紀初頭に成立した量子力学(quantum mechanics)は、この決定論的世界観に大きな転換をもたらしました。1900年に、マックス・プランク(Max Planck, 1858–1947)が量子仮説を提唱し、1920年代には、ヴェルナー・ハイゼンベルク(Werner Heisenberg, 1901–1976)や エルヴィン・シュレーディンガー(Erwin Schrödinger, 1887–1961)によって理論が確立されました。さらに、マックス・ボルン(Max Born, 1882–1970)は1926年、量子力学の予測は確率として解釈されるべきであることを示しました。こうして自然法則は、未来を一意に決めるものではなく、確率的に記述されるものとして理解されるようになったのです。

■ 決定論と予測不能性の逆説 — 少数の天才は気づいていた

 そのような量子論的世界像はいったん脇に置くとして、ラプラスの決定論が示したのは、自然法則が決定論的であるならば、未来は原理的に予測可能であるという見通しでした。しかし20世紀初頭、これとは本質的に異なる視点が静かに提示されます。フランスの数学者 ジュール=アンリ・ポアンカレ(Jules-Henri Poincaré, 1854–1912)は、三体問題の研究を通じて、支配方程式が完全に決定論的であるにもかかわらず、初期条件のごくわずかな差が軌道を劇的に変化させることを数学的に示しました。これは、偶然や確率を一切導入しなくても、長期的な予測が事実上不可能になり得ることを意味していました。
 しかし当時は計算機もなく、この性質を具体的に追跡・可視化する手段が存在しなかったため、ポアンカレの発見は「完全決定論の枠内における数学的な特異例」、あるいは哲学的含意にとどまるものとして受け止められました。カオスの本質——決定論そのものが予測不可能性を内包しうるという事実——が科学の中心的な概念として理解されるまでには、さらに半世紀以上の時間を要したのです。
 実は、この事実に気づいていたのはポアンカレだけではありません。20世紀半ば、サイバネティクスの創始者として知られる ノーバート・ウィーナー(Norbert Wiener, 1894–1964)もまた、非線形系やフィードバックをもつシステムの振る舞いを通じて、決定論的な法則のもとでも予測が本質的に困難になる状況に強い関心を寄せていました。しかし、これらの洞察はいずれも、少数の卓越した研究者によって断片的に理解されるにとどまり、当時の科学的常識として広く共有されるには至りませんでした。計算機による数値実験や可視化が不可能であった時代において、決定論と予測不能性の結びつきは、だれもが直観的に理解できるものではなかったのです。

■ 計算機が可視化したカオス:ローレンツと予測可能性の崩壊

 こうした洞察が科学の中心に浮上する契機となったのは、20世紀半ばに登場した電子計算機でした。1960年代初頭、気象学者の エドワード・ローレンツ(Edward N. Lorenz, 1917–2008)は、大気循環を記述する簡略化した決定論的モデルを用い、コンピュータによる数値計算を行っていました。当時の計算機は、今日の基準から見れば演算速度も記憶容量もきわめて限られた、圧倒的に低速な装置であり、長時間にわたる精密な計算は容易ではありませんでした。1961年、彼が計算を再実行する際、出力結果をもとに初期値を小数第4位で丸めて入力し直したところ、計算の進行とともに結果が急速に乖離し、最終的にはまったく異なる時間発展を示すことに気づきます。具体的には、計算機の出力として得られていた 0.506127 という値を、0.506 に丸めて再入力したにすぎませんでした。
 この経験からローレンツは、支配方程式が完全に決定論的であっても、初期条件のごくわずかな違いが時間とともに指数的に増幅され、長期予測を事実上不可能にすることを明確に示しました。彼はこの性質を1963年の論文 Deterministic Nonperiodic FlowJournal of the Atmospheric Sciences)において定式化し、後に「ローレンツ・アトラクタ」と呼ばれる特異な状態空間構造を提示します。
 ローレンツの研究によって、初期値敏感性決定論的カオス、そして 長期予測の原理的限界は、もはや哲学的含意や数学的特異例ではなく、計算機実験によって示された科学的事実として広く認識されるようになりました。こうして、ポアンカレが理論的に、ウィーナーが直観的に捉えていた「決定論と予測不能性の結びつき」は、初めて可視化され、共有可能な知識として科学の表舞台に現れたのです。
 なお、今日広く知られている「バタフライ効果(butterfly effect)」という表現は、ローレンツ自身が用いた比喩に由来します。これは、1972年にアメリカ科学振興協会で行われた彼の招待講演の題目 Does the Flap of a Butterfly’s Wings in Brazil Set off a Tornado in Texas? に由来するもので、初期条件のごく微小な差異が、時間の経過とともに巨大な結果の違いを生みうるという初期値敏感性を、直観的に示した象徴的な表現です。加えて、ローレンツ方程式の解が描くローレンツ・アトラクタが、二つの翼を広げた蝶の姿を想起させる形状をもつことも、この比喩の定着を後押しした可能性があります。こうした視覚的イメージと概念的比喩の結びつきによって、決定論的カオスの概念は専門家の間にとどまらず、より広い科学コミュニティへと浸透していくことになりました。

■ Japanese attractor の不遇

 ローレンツの研究とほぼ同時期、実は日本でも、カオス現象の本質に迫る重要な発見がなされていました。京都大学の若手研究者であった 上田睆亮(うえだよしすけ)博士は、1960年代後半、非線形電子回路の数値シミュレーションを行う中で、周期運動でも定常状態でもなく、複雑に入り乱れた軌道を描き続ける解を発見します。この軌道は、後に「ストレンジアトラクタ」と総称されるものと本質的に同一の構造を持っており、海外では後年「Japanese attractor」と呼ばれるようになりました。
 しかし、この発見は当時の日本の学界ではほとんど評価されませんでした。その背景には、当時の非線形力学において広く共有されていた 「どのような力学系も、最終的には周期解か定常解に落ち着くはずである」 という強い信念がありました。そのため、上田博士が示した「決して安定に収束しない複雑な軌道」は、過渡状態を見ているにすぎない数値計算が粗いだけだそのような解が存在するはずがないとして退けられてしまったのです。
 1970年代以降、ローレンツ・アトラクタをはじめとする決定論的カオスの研究が国際的に広く認知されるにつれ、上田睆亮博士の仕事も再評価されるようになりました。ローレンツ以前に、同様の構造を数値的に捉えていたという事実は、海外の研究者に驚きをもって受け止められ、「Japanese attractor」という呼称が生まれます。この不遇の歴史は、「そんなものは存在するはずがない」という権威的な思い込みが、若い研究者による本質的発見を抑圧し、科学の進展そのものを妨げかねなかったことを示す象徴的な例です。そこにあったのは慎重な検証ではなく、既存の枠組みに合わないものを排除する権威主義的態度の暴力性です。

Japanese attractor

2. ロジスティック写像と「カオス」という概念の成立

 決定論的でありながら予測不能な振る舞いが、特殊な連続系だけでなく、きわめて単純な離散写像にも現れることを示した代表例が、ロジスティック写像です。

\displaystyle{
x_{n+1} = r x_n (1 - x_n)
}

ロジスティック写像の振舞と分岐
 この一次元の非線形写像は、もともと個体数成長の簡略モデルとして導入されたものですが、制御パラメータ  r を変化させると、驚くほど多様な力学的振る舞いを示します。具体的には、\displaystyle{
r \lt 3
} では軌道は単一の定常点に収束し、\displaystyle{
3 \lt r \lt 3.57\ldots
} の範囲では周期倍化を繰り返しながら不安定化していきます。そして \displaystyle{
r \gt 3.57\ldots
} では、周期性が失われ、決定論的であるにもかかわらず長期予測が不可能な不規則軌道が現れます。
 このような数値的事実が、単なる「複雑な挙動」ではなく、数学的に一つの概念として定式化される決定的な契機となったのが、1975年に ティエン=イェン・リー(Tian-Yien Li)と ジェームズ・ヨーク(James A. Yorke)によって発表された論文 Period Three Implies Chaos です。
 この論文において彼らは、一次元写像に周期3の軌道が存在するならば、その系には任意の周期の軌道が存在し、さらに非周期的で予測不能な軌道も必然的に現れることを、厳密な数学定理として証明しました。重要なのは、ここで示された不規則性が、外乱や確率的揺らぎによるものではなく、完全に決定論的な写像そのものの構造から必然的に生じる点にあります。
 この論文の題名において初めて、「chaos」という語が、比喩や一般的表現ではなく、決定論的力学系の特定の性質を指す数学的概念として明示的に用いられました。これ以降、「カオス」は、決定論と予測不能性が両立する現象を表す標準的な学術用語として定着していきます。ロジスティック写像に見られる周期倍化の果ての不規則な振る舞いは、この定理が示す「カオス」の最も直感的で分かりやすい具体例であり、「カオスは不規則に見えるが、決してランダムではない」という理解を、数学的にも概念的にも明確に裏づけるものとなったのです。
 ロジスティック写像の振る舞いについては、下の動画を参考にしてください。


www.youtube.com

3. おわりに — カオスが教えてくれたこと

 現象としての「カオス」の発見が私たちに与えた最も重要な示唆は、自然界の振る舞いが、完全な規則完全なランダムという二項対立では捉えられない、という事実でした。その中間には、複雑で繊細でありながら、なお決定論的に支配された世界が広がっています。気象の変動、心拍のゆらぎ、生態系のダイナミクス、さらには経済活動に至るまで、多くの現象はまさにその領域に属しています。
 映画『ジュラシック・パーク』に登場するマルコム博士の言葉を借りるなら、「生命や自然を完全にコントロールできると考えること自体が誤りである」という認識こそが、カオス理論の核心と言えるでしょう。バタフライエフェクトとは、単なる「蝶の羽ばたき」の比喩ではなく、自然界が本質的に備えている不安定性を表す科学的概念なのです。
 ちなみに私は、「水漏れ蛇口のカオス」と呼ばれる現象の理論的研究によって博士号を取得しました。一見すると取るに足らない日常的な現象であっても、そこには非線形なダイナミクスが内在しており、滴下間隔が周期的に揺らぎ、やがて決定論的カオスへと移行していく様子が観測されます。この研究を通じて強く実感したのは、カオスは特別な系にだけ現れる例外的な振る舞いではなく、むしろ自然界に遍在する「ありふれた性質」だということでした。
 その後、カオス研究を出発点として、私はその応用可能性に導かれるかたちで、生理学や医学の分野へと研究の軸足を移していきました。心拍変動や生体信号のゆらぎといった現象は、単なるノイズとして片づけられるものではなく、非線形性と多階層的な調節機構を反映した動的過程として理解されるべき対象です。カオスを記述する非線形力学を通じて培われた視点は、生体がもつ柔軟性や適応性、そして破綻の兆候を読み解くうえで重要な手がかりを与えてくれました。現在、私はカオス研究そのものを主題としてはいませんが、分野を横断して現象をつなぐ「科学の横糸」としての数理的理解を何よりも大切にしています。個々の分野固有の知識に埋没するのではなく、異なる現象の背後に共通する構造や原理を見出そうとする姿勢は、カオス研究から学んだ最も大きな遺産であり、今も私の研究を静かに支え続けています。

※ もし記事の中で「ここ違うよ」という点や気になるところがあれば、気軽に指摘していただけると助かります。質問や「このテーマも取り上げてほしい」といったリクエストも大歓迎です。必ず対応するとは約束できませんが、できるだけ今後の記事で扱いたいと思います。それと、下のはてなブログランキングはあまり信用できる指標ではなさそうですが (私のブログを読んでいる人は、実際とても少ないです)、押してもらえるとシンプルに励みになります。気が向いたときにポチッとしていただけたら嬉しいです。

【付録】Rでカオス

■ ローレンツアトラクタの描画

 以下のRスクリプトでは、次のローレンツ方程式

\displaystyle{
\begin{aligned}
\frac{dx}{dt} &= \sigma (y - x), \
\frac{dy}{dt} &= x(\rho - z) - y, \
\frac{dz}{dt} &= xy - \beta z ,
\end{aligned}
}

を数値的に解き、その解軌道を 3 次元空間に描画しています。 ここでは、ローレンツがカオスを示したことで知られる標準的なパラメタ \sigma = 10, \rho = 28, \beta = 8/3 を用いています。deSolve パッケージの ode() 関数がこれらの常微分方程式を数値積分し、初期条件 *1 からの時間発展を計算します。初期過渡を除いた後の軌道を描画することで、二つの翼をもつローレンツアトラクタの構造がはっきりと現れます。
 可視化には rgl パッケージを用いており、表示された 3D 図はマウス操作によって自由に回転・拡大縮小できます。これにより、アトラクタの立体的な構造や、軌道がどのように二つの領域を行き来しているかを、直感的に観察することができます。

############################################################
# ローレンツアトラクタの数値計算と3D表示
############################################################

## パッケージ
pkg_needed <- c("deSolve", "rgl")
for (p in pkg_needed) {
  if (!requireNamespace(p, quietly = TRUE)) install.packages(p)
}
library(deSolve)
library(rgl)

## ローレンツ方程式
lorenz63 <- function(t, s, p) {
  with(as.list(c(s, p)), {
    dx <- sigma * (y - x)
    dy <- x * (rho - z) - y
    dz <- x * y - beta * z
    list(c(dx, dy, dz))
  })
}

## パラメタと初期条件
pars   <- c(sigma = 10, rho = 28, beta = 8/3)
state0 <- c(x = 1, y = 1, z = 1)

## 時間軸
times <- seq(0, 80, by = 0.01)

## 数値積分(LSODA)
out <- as.data.frame(
  ode(y = state0, times = times, func = lorenz63, parms = pars)
)

## 初期過渡を除外
out <- out[out$time >= 10, ]

## 3D表示
open3d()
bg3d("white")
lines3d(out$x, out$y, out$z, col = 4, lwd = 2)
axes3d()
title3d(
  xlab = "x", ylab = "y", zlab = "z",cex=1.5
)

*1:x,y,z)=(1,1,1