來源:中國科普博覽

你是否曾經想過什麼是混沌理論

給我幾分鐘,我將給你介紹理論物理中我最喜歡領域之一的基礎知識,以及這理論所展現的精美圖像——而這隻需要加法和乘法就可以達成這個效果,準備好被震驚吧!

混沌誕生之時

在上世紀六十年代初期,麻省理工學院的教授愛德華·洛倫茲致力於利用大學裏面最新的大型計算機來預測天氣。他推導出了描述空氣對流的一組簡單方程,並利用計算機來求解這個方程。

接下來發生的事情使他大喫一驚:在沒有任何隨機數引入的情況下(確定系統),計算機利用同樣參數兩次跑出的結果大相徑庭。混沌理論被發現了!

什麼是“確定系統”

在數學、計算機科學和物理中,確定系統是系統在未來發展的狀態中不涉及到隨機數的系統。因此,對於給定的初值或初始狀態,其輸出結果會一直相同。

所以,洛倫茲的天氣預測中,發生了什麼?看下面這個例子。

任選一個隨機數

比如說:0.123267203462345822542,然後在每一步中,將這個數乘以10,再去掉小數點之前的數(相當於進行了操作mod 1)。

將這個數乘以10

上面的例子中我們得到:1.23267203462345822542

去掉小數點之前的數

得到:0.23267203462345822542

再次重複乘以10

2.3267203462345822542

去掉小數點之前的數:

0.3267203462345822542

。。。。。。

這當然是一個確定系統,完全沒有隨機數的引入。

現在,我的問題來了:你能預測這些數字的未來發展狀態麼?

答案是“既能也不能”。對於更多有限的步驟,可以得出很準確的答案。但是,100步之後呢?題目並沒有給出足夠的位數。計算機存儲小數點之後的位數是固定的(取決於你數字的類型)。一個64位的雙精度數有16位十進制的數字,所以,在進行上述的操作15次之後,你將無法獲得預測的結果。如果你會編程,我建議你自己嘗試一下!在早期的計算機中,這樣的方程甚至被用作僞隨機數的生成器。

就算我們知道小數點之後的100或者1000位,在此之後,結果都是不可預測的,因爲在每次操作中,由於刪除了小數點之前的數,破壞了信息。因此最後得到的結果,尤其依賴於初始條件。

分叉圖——重複 再重複

到這裏爲止,我們先總結一下我們已經得到的結論:

混沌方程是確定性的方程或者系統(代表沒有隨機數參與,且明確計算當前態到未來態的結構),同時非常依賴於初始條件,使得我們不可能預測長遠的未來。

本文開始的圖片是所謂的邏輯圖的分叉圖的放大區域(如下圖)。讀完這篇文章之後,你將明白如何解釋這幅圖,這也是整個物理領域中我最喜歡的圖之一:)

這是邏輯圖的方程。別擔心,讓我們一起看看一下這個方程表示了什麼。

邏輯圖描述了種羣數目模型,該模型包含兩個控制種羣規模的對抗部分:種羣的繁衍和由於食物供應有限導致的死亡。如果種羣中沒有生命,x就是0;x=1代表着種羣已經到達了最大值(由於食物有限),r是繁衍率。

下標i代表在時間i時的種羣數目,下標i+1代表下一個時間的種羣數目。這代表着,如果我們知道現在這個時間的種羣數目以及繁衍率,就可以計算下一個時間的種羣數目。

可以舉一個簡單的例子。簡單起見,假設繁衍率r=1,假如種羣初始數目爲最大數目的80%,即x0=0.8。

這代表着種羣從最大可能種羣的80%縮減到16%。原因是種羣沒有繁殖出足夠的數量,也沒有足夠的食物來維持現有的x=0.8種羣。

方程中的 “1×0.8”代表出生的人口。繁衍率越高,出生數目就越多。這裏我們把繁衍率取爲1,因此下一步中結果仍爲0.8;

“1-0.8”部分代表因飢餓導致的死亡。“r·x0=1×0.8” 這一項乘以係數“1-0.8=0.2”,代表5個生物中有4個餓死了。x的值越接近1,越多的生物會死亡。(幸好,這只是模型。)

那麼照這樣下去這些會怎麼發展呢?下面的圖展示了種羣隨時間發展的趨勢。圖中發生了什麼呢?種羣x趨於0,代表生物的出生率小於死亡率,因此最終會滅絕。

回到分叉圖中,我們用黑點表示x=0,繁衍率r=1,如下圖所示。

對於更大的繁衍率的種羣,比如說r=2.5:

種羣的大小快速達到了最大可容納值的60%,然後保持不變,這被稱爲系統的不動點。不動點不依賴於x的初始值,只依賴於繁衍率r。在分叉圖中,我們用綠色的點標示r=2.5和x=0.6,如下圖所示。

接下來我們把繁衍率提升到 r=3.25,看一看會發生什麼。下圖顯示了種羣發展的情況:你會發現種羣會在兩類種羣規模之間震盪

爲什麼會這樣呢?在較大的種羣規模下,我們模型中的所有生物都沒有足夠的食物,一些生物會因此死去,然後剩下的生物就會有足夠的食物生存。但是一旦繁衍率再次提升,食物又會缺失,一些生物又會死去,這個過程不斷循環……

在綠色的點的位置圖像分爲了兩部分,物理學家稱之爲:倍週期。在分叉圖中用兩個藍色的點標記r=3.25。

如果將繁衍率再度提升,你猜會發生什麼?兩個藍色的點分裂爲了四個,現在種羣的數量在四個點之間振盪。

在分叉圖中標記如下。

我們觀察到的現象被稱爲:倍週期級聯。4 個固定點成爲了8個,8個變爲16、32、64直至無窮大,在倍週期級聯的最後,混沌就出現了。

在分叉圖中,整個區域不用振盪的離散固定點表示,而是用灰色的區域表示,是因爲這些點在這些區域都出現過,顏色越深,出現的次數越多。

如果觀察 r=3.75的部分,可以看出,灰色區域從x=0.25左右開始,在x=0.9左右結束,代表種羣數目在這些值之間不斷變化。

下圖表示種羣在r=4時的情況:種羣的數目變化是完全混亂的。如果可以用數字多次計算這個趨勢變化,你會發現:初始值的微小變化(由於數值精度的限制)會產生截然不同的結果,這就是混沌的主要特徵。

到目前爲止,一切還好。但是如果仔細觀察混沌區域,會發現灰色區域中間有白色的條紋。這代表什麼?讓我們放大這個區域,仔細觀察。

這看起來跟之前的圖像非常相似,讓我們放大第二個矩形。

你看見了什麼?在r≈3.625的左邊,只有混沌出現。在灰色區域,種羣數目可以是灰色區域的任意值。然後,混沌突然消失,一個固定點出現了,這些白色的區域被稱爲穩定島。然後同樣的事情發生了,倍週期出現、二級倍週期……倍週期級聯,混沌出現。

如果進一步放大,同樣的事情出現:混沌區域的穩定島、倍週期級聯、混沌出現。再放大,更多穩定島、倍週期級聯、混沌……

我第一次學到這個的時候,這個現象絕對震驚到了我,縱使幾年後亦然如此。所有這些複雜的混沌行爲都能利用一個簡單的模型來描述。

我嘗試創建一個自相似的動畫來展示這個現象,請着重注意閃爍的白色穩定島和隨處可見的倍週期級聯現象。

有許多其他的混沌圖展示了同樣的現象,比如說如下面動畫展示的高斯圖(有時也被稱爲老鼠圖,你能猜出原因麼?)

這個圖我們就不放大看了。圖的方程包含了一項新的元素:α,在動畫中α的取值是從3.5到8。

當曲線不斷分裂成2、4、8……時,注意到會有周期倍增的現象。你能觀察到在混沌區域出現的穩定島和倍週期級聯等所有元素。

關於混沌現象還有很多其他的圖像,感興趣的朋友可以戳下面的圖片↓

有興趣的讀者們還可以自己動手編碼畫出屬於自己的混沌圖哦~

相關文章