予測できない決定論的現象は存在するか? (ローレンツ・カオス)

 予測できない決定論的現象は存在しうるか?について考えてみます。ローレンツ・カオスの記事です。

要約

(1)問い

 世界が決定論に従うとして、予測不可能な現象は、存在し得るのでしょうか?

(2)答え

 決定論に従うけれども、予測不可能な現象は、存在し得ます。シンプルな3つの方程式からなるローレンツ方程式からも、初期値鋭敏性をもつカオス現象を生み出せます。

(3)意義

 以上は、科学がすべての物理法則を解明しても、説明できない事象が存在することを意味します。「面白い!」と思っていただければ幸いです。

前提

 問いを「決定論かつ予測不可能な現象は、存在し得るか?」と設定します。

 これに際して、次の定義・仮定・事実を利用します。

(1)定義

決定論

 決定論とは「あらゆる出来事は、過去の出来事によってのみ決定されている」という立場です。これは因果律

・過去の原因 → 未来の結果

とも関係する概念ですが、その中でも

・過去の原因 → 未来の結果(ただ一つに定まる)

という立場を意味します。

予測可能性

 予測可能性とは、未来を予測できることと大雑把に定義します。なお、この記事では、確率的な予測は含まないことにします。

(2)仮定する条件

 この記事では

・世界は決定論に従う

・人類は物理法則を知っている

・人類は無限の演算能力をもつコンピュータを持っている

・人類は世界を非常に高い精度で知っている(が、完璧には知っていない)

を仮定します。

(3)事実

ローレンツ方程式

 1963年、MITの気象学者であるエドワード・N・ローレンツが、次のローレンツ方程式を発表しました。

$$X,Y,Z:何かしらの変数、t:時間$$

$$\frac{dX}{dt}=-10X+10Y$$

$$\frac{dY}{dt}=28X-XY-Y$$

$$\frac{dZ}{dt}=XY-\frac{8}{3}Z$$

 このローレンツ方程式には、現実の説明力はないです。ただし、ローレンツ方程式は、大気の熱対流を表すナヴィエ・ストークス方程式を変形することで得られます。

カオス

 カオスとは「非線形な決定論的力学系から発生する、初期値鋭敏性を持つ、有界な非周期軌道」です。

方法

(1)問題の構造

 問い「世界が決定論に従うとして、予測不可能な現象は、存在し得るのか?」は

・世界が決定論に従うことが仮定されている

・予測不可能な現象が存在する可能性の有無

の二つに分解できます。

(2)論点と判断基準

 論点を「シンプルかつ予測不可能な現象が存在するか否か」とします。

 論点の答えが「存在する」なら、世界はとても複雑なので、問いの答えは

・世界が決定論に従うとして予測不可能な現象は、存在し得る

と判断できそうです。具体的には、次の手順で考えます。

 第一に、シンプルかつ決定論な現象を描くローレンツ方程式を用います。

 第二に、2つの初期状態を考えます。1つ目は人間が観測した状態で、予測に用いられるとします。2つ目は、現実の状態とします。この2つの初期状態は非常に小さな差しか持たないとします。具体的には

$$人が観測した世界:(X_0,Y_0,Z_0)=(0,1,2)$$

$$実際の世界:(X_0,Y_0,Z_0)=(0,1.00000001,2)$$

とします。

 第三に、Rにてシミュレーションを行い、予測と現実の乖離が無視できないほど拡大するかどうかを確かめます。

 予測と現実の乖離が無視できないほど拡大するのならば、論点の答えは「作れる」です。

結果

(1)ほぼ完全に予測できている?

 黒が現実の変数X、赤が人が予測した変数Xです。0期から5000期にかけて、人はほぼ完全に現実を予測できています。

 ただ、5000期直前に赤い部分が見えているので、最後の最後はほんの少し予測精度が悪化しています。

(2)わずかな綻びと完全な破綻

 そこで、4000期から6000期に注目してみましょう。

 5000期までほぼ完全に予測できていた人の予測システムですが、5000期以降、様子が大きく異なります。

 5000期直前にわずかに見られた誤差が修正不可能なレベルに拡大してしましました。↓

 こうして、当初完璧に機能した人の予測システムは、完全に破綻したのです。

(3)初期値鋭敏性という罠

 人は物理法則を完璧に知っており、無限の演算力をもち、世界をほぼ知っていました。しかし、次のように世界を予測することができませんでした。

 ローレンツ方程式は、初期値がほんの少し異なれば、長期的な結果が全く異なってしまうという初期値鋭敏性をもっていると言えます。

考察

(1)結論

 「決定論かつ予測不可能な現象は、存在し得るか?」の答えは、「存在し得る」です。

 なぜなら、ローレンツ方程式のようなシンプルなモデルでも、初期値鋭敏性をもつ現象を生み出すからです。世界を完全には把握できない人類は、このような現象の予測に失敗します。

※なお、初期値鋭敏性はカオスの特徴で、ローレンツ方程式は代表的なカオスです。

(2)前提評価

 前提では、決定論に従う世界と、ほぼ全知全能の人類を仮定していました。それでも世界を予測することはできません。

 では、真の全知全能ではどうでしょうか? この存在Xを

・存在Xはすべての物理法則を知っている

・存在Xは無限の演算能力を持つ

・存在Xはある時点の世界を完璧に知っている(new!)

としましょう。世界は決定論に従いますから、存在Xは、カオス現象を含めて、世界を完璧に予測できます。

 この存在Xは、ラプラスの悪魔と呼ばれています。

ラプラスの悪魔(ラプラスのあくま、英: Laplace’s demon)とは、主に近世・近代の物理学分野で、因果律に基づいて未来の決定性を論じる時に仮想された超越的存在の概念。「ある時点において作用している全ての力学的・物理的な状態を完全に把握・解析する能力を持つがゆえに、未来を含む宇宙の全運動までも確定的に知りえる」という超人間的知性のこと。フランスの数学者、ピエール=シモン・ラプラスによって提唱された。ラプラスの魔物あるいはラプラスの魔とも呼ばれる。

Wikipedia「ラプラスの悪魔」

(3)意義

 以上は、科学がすべての物理法則を解明しても、説明できない事象があることを意味します。「面白い!」と思っていただければ幸いです。

付録1:ローレンツ方程式について

 ローレンツ方程式は、バタフライ効果の由来になった現象です。詳しくは↓

YouTube→ChaosⅦ 奇妙なアトラクタ (バタフライ効果 )

付録2:Rコード

 シミュレーションは、R言語を用いて行いました。R言語については「しまうまのRでデータ分析入門」をご覧ください。

 美しい図示のため、パッケージとしてggplot2を用いました。

#パッケージの呼び出し。未インストールならインストール!
library(ggplot2) 

 シミュレーション↓

a <- 10
b <- 28
c <- 8/3
T <- 30000
#モデル1の初期値
X0_1 <- 0
Y0_1 <- 1
Z0_1 <- 2
#モデル2の初期値
X0_2 <- 0
Y0_2 <- 1.00000001
Z0_2 <- 2
#モデル1の行列
data0<-  data.frame(matrix(0,T,7))
colnames(data0) <- c("time","X1","Y1","Z1","X2","Y2","Z2")
data0[1,"X1"] <- X0_1
data0[1,"Y1"] <- Y0_1
data0[1,"Z1"] <- Z0_1
data0[1,"X2"] <- X0_2
data0[1,"Y2"] <- Y0_2
data0[1,"Z2"] <- Z0_2
#シミュレーション
for(t in 1:(T-1) ){
  time <- data0[t, "time"]
  
  X1 <- data0[t,"X1"]
  Y1 <- data0[t,"Y1"]
  Z1 <- data0[t,"Z1"]  
  
  X2 <- data0[t,"X2"]
  Y2 <- data0[t,"Y2"]
  Z2 <- data0[t,"Z2"]   
  
  data0[t+1,"time"] <- time + 1
  
  data0[t+1,"X1"] <- X1 + (-1*a*X1+a*Y1)/200
  data0[t+1,"Y1"] <- Y1 + (b*X1-X1*Z1-Y1)/200
  data0[t+1,"Z1"] <- Z1 + (X1*Y1 - c*Z1)/200
  
  data0[t+1,"X2"] <- X2 + (-1*a*X2+a*Y2)/200
  data0[t+1,"Y2"] <- Y2 + (b*X2-X2*Z2-Y2)/200
  data0[t+1,"Z2"] <- Z2 + (X2*Y2 - c*Z2)/200
}
ggplot(data0)+
  geom_line(aes(x = time, y = X2),col="red")+
  geom_line(aes(x = time, y = X1),col="black")+
  xlab("時間") + 
  ylab ("変数X") +
  scale_x_continuous(limits = c(0, 5000))+ #予測する期間を0から5000
  ggtitle ("ローレンツ・カオス 黒が現実 赤が予測") +
  theme_grey(base_family = "HiraKakuPro-W3")
#別解:モデル1のXの時系列プロット
matplot(1:(T-1),data0[1:(T-1), c("X1")], type="l",col=1,lwd = 2)

コメント欄 お気軽にコメントをお寄せください!

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