版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

《熵與信息》02:熱力學(xué)熵和信息熵,是同一個熵嗎?

2024年度科普中國資源薈萃集成示范項目
廣泛匯聚社會科普精品內(nèi)容,加強(qiáng)與社會專業(yè)機(jī)構(gòu)協(xié)同聯(lián)動。
收藏

熵與信息(二):熱力學(xué)熵和信息熵,是同一個熵嗎?

信息是什么?在上一集我們就提到過,信息可以降低一個系統(tǒng)的不確定程度。這句話里其實就已經(jīng)暗含了對熵的描述。熵是對一個系統(tǒng)不確定的度量,而信息可以降低不確定性。

也就是說,熵和信息一定是有關(guān)系的,只要我們找到其中的關(guān)系,就能把熵是什么搞清楚了。

這件事香農(nóng)做到了。而且香農(nóng)定義的熵是基于信息量得出來的,所以也叫做信息熵。

那么信息熵是什么呢?就是簡單的把一個系統(tǒng)可以發(fā)出的所有信息的信息量加起來嗎?沒有那么簡單。

信息熵

還是用第一集里簡化版的“世界杯比賽”來舉例,從 8 個球隊比賽不知道誰得冠軍,到確定阿根廷奪冠。賽前這個系統(tǒng)是不確定的,當(dāng)決賽完成之后,冠軍就成了確定的了。

這個過程從定性的角度去理解很容易,可是如何定量的去衡量 8 支球隊比賽之前的這個狀態(tài)到底有多不確定呢?

在比賽之前最大的特點就是,我們并不知道誰會真的奪冠,而不同的球隊奪冠,所帶來的信息量也是不同的。

比如說,我們只看阿根廷隊和中國隊,阿根廷是強(qiáng)隊假如他們奪冠的概率 50%,中國隊是弱隊奪冠的概率是 1%。有兩個消息,一個是阿根廷奪冠了,一個是中國隊奪冠了,那么根據(jù)上一集計算信息量的公式:

可以計算出來,阿根廷奪冠這個消息的信息量是 1 bit,而中國隊奪冠的信息量則大概是 6.6439 bit。

一共 8 支球隊,每支球隊都可以根據(jù)自己賽前的奪冠概率計算出,假如自己奪冠了,這條消息所具有的信息量。

所以,一個非常直接的想法是,如果要確認(rèn)賽前“世界杯比賽”這個系統(tǒng)的不確定性,是不是可以把各自球隊奪冠后的信息量加起來表示呢?這個直接相加后的信息量,會不會就是這個系統(tǒng)的熵呢?

不能這么做,這樣做之后會讓熵這個概念出現(xiàn)矛盾。比如,我們可以簡化一下問題,分別看兩場比賽,一場是阿根廷和法國隊比賽,他們各自贏球的概率都是 1/2,另一場比賽是德國隊和中國隊比賽,德國隊贏球的概率是 99%,中國隊只有 1%。

可以分別計算一下他們贏球之后所具有的信息量。

如果系統(tǒng)的熵就是簡單的把信息量加起來的話,那么可以看到阿根廷和法國在賽前的熵應(yīng)該是 2 ,而德國和中國呢,則是 6.6 還要多。還記得我們對熵是如何期待的嗎?期待它是對系統(tǒng)不確定性的度量,一個系統(tǒng)不確定性越高,熵應(yīng)該越大。

但是我們可以從直覺上判斷一下,是阿根廷和法國這場比賽的不確定性更高呢,還是德國和中國的比賽不確定性更高呢?肯定是第一場對吧,德國 99% 的概率是會贏球的,這個確定性非常非常高了。這個就和我們前面計算出來的熵的數(shù)值不匹配了,前面計算出來反而是第一場是 2bit,第二場至少有 6.6bit。

這顯然不合理對吧。為什么呢?

