09.03 一杯水為何存在:「湧現」與複雜性

一杯水為何存在:「湧現」與複雜性

一杯水为何存在:「涌现」与复杂性

尺度與關聯

一杯水為何存在?

一杯水为何存在:「涌现」与复杂性

你每天都會喝水,但你有沒有想過,「一杯水」為什麼會存在?

或者換句話說,這杯水為什麼可以以一個「個體」的形式存在

要知道,一杯水是由數不清的水分子構成的,並沒有誰給這些水分子貼上標籤——「它們都屬於這杯水」。而且,它的邊界似乎也並不清楚——在水面附近,水分子不斷的飛出、飛回,好像根本沒有邊界一樣。

一杯水为何存在:「涌现」与复杂性

空氣、灰塵,也都是這樣,從最底層的粒子來看,好像都可以「取消」這個幾個概念,而只用分子、微粒代替一樣。

那我們為何要將它看作一個單獨的個體呢?而不是看作一個個水分子呢?

因為單個水分子的有些行為,在宏觀的尺度幾乎沒有影響。

水分子越多,單個的水分子就越來越不重要,而它們整體的行為則開始佔了主導。空氣也是這樣,數量越多,單個分子就越來越不重要。正因如此,我們才可以討論「空氣」。

正是由於數量越多,單個部分就越不重要的特性,我們可以把它們看作一個整體。

一杯水为何存在:「涌现」与复杂性

注意這裡就有了一個斷層——底層的行為,與宏觀行為之間的斷層。水分子和氣體分子的運動,都是高度隨機的。而一杯水則非常平靜,又容易預測,是一個非常大的差異。

所以說,在尺度的增長過程中,有的性質保留了下來,有的性質則漸漸消失了。

造成這一切的,不是什麼高深的物理定律,而是簡單的統計學規律:

「大數定律」——

一杯水为何存在:「涌现」与复杂性

舉一個簡單的例子:你投1000次硬幣,那正面/反面的比例會非常接近1:1,如果投10次,差別則可能非常大;這其實就體現了大數定律的思想:對獨立的隨機變量反覆抽樣,最終抽樣的頻率會接近於概率。

一杯水为何存在:「涌现」与复杂性

一杯水中的情形與投硬幣非常相似,每個水分子都有很多隨機行為,比如隨機的熱運動,它們是相互獨立的;也有非隨機的行為,比如接近時產生斥力從而發生碰撞,這些運動則會有互相之間的影響。

根據大數定律,隨著數量的增加,隨機熱運動產生的影響會漸漸消失;而非獨立的行為,比如分子之間的作用力導致的行為,則會佔據主導地位。而後者的行為,則會在更大的宏觀尺度上產生影響。

正是由於上述的原因,我們才可以說這裡有「一杯水」。

屏幕如何顯示圖像?

但大數定律並不能解釋所有的湧現行為,比如屏幕。

此時此刻,你正在看這句話、這篇文章。但有一個問題:你是如何看到屏幕上的字的?

一杯水为何存在:「涌现」与复杂性

要知道,如果你在更小的尺度觀察,它們都是一個個的像素點。而尺度一大,它們就變成了字。這與一杯水、一團氣完全不一樣:尺度增大了之後,我們能獲得更多的信息了。我們不能像處理水分子那樣,把像素完全平均,因為這樣我們就會損失掉絕大多數的信息。

差別究竟在哪裡呢?

在於關聯

像素之間是可以有關聯的,這個關聯並不是來自於顯示器的結構,而是來自於我們的理解

一杯水为何存在:「涌现」与复杂性

一個單獨的像素,我們可能會理解成一個點,也可能理解成一個噪點、壞點。兩個像素連在一起,就更有可能是一條線,當然也有可能是隨機的噪點。但一百個像素連成一條呢?我們就會非常確定——那就是一條線。

各種直線、曲線組合在一起,就會讓我們獲得更多的信息,比如產生可以閱讀的文字。

在這個過程中,大數定律並不起作用。因為像素點之間不會互相平均掉,反而會相互加強——幾百個像素連成的線,它「是一條線」的可信度就遠遠高於幾個像素連成的線。

之所以如此,都是因為在我們的理解中,像素之間是有關聯的,而這些關聯又是可以互相加強的,從而在大尺度上湧現出了更多的意義。

