閑談“蝴蝶效應”

推廣一個深奧難懂的理論或觀點的最好辦法就是創造一個有趣且令人印象深刻的類比 , 蝴蝶效應 , 顯然可以進入TOP10 , 雖然一百個談論蝴蝶效應的人中 , 也許一個真正理解它的人都沒有 , 包括筆者在內 , 但絲毫不妨礙這個詞的流行程度 。 甚至好萊塢已經用這個詞 , 拍攝了三部電影 , 當然毫無疑問的是 , 電影中的主旋律是讓人絕望的愛情 。
蝴蝶效應這個詞 , 來源于1979年的一次演講的標題——《可預言性:一只蝴蝶在巴西扇動翅膀會在德克薩斯引起龍卷風嗎?》 , 演講者是美國氣象學家愛德華·諾頓·洛倫茨 。 中心思想是 , 論證長期天氣預報的不可能性 , 無論用什么樣的精度獲得初始數據 , 無論編寫多么復雜的運算方程 , 最終實際的天氣變化會和計算機中的預測偏差越來越大 。 在洛倫茨那個時代 , 超過一周的天氣預報 , 基本上毫無價值 , 不知道 , 今天的一周天氣預報靠譜程度如何 。
洛倫茨洞察到這個奧秘的起因 , 很符合科學史中通常讓人津津樂道的偶然 。 那時候洛倫茨作為氣象學家 , 在橡樹嶺研究天氣預報問題 , 編寫了13個動力學方程 , 輸入初始參數值后 , 讓超級計算機不斷的預測未來的天氣情況 , 當然由于方程組很少 , 參數也不多 , 這個模擬是非常粗糙的 , 不過他的目的并不是真的要預測實際的天氣情況 , 只是試圖通過模擬獲得對天氣變化的某種領悟 。
能在計算機上運行的方程 , 當然是決定性系統 , 完全一樣的初始值 , 只可能給出完全一樣的結果 。 所以當有一天 , 洛倫茨發現 , 最新的一次模擬 , 在剛開始的時候似乎和從前的模擬一樣 , 但慢慢的天氣發生了變化的時候 , 他第一反應就是程序出了問題(bug)或者電腦硬件故障(bug) 。 在絕望的debug后一無所獲的洛倫茨 , 突然醒悟到一件事 , 每一輪計算完畢 , 不斷變化的參數在計算機中運行時保留的小數位數 , 比參數輸出時的位數要多一些 。 他只不過想偷一下懶 , 不愿從頭再來 , 因為超級計算機的使用時間是有限額的 , 因此直接使用了計算機中途輸出的參數值 , 但他萬萬沒有想到的是 , 這點微不足道的偏差 , 居然會讓兩次模擬結果 , 從剛開始的極其相似 , 一步一步的走到徹底不同 。

閑談“蝴蝶效應”



按洛倫茨自己說法的是 , 他終于慢慢明白過來 , 他迎頭撞上了一頭隱藏在他親手編寫的極其簡單的動力學方程中的怪獸時 , 真是大徹大悟 。 突然發現 , 怪獸比比皆是 , 從香煙煙頭上上升的煙霧形狀變換中 , 到一杯正在冷卻的咖啡 , “混沌”是大自然動力學系統的本質 。 這讓拉普拉斯的決定論徹底破產 , 因為這次遇到的是數學 。 即便宇宙真的是決定性的 , 也同樣可以是不可預測的 , 因為觀察精度永遠是有限的 , 人類想徹底洞察宇宙的長遠命運是不可能的 , 我們最多看N步(N取決于參數精度和靠譜的方程) , 但更遠的未來 , 始終在一片迷霧中 , 一勞永逸是不可能的 。 這是洛倫茨的重大貢獻 。
自洛倫茨提出混沌理論后 , 多個本研究領域都發現了隱藏的混沌現象 。 以牛頓迭代法求解為例 , 比如 X^5-1=0,有五個解 , 選擇一個初始值不斷的迭代下去 , 最終你會得到一個數值解 。 這個初始值越靠近某個解 , 則最終多半會得到該解 , 但如果初始值位于五個解的邊緣地帶上時 , 奇異的混沌現象就會發生 , 如果某個初始值最終迭代出解A,那么與它緊鄰的初始值 , 會最終得到哪個解是混沌的 , 你除了老老實實的迭代下去 , 無法預測什么 。 這個對初始值極其敏感的地帶 , 就是混沌這個怪獸的領地 , 這個領地 , 居然和很多年前一個數學家的游戲有關系(分形) 。 現在 , 讓我們欣賞一下這張精妙的圖片 。

猜你喜歡