別忘了,中國隊要想真的能夠貢獻(xiàn)那么多的信息量必須有一個前提,那就是中國隊需要真的奪冠才行。中國隊奪冠的概率是多少?只有 1%。所以,如果這個角度再去考慮不同結(jié)局對整個系統(tǒng)貢獻(xiàn)了多少信息量的話,應(yīng)該是先要進(jìn)行一個加權(quán)處理的,讓信息量乘以它發(fā)生的概率。

這個時候再看把它們加起來,那第一場比賽的熵是 1bit,第二場比賽的熵只有 0.08bit 左右,第二場比賽的熵遠(yuǎn)小于第一場。這樣就比較合理了。如果用數(shù)學(xué)符號表示出來,就是這樣:

假如系統(tǒng) X 一共有 n 種可能,那么:

如果對概率論有些基礎(chǔ)的話,就會發(fā)現(xiàn),熵其實就是一個系統(tǒng)里信息量的平均值(期望值):

這也是香農(nóng)對熵的定義,從信息量的角度定義出來的熵也被稱為信息熵。

信息熵并不是對熵這個概念的唯一定量描述。除了信息熵,還有熱力學(xué)熵,熱力學(xué)熵里面也還有克勞修斯熵、玻爾茲曼熵、吉布斯熵等等不同等表述。

這并不是說它們是不同的東西,而是從不同角度分別對“熵”的概念進(jìn)行的不同描述。它們雖然本質(zhì)上是等價的,但是都有各自的應(yīng)用領(lǐng)域,對于我們的理解也各有優(yōu)勢和劣勢。

比如,信息熵雖然簡單直觀,但是它卻很容易讓人產(chǎn)生一個困惑,那就是熵似乎是一個非常主觀的量化指標(biāo)。

比如在開賽之前,不同人對 8 支球隊奪冠概率的概率是可以非常不一樣的。這就代表著,不同人面對同一個世界杯比賽,會得出不一樣的熵。

熵是主觀的?

只要是基于信息量去理解熵,那么這個熵的主觀性問題就天然存在。

因為一提到信息,必然涉及到一個通訊過程中,也就是一定有兩個系統(tǒng),一個是信息發(fā)送者,一個是信息接收者。在前面的例子中,世界杯比賽是信息發(fā)送者,這個是客觀的,但是不同人對不同的球隊可以有不同的估計。

這樣,同樣的一個信息,對于不同的接收者就會帶來不同的信息量,反推回去,在不同的人眼中,同一個信息發(fā)送者的熵就會有不一樣的數(shù)值。

這里的“主觀性”其實就體現(xiàn)在通訊過程必須同時存在兩個系統(tǒng),我們把發(fā)送者稱為 Alice,接受者稱為 Bob。發(fā)送者 Alice 的狀態(tài)是一定的,熵只和系統(tǒng)的狀態(tài)有關(guān),所以他的熵應(yīng)該也是一定的,也就是說它有一個客觀的數(shù)值的。

但是發(fā)送者(Alice)和接受者(Bob)之間傳遞的信息并不直接取決于發(fā)送者(Alice)的熵,而是取決于發(fā)送者(Alice)和接受者(Bob)兩個系統(tǒng)里熵的交集(雖然這么表示不嚴(yán)謹(jǐn),但仍然可以先這樣理解)。

不同的接受者計算出來不一樣的“信息熵”,其實是發(fā)送者和接收者交集那部分的熵,嚴(yán)格意義上來說這部分應(yīng)該叫做互信息,用來 表示。

只有在接受者的熵完全包含了發(fā)送者(Alice),這個時候的互信息才完全等于發(fā)送者的熵。如果有 Bob 和 Charlie 兩個接受者,它們可以不一樣,但是都完全包含了發(fā)送者的熵,那么不論 Bob 和 Charlie 多么不一樣,他們按照我們前面的做法計算出來的“信息熵”就一定是由發(fā)送者 Alice 自身客觀決定的。

要想徹底理解互信息這個概念,需要鋪墊一些通訊的知識。這次篇幅不夠了,后面會專門介紹一下熵和信息量在通訊領(lǐng)域的作用,到時候再理解這件事就容易了。

不過,即便是通過前面的簡單介紹,大家應(yīng)該有這樣一個想法了,信息熵的主觀性主要還是因為需要同時考慮發(fā)送者和接受者兩個系統(tǒng)。那么,如果只單獨考慮一個系統(tǒng)的熵,是不是就可以完全將“熵”的主觀性排除了呢?

也沒有那么簡單,我們可以來看一下這樣一個例子。

從科普的角度去解釋熵,一個經(jīng)常用的方式就是拿一副撲克牌來舉例。一副新?lián)淇伺?,它里面牌的大小和花色都是整理好的,所以這個時候的牌熵就小。

如果開始洗牌,撲克牌的順序就會被打亂,這個時候就代表著熵增。而且在最開始幾次洗牌的過程中,撲克牌的次序會越來越亂,也就是熵越來越大。直到撲克牌的次序達(dá)到一個幾乎隨機(jī)的狀態(tài),此時熵達(dá)到了最大,即便繼續(xù)洗牌熵也不會增加了。

很多人看到這個例子之后,都會產(chǎn)生這樣的疑問,這里對于撲克牌“有序”的標(biāo)準(zhǔn)是如何定義?必須按照從 A 開始、2、3、4…… 這樣排列下去嗎?為什么不能隨便規(guī)定好一個順序,認(rèn)為這是最有序的?

如果隨便規(guī)定一個次序標(biāo)準(zhǔn),那么一幅新牌相對于標(biāo)準(zhǔn)反而更加混亂。這樣的話,豈不是一個系統(tǒng)的熵要依賴于對于“有序”是如何定義的了嗎?這應(yīng)該也是一種“主觀”吧?

這其實有點像是勢能,對 0 勢能的位置定義不一樣,一個系統(tǒng)的勢能的具體數(shù)字是不一樣的。雖然勢能的絕對值是不一定的,但是從一個狀態(tài)到另一個狀態(tài),勢能增加和減少的大小卻是一定的。而且勢能最后的大小,只和開始和最終的狀態(tài)有關(guān),和中間的變化無關(guān)。從高處 A 落到 B 點,不論是直接下落,還是先拋起來再下落,最后勢能的改變值都是一樣的。

熵也是類似的情況,在一個狀態(tài)正在變化中的系統(tǒng)中,熵改變的多少只和初始、最終的狀態(tài)有關(guān),和具體的變化過程無關(guān)。所以,現(xiàn)在看來似乎只有熵變化量才是絕對的,熵的絕對值肯定是主觀的。

這樣理解沒有問題,但是也有例外。以撲克牌為例,從一副新?lián)淇伺崎_始洗牌,剛開始的時候每洗一次,撲克牌就會被打亂一次,隨著洗牌的次數(shù)增加,撲克牌的混亂度越來越高,這也代表著撲克牌的熵在逐漸增加。

但需要注意的是,撲克牌混亂程度并不會一直增加下去,洗牌到一定次數(shù)之后,撲克牌已經(jīng)足夠混亂了,再多洗幾次牌也不會讓撲克牌更加混亂。這個時候也就代表著熵不再增加了。這其實就說明這個撲克牌在這種洗牌手法下已經(jīng)達(dá)到了平衡狀態(tài)了。

平衡狀態(tài)下的撲克牌的熵就是確定的了,這當(dāng)然也就是客觀的了。也就是說,不論你設(shè)定的標(biāo)準(zhǔn)“次序”,只要洗牌的次數(shù)夠多,那么就會達(dá)到一個確定的熵值,而且這個熵值還不依賴于任何主觀因素。

如果把撲克牌換成氣體,一張一張的牌就是氣體里的分子,牌的順序就是氣體分子的各種狀態(tài),洗牌就是氣體分子的隨機(jī)熱運動。那么一幅牌從全新狀態(tài)洗牌到完全混亂的過程,完全可以看作是把各種不同的氣體混合到一起之后,隨著熱運動的作用,氣體分子變得充分混合,達(dá)到了平衡狀態(tài)。

這個平衡狀態(tài)的熵就是客觀且確定的。而這里用來描述氣體的熵其實就屬于熱力學(xué)熵了,而熱力學(xué)熵中最有名的就是玻爾茲曼熵。

熱力學(xué)熵

玻爾茲曼熵的定義是這樣的:

這里的 S 就是玻爾茲曼熵, 是玻爾茲曼常數(shù),國際標(biāo)準(zhǔn)下

作為熵的定義,對數(shù)計算肯定是少不了的,不過對數(shù)計算 ln 里面的 W 就和信息熵有些不太一樣了。在信息熵定義中,進(jìn)行對數(shù)運算的是概率值,而這個公式里的 W 不是概率值,它某種程度上就可以代表一個系統(tǒng)在熱平衡狀態(tài)下的混亂程度。有的地方也用 Ω 表示。

這個混亂程度更準(zhǔn)確的說法是“給定宏觀態(tài)對應(yīng)的微觀態(tài)的數(shù)量”。這里有兩個關(guān)鍵詞,宏觀狀態(tài)和微觀狀態(tài)。如果用理想氣體舉例的話,宏觀狀態(tài)就是這個氣體的總能量、體積、壓強(qiáng)、溫度等物理量。微觀狀態(tài)就是氣體里的單個分子狀態(tài),往往也就是氣體分子的動量和位置。

或者更直觀一點,可以把分子可以具有的微觀狀態(tài)想象成是一個一個的小格子。不同格子代表著氣體分子的不同微觀狀態(tài),每個氣體分子都會根據(jù)不同的狀態(tài)放到這個格子里面。如果兩個分子的動量不同,那么就放到兩個不同的格子里,如果兩個分子的動量相同那就放到相同的格子里面。

“給定宏觀態(tài)對應(yīng)的微觀態(tài)的數(shù)量”,這句話有兩層含義。

第一層,確定一個宏觀狀態(tài)(比如是標(biāo)準(zhǔn)大氣壓、20攝氏度、一升純氧氣)之后,在平衡狀態(tài)下每個微觀狀態(tài)的格子里面的分子數(shù)都是確定的。

如果我們就是停留在第一層,這個宏觀和微觀的對應(yīng)關(guān)系,也完全可以描述出該系統(tǒng)的混亂程度。就像圖中里描述的,不同溫度分別對應(yīng)不同的曲線。

玻爾茲曼熵里面的 W 就是代表這個曲線的話,那這個 W 應(yīng)該是至少應(yīng)該是一個二維數(shù)組才行。

比如像圖中描述的那樣,一共有 N 個分子,需要放到 K 個不同盒子里面。不同的溫度會有不同的分布圖。如果想把 溫度的分布表述出來,那么一定是需要將 1 到 K 個盒子里的分子數(shù)全部表示出來,可以寫作:

這樣的二維數(shù)據(jù)顯然沒有辦法直接進(jìn)行 ln 運算,所以在玻爾茲曼熵的公式里面,這個 W 必須是用一個具體的數(shù)值表示才行。

這個時候就需要理解“給定宏觀態(tài)對應(yīng)的微觀態(tài)的數(shù)量”這句話里的第二層含義了。

這句話里說的“數(shù)量”并不是每個微觀狀態(tài)盒子里的分子個數(shù),而是要統(tǒng)計一下在氣體處于當(dāng)前 (比如 )的分布曲線的情況下,一共可以有多少種可能性。

假如說,氣體里面一共有 N 個分子、K 個微觀狀態(tài)盒子,那么 W 應(yīng)該等于把 N 個分子,按照分布曲線裝入 K 個盒子里面一共有多少種可能性。

具體怎么做呢,我們可以一步一步地來。

把 N 個分子裝到第1個盒子里,第1個盒子在一個 溫度下能且只能裝 個分子,相當(dāng)于從 N 個里面挑 個,所以一共有 種情況。然后看第 2 個盒子一共可以裝 個分子,因為還剩下的 個分子,所以一共有 種情況。以此類推,所有的情況都可以寫出來然后相乘就是最后總的可能性了。具體如下:

這種總數(shù),比起二維的數(shù)據(jù)一定是丟失了信息的,但是對于一個系統(tǒng)整體的熵已經(jīng)足夠了。丟失的信息是什么呢?這部分丟失的信息,代表著無法把某個具體的微觀狀態(tài)里會有多少分子還原出來。也就是說理論上存在兩個系統(tǒng)熵相同,但微觀狀態(tài)不同的情況。

有了玻爾茲曼熵的基礎(chǔ),再去看撲克牌洗牌這個熵增的過程,就可以做一些定量的分析了。

為了方便我們簡化一下洗牌的方法,每次洗牌都會讓一張牌隨機(jī)出現(xiàn)在它原本次序的正負(fù) 2 格之內(nèi)。原來一張牌的位置是 10,那么洗牌 1 次,它就可能隨機(jī)出現(xiàn)在 8 到 12 任意一個位置。如果洗牌 2 次,那么最開始位置 10 的那張牌,就有可能出現(xiàn)在 6 到 14 的任意一個位置上。

當(dāng)然這個時候 6 到 14 這幾個位置對應(yīng)的概率還是不一樣的,6 和 14 要小一些 (畢竟要連續(xù)減 2,或者連續(xù)兩次加 2),9、11 的概率就要大一些,10 的概率值最大??傊褪且粋€類似正態(tài)分布的情況。

隨著洗牌的次數(shù)增加,最開始 10 號位置的牌,就可能出現(xiàn)在任意一個位置,而且每個位置出現(xiàn)的概率還會趨于平均。到了這個時候就達(dá)到了熵最大的情況,也代表著達(dá)到了平衡狀態(tài)。

從熱力學(xué)熵到信息熵

其實講到這里,玻爾茲曼熵和信息熵互相之間還是割裂的,因為決定玻爾茲曼熵大小的是 W,而 W 是一個和個數(shù)有關(guān)的數(shù)量值。信息熵就完全不同了,信息熵里面起決定性因素的是概率值。一個是數(shù)量值,一個是概率值,這互相之間應(yīng)該如何產(chǎn)生聯(lián)系?

其實也很簡單,因為某個事情發(fā)生的次數(shù)除以所有情況都發(fā)生的次數(shù)得到的就是概率值。反過來,一個概率值的倒數(shù),其實就可以理解為是這個事件發(fā)生的次數(shù)。

所以,次數(shù)和概率值互相之間是可以互相轉(zhuǎn)化的。只不過玻爾茲曼熵里的 W 要想轉(zhuǎn)化成概率值,還需要借助一下斯特林公式:

其中 是關(guān)于 的一個無窮小量,所以在 n 很大的時候它可以忽略。

具體如何利用斯特林公式將玻爾茲曼熵的形式變成像那樣的信息熵的形式,就需要一些數(shù)學(xué)推導(dǎo)了。其中涉及的數(shù)學(xué)知識不會超過高中,感興趣的話可以詳細(xì)看一下。如果不看也沒關(guān)系,知道次數(shù)和概率是可以相互轉(zhuǎn)化的就可以了。

具體的推導(dǎo)過程如下:

這個其實就已經(jīng)是吉布斯熵了,可以看出它和信息熵的形式幾乎一致,都是以

作為主體,不一樣的只是對數(shù)運算的底和一個常數(shù)系數(shù)。雖然前面的推導(dǎo)過程并不那么嚴(yán)謹(jǐn),不過還是可以從中看出熱力學(xué)熵和信息熵本質(zhì)上都是相同的。

而這也是為什么馮·諾伊曼看到香農(nóng)的公式之后,讓他把它叫做熵的原因。

熵本來是一個熱力學(xué)里的概念,但是自從它和信息之間的聯(lián)系被發(fā)現(xiàn)之后,原來在物理體系下很難得到的解決的問題就可以被更容易解決了。這其中最有名的就是物理學(xué)四大神獸之一的“麥克斯韋妖”了。

但是要想解決這個問題,那就需要通過熵將信息和能量的關(guān)系建立起來。我們下一集就一起來討論這個問題。

內(nèi)容資源由項目單位提供