注:有的瞭解信息論的人,可能會覺得上面說的不對,這種尺度擴張的過程是會損失很多信息的。但如果將像素點引入隨機性,那麼「一條線」的概率就遠遠低於「隨機點」的概率,對應的,在這個系綜(或者叫等價集合)中,這一條線所包含的信息就遠遠高於隨機的點。這裡的關鍵是承認隨機性。

關聯,可以超越大數定律,產生更為複雜的行為。

反饋

下面我們可以討論一些更為複雜的問題了,比如社交網絡、鳥群、計算。要討論這些系統,我們還要引入一個概念,就是「反饋」。

反饋非常好理解,你跟朋友說話,你朋友的行為就是反饋,這個行為甚至不需要針對你自己,因為即便是作用於其他對象,也可以看作是對「系統」的反饋。

負反饋:

商店與銀行的故事

舉個例子,現在有100個人要去,兩個商店,A和B。他們有兩種策略:

  1. 每個人隨機的去AB商店之一,概率是1:1;

  2. 每個人都儘量選擇去人少的商店。

一杯水为何存在:「涌现」与复杂性

第一個策略的結果很容易猜到,那就是AB兩個商店的人數會非常相近,這是大數定律的結果,前面提到過。

第二個策略雖然不一樣,但結果還是一樣的,AB商店的人數也會非常相近。我們可以這樣理解,如果某一時刻A商店人多,而B商店人少,那麼後來的人都會盡量選擇去B,進而AB之間的差異就被填平了。最終,兩個商店的人數會非常接近。這就是一個負反饋的過程。

結果雖然相同,但原理大不一樣。後者對於外界的擾動是有適應性的:假設突然給A商店加入30個人,由於人們都願意去人少的店,很快兩個店的人數就會再次平衡。而策略1則不能適應。

這就是反饋的力量——反饋可以讓系統具有適應性

注:而從更抽象的角度看,反饋可以看作一種計算以及信息的傳播,正是由於信息可以在系統中廣泛傳播,又可以得到計算,整個系統才會被連成一體,才會有所反應。

但是,負反饋得到的結果是非常容易預測的,那就是「平衡」。但生命以及社會中,有很多不平衡的結構,它們是無法用負反饋得到解釋的。比如人體的結構,比如社會的結構,都無法單獨用負反饋來解釋。

我們需要引入正反饋。

正反饋:

社交網絡「大V」

一個著名的「正反饋」的例子,就是社交網絡。比如在微博上,粉絲數很多的「大V」曝光率也很大,新加入的用戶就更容易看到這些「大V」,相應的,關注他們的概率也更大。

一杯水为何存在:「涌现」与复杂性

這就會導致「超級大V」的產生。有的微博頭部用戶甚至有幾千萬的粉絲數。如果每個人都完全平等、隨機的關注別人,那也會產生粉絲數很多的「大V」,但結構會完全不一樣,「超級大V」會比現在少得多,大部分用戶的粉絲數都處在適中的範圍內。

為了解釋這個現象,網絡科學家Barabasi提出了「

優先連接模型」,引入了「用戶更容易關注粉絲數更多用戶」的正反饋機制。非常好的模擬了很多社交網絡。

順便多說一句,在很多複雜系統中,我們都可以看到冪律的行為,這些行為或多或少都與正反饋有關。

正反饋的機制不僅僅可以模擬一些特定的結構,它還可以與負反饋結合,形成「智能」的系統。

複雜性的湧現:

生命遊戲

Conway提出的「生命遊戲」就是這樣的一個系統。它是一個運行在棋盤格上的模型,每個格子可以是黑色的(生),也可以是白色的(死),它的規則是這樣的:

  1. 如果一個黑色格子周圍的鄰居少於兩個,那它就會因孤單而死(正反饋);

  2. 如果一個黑色格子周圍的鄰居大於三個,那它就會因擁擠而亡(負反饋);

  3. 如果一個白色格子周圍恰好有三個黑色格子,那這裡就會出生一個黑色格子(正反饋);

  4. 其餘情況則不變。


可以看到,它是正反饋與負反饋的結合,但它的行為卻極為複雜:

一杯水为何存在:「涌现」与复杂性

事實上,它的行為不是「一般的複雜」,Conway的生命遊戲系統是「圖靈完備」的。這意味著,我們可以在「生命遊戲」中構造出一臺通用計算機!

圖靈完備 | 詳見Universal Turing machine:

