伊曼努爾 康德或許是現代最重要的哲學家,他痛恨決定論。面對宇宙發條式的運轉,人類如何能抓住自己的命運呢?畢竟,人之所以是人,只是因為人類可以做出選擇,選擇正確的東西,讓人類的行為合乎道德並意識到自己內心深處的人性。
如果有可能知道宇宙中每一個粒子的位置和速度,那麼我們就可以非常精確地預測這些粒子的未來,進而預測宇宙的未來。——艾薩克·牛頓
從牛頓時代起,專業的思想家和非專業的思想家一樣,一直在與決定論的想法鬥爭。對我們來說,被困在相對論的光錐裡,這限制了我們對一切的了解。我們的大腦裡充滿了一臺推理機,試圖根據從外部實時流入的稀疏信息預測未來,決定論顯然與我們的日常經驗不一致。
我注意到即使是那些聲稱一切都是命中注定的人在過馬路前也會看一眼。——史蒂芬·霍金
決定論的含義通常被諷刺為從生活中吸取所有的自發性和選擇。決定論是撞球互相撞擊。決定論已經過時了,就像時鐘滴答滴答地走著。
另一方面,自由意志是模糊的、令人興奮的、戲劇性的。自由意志,就像黑色電影中的蛇蠍美人,因為它是如此的不可預測,所以是如此的吸引人。
在我關於浪漫主義和分裂的大腦的文章中,我探索了浪漫主義時代的哲學家和藝術家是如何把生活描繪成一股不可靠的、無法控制的激流。
繼續抓住這個角度看世界,浪漫主義思想家認為迫切需要以某種方式擺脫決定論,而受制於知識:決定論暗示你可以什麼都知道,並且知道一切都會非常無聊。
絕對決定論的假設是每一個科學探究的基本基礎。——馬克斯·普朗克
普朗克
但與此同時,我們探究現實的科學模式表明,如果我們想要發現關於世界的任何客觀事物,決定論的假設是絕對必要的。為了平衡這兩種立場,現代人的頭腦中存在著一種輕微的認知失調,這種認知失調源自於這兩種看似不可調和的立場之間的摩擦。
但我認為這並不是無心之失,科學實際上提供了一個視角,讓我們可以把它們協調起來,接受決定論在技術上是正確的,但也看到在哪種意義上決定論並不重要。因為很多事情都太複雜了,無法事先知道。而生活,即使我們儘可能地模擬它,也總會找到辦法逃避我們的掌控。
50年前庫爾特·哥德爾證明了純數學的世界是取之不盡,用之不竭的。——弗裡曼-戴森
哥德爾定理是現代數學的肉中刺,它使希爾伯特雄心勃勃的希爾伯特方案(一個旨在解決數學基礎危機的項目)戛然而息。
圖靈機器示意圖
在圖靈機的語言中,哥德爾定理被用一種更直觀的方式描述為停機問題:這個問題是通過圖靈機的描述和輸入來確定程序是會停止還是會永遠繼續運行。
圖靈展示了一種通用的算法,可以判斷所有程序在邏輯上何時停止,但這種算法是不存在的,而總有一些程序需要你一直運行到最後,才能知道它們何時或是否會停止。
這個停止問題似乎是一個非常具體的問題,但重要的是要強調所有的計算都可以用通用圖靈機的術語來表述,而且計算與我們想像的計算機在日常生活中的行為有關。
沃爾夫勒姆阿爾法的創始人史蒂芬·沃爾夫拉姆認為,所有的現實都是由簡單的計算過程構成的,而停止的問題暗示了更多圍繞他所說的「計算不可約性」的基本問題。
史蒂芬·沃爾夫拉姆
與圖靈的中止問題類似,計算不可約性理論聲稱,並不是所有複雜的計算都允許一個更簡單、簡化的新公式。根據Wolfram MathWorld的說法,「雖然許多計算都有捷徑,可以讓它們更快地執行,但有些計算卻無法提速。」不能通過任何捷徑來加速的計算稱為計算不可約。計算不可約性原理說,確定對計算不可約問題的答案的唯一方法是執行或模擬計算。
好消息是,我們永遠無法預測一切。——Stephen Wolfram
科學是關於還原的。當我們建立世界模型時,我們試圖在看似不相干的現象背後發現更簡單的解釋,並將它們簡化為一個解釋的模型。以達爾文的進化論為例:達爾文從簡單的突變和選擇中發現了難以置信的豐富的生命形式。
但有時候,知道一種現象背後的解釋只能讓我們走這麼遠。
來自飛機機翼頂部的渦流
混沌理論經過很長的時間才得以形成,因為它往往以暴風雨天氣箭頭的形式出現,在我們的日常生活中一直陪伴著我們。但時至今日,在大學第一學期攻讀自然科學的學生們仍然主要關注和諧的諧振子,或簡潔的行星軌道微分方程,以便對數千年後的未來做出預測。
只有在後來越來越深的研究,混沌理論才慢慢地被承認:從長遠來看,即使我們對系統進行了描述,我們仍然可能不太真正地知道該系統將如何精確運行以及在何處結束。
洛倫茲系統就是這樣一個著名而簡單的例子。它最初是由愛德華·洛倫茲在1963年發現的(他試圖找到更好的天氣模型),它很快成為混沌系統奇怪特性的一個受歡迎的例子。
它是一個三維系統,這意味著你可以很好地繪製它,它在這個三維空間中描繪出一條曲線。系統的當前位置將決定它在下一步的位置,如果你不在每一個時間步長添加任何隨機噪聲,系統是完全確定的。
但是,雖然它是確定性的,在某種意義上它仍然是不可能預測的。
下面是一個簡短的Python代碼片段,它模擬了一個在4000步時間內初始狀態為0的洛倫茲系統,繪製曲線並輸出最終狀態:
importnumpyasnp
importmatplotlib.pyplotasplt
fromscipy.integrateimportodeint
frommpl_toolkits.mplot3dimportAxes3D#model parameters
rho = 28.0
sigma = 10.0
beta = 8.0 / 3.0
deff(state, t):
x, y, z = state# Unpack the state vector
returnsigma * (y - x), x * (rho - z) - y, x * y - beta * z# Derivatives
state0 = [1.0, 1.0, 1.0] #initial state
t = np.arange(0.0, 40.0, 0.01) # number of time steps (here 4000)
states = odeint(f, state0, t)
fig = plt.figure()
ax = fig.gca(projection="3d")
ax.plot(states[:, 0], states[:, 1], states[:, 2])
plt.draw()
plt.show()
print(states[-1,:]) #print the final state
混沌系統的獨特特性是,在某個時間點彼此非常接近的點將來會很快在非常不同的地方結束。用更專業的術語來說,系統的超對稱性可以用系統的最高李亞普諾夫指數來描述,你可以把這個指數想像成一個點周圍的微小環境在時間中擴散的速度。
以兩種非常接近的初始狀態為例,在4000個時間點內跟隨兩種初始狀態:
Input state = [1.0, 1.0, 1.0]
Final state = [-1.96, -3.67, 9.19]Input state = [1.0001, 1.0001, 1.0001]
Final state =[ 4.23, 0.64, 27.42]
在3D空間中,兩種狀態會在完全不同的位置結束。這與所謂的「蝴蝶效應」類似:蝴蝶的翅膀會給系統(比如世界)的初始狀態帶來微小的幹擾。但事實是,世界是混亂的,這意味著這種微小的幹擾可能會帶來巨大的變化,而你等待足夠長的時間後,最終的結局將是完全不同的(例如,蝴蝶造成的龍捲風襲擊了你的城鎮,帶走了你的牛)。
事實證明,一種怪異的混亂可能潛伏在秩序的表象背後——然而,在混亂的深處,潛伏著一種更加怪異的秩序。——道格拉斯霍夫施塔特
然而,有趣的是,觀察到這兩個混沌軌跡看起來非常相似,但表現在不同的意義上,如此不可預測:
兩個洛倫茲吸引子,由初始態[1.0,1.0,1.0](左)和[1.0001,1.0001,1.0001](右)生成。
混沌系統的偉大之處在於,你可以在它們內部擁有一種整潔的秩序,但知道這種秩序只會告訴你系統在一定程度上的行為。
這又把我們帶回了計算的不可約性,因為你可以看看洛倫茨方程和一組初始條件,但是你不能算出4000步之後系統的樣子。找出答案的唯一方法就是一步一步地遵循這個系統,然後看看它會把你帶到哪裡。
需要注意的是,計算時間不一定等於物理時間,而且計算是與底層無關的。但重點仍然是計算不能被簡化成一種更簡單的形式,如果我們認為現實是由計算構成的,如果你想知道未來會帶來什麼確定性,它確實必須從頭到尾運行。
令人害怕的是,居然有這麼多人相信科學。——Stephen Wolfram
科學就是把複雜的現象簡化成更簡單的結構。但是,對複雜性和混沌的研究表明,許多事情實際上是不可能減少的。許多系統都是如此,因此科學的問題應該是:我們能將哪些系統簡化到足以進行可靠的長期預測。
這不應該剝奪我們對科學力量的信任,而是要傳達一幅更現實的圖景,說明科學在原則上能實現什麼,不能實現什麼。
有一種想法是,你需要擁有整個宇宙才能模擬宇宙,而現實中許多現象的混沌本質表明,從內部看,完全不可能弄清楚它將走的路線的細節。因此,從我們被捲入其中的認識論角度來看,生活仍然是一個正在展開的謎。我們試圖了解它,卻永遠無法完全了解它。
我認為,現實是如此地不可知,這是有一定意義的。也許這只是對現實的過度幻想的殘留,但是在我看來,這使所有這些都變得更加令人興奮:也許對所有那些同樣具有浪漫主義傾向的,對確定論聽起來很苛刻的人來說,這確實是一種安慰。 不必從這一切的樂趣中解脫。