https://en.wikipedia.org/wiki/Universal_Turing_machine

從而可以運行任何算法,這如果按照Wolfram的標準(參見《「複雜」的極限在哪裡:Wolfram與他的「計算等價性原理」》),它就已經達到了「複雜性的極限」了。

「複雜」的極限在哪裡:Wolfram與他的「計算等價性原理」:

https://zhuanlan.zhihu.com/p/24950767

一杯水为何存在:「涌现」与复杂性

圖靈完備、計算等概念這裡不多敘述,我們還是看「反饋」。為什麼既要正反饋,又要負反饋呢?

因為純粹的正反饋會導致系統崩潰,比如說,如果氣體膨脹的時候氣壓還會增加,那這個系統就會急速膨脹,最終不受控制。

而純粹的負反饋又會非常無趣,因為最終會達致一個平衡態。

只有正反饋與負反饋的結合,才最可以湧現出複雜性。

大數定律的用處

我在一開始提到了大數定律,講到了它對於「一杯水的存在」的意義。而後面說到了一些更有意思的內容:反饋、生命遊戲、圖靈完備……

有的人現在可能會覺得,大數定律太過於平常,在複雜系統中毫無意義。是這樣的嗎?

答案是否定的。

這裡我想舉一個例子來說明:北美洲有一種蝴蝶,叫做「美洲帝王蝶」,每年氣候寒冷的時候,它們就會從加拿大的東南部,遷徙到墨西哥中部的米喬坎州,路途上千公里,而最終卻能聚集在這麼小、這麼確定的地方。

它們靠什麼來導航呢?

已有的研究表明,它們會使用地磁場、地面的信息來導航。但這些研究都沒有解釋一個現象,那就是它們的路線非常直

對於飛行的群體,比如鳥群、蝴蝶群等,科學家早已提出了很多模型,比如基於多主體(Agent-based model)的模型,可以很好的模擬鳥群的飛行。然而它們都沒有告訴我們:這些群體到底是如何保持方向的?

一杯水为何存在:「涌现」与复杂性

鳥群

一杯水为何存在:「涌现」与复杂性

<figcaption>魚群的Agent-based model/<figcaption>

群體導航原理

墨西哥學者Carlos M. Hernandez-Suarez最近提出了一個理論,用簡單的模型解釋了群體導航的原理——

想象一個隨機行走的過程,如果只有一個粒子,那它的路徑就是非常隨機的。

而如果有兩個粒子,它們的行為則變成這樣:

首先按照一定概率

一杯水為何存在:「湧現」與複雜性去走向另一個粒子;

還有一杯水為何存在:「湧現」與複雜性的概率做隨機行走。

一杯水为何存在:「涌现」与复杂性

但越從眾,導航就越精確嗎?

可不見得。

前面說到了反饋的思想,這裡的這個行為就是正反饋,這意味著如果有偶然的偏航,正反饋會加大這種偏航的行為。所以單純的正反饋是不行的,越從眾,群體的行為可能就越無法預料。

這時需要什麼呢?需要有一部分個體保持隨機的行走(每次隨機的修改一點自己的方向),不受其他個體影響。這時群體就既能聚集成團,又能保持方向。

作者對這個結果的解釋似乎還停在動力學(dynamic)的層面,但我們其實可以從大數定律的角度去理解:

雖然每個個體方向的變化都是隨機的,但根據大數定律,它們整體會有一個「記憶」,也就是它們的平均方向。這個記憶會非常穩定,而其他「從眾」的個體,則可以從這個記憶中得知正確的方向。

換句話說,從眾概率 如果在一個合適的位置,那這個群體中就會有一部分個體,通過隨機行走來儲存正確的方向,實現長程的導航。

存疑

湧現還有很多尚未解決的問題,比如層級如何出現?又如何分辨層級?一個系統中是否存在一個「特殊的尺度」?在這個尺度上,系統展現出明確、複雜的因果關係。在這個尺度以下,行為混沌而難以理解,在這個尺度以上,則是整體的行為,對於理解規律幫助不大。

這些都是現在尚未完全解決的問題,後面會寫一些文章慢慢討論,歡迎關注。

另外,本文中所有程序都是用 Mathematica 完成的,如果你也想學習,歡迎參加我在集智學園開設的課程《Mathematica 基礎入門教程》——

課程地址:

https://campus.swarma.org/gpac=10405


分享到:


相關文章: