關於熵的一些理解

2021-07-02 02:29:44 字數 1899 閱讀 6519

對於理工科學生來說,「熵」並不是乙個陌生的名詞。在諸如「大學物理」「熱力學」和「資訊理論」等課程中都會有所介紹。但同時「熵」又是乙個顯得有點神秘的概念,看不見也摸不著。我最早是在高中物理課中聽說的,大概是在介紹「熱力學第二定律」時提到的。熱力學第二定律的內容是:熱力學過程是不可逆的——孤立系統自發地朝著熱力學平衡方向──最大熵狀態──演化。

然後真正的對這個名詞有所理解是在學習《工程熱力學》的時候。熱力學中對熵比較通俗的定義是——對物質的混亂程度的度量。然後有一些「常識性」的結論,比如溫度越高熵值越高,冰水混合物中冰不斷融化也是熵增過程。對於理想情況下的卡諾迴圈,有如下公式: qt

=q′t

′ 上面的式子中,設想有兩個熱源,乙個卡諾迴圈從兩個熱源中抽取一定量的熱q』並釋放一定的熱量q,相應的溫度為t』和t。卡諾迴圈包括四個步驟:等溫吸熱,在這個過程中系統從高溫熱源中吸收熱量; 絕熱膨脹,在這個過程中系統對環境作功,溫度降低; 等溫壓縮,在這個過程中系統向環境中放出熱量,體積壓縮; 絕熱壓縮,系統恢復原來狀態,在等溫壓縮和絕熱壓縮過程中系統對環境作負功。然後根據絕熱做工和絕熱壓縮的條件,再根據理想氣體公式pv

=nrt

,就得到了以上的公式。然後將任意的熱迴圈分解為多個卡諾迴圈就可以得到公式: ∫δ

qt=0

其中t是任意時候的溫度(微積分的思想),然後就匯出了熵變的定義: δs

=∫δq

t 然後在資訊理論中的,資訊熵的定義如下: h(

x)=−

∑i=1

rp(x

i)∗logbp

(ai)

式中r為互不相同的訊息數目,x為這些訊息的集合。

初看之下覺得熱力學中的定義和資訊學中定義好像風馬牛不相及。雖然好些書上都強調這兩種定義是統一的,但是我也一直沒有理解它們是如何統一的。當時思考這個問題的時候還是在大二,後來也就放下沒有去想。最近在看機器學習中「決策樹」的部分,涉及到了熵的概念,然後就決定再好好想想這個問題。

從定義來說,資訊學中熵的定義明顯更有數學美感一些,更加抽象一些。所以我就打算從資訊熵的角度去理解熱力學熵。

首先,什麼是混亂?混亂的前提是多樣化,如果所有東西都是一樣的,就沒有混亂的概念了。在熱力學中,物質的狀態體現在熱運動。粒子的運動速度是直接和溫度相關的。溫度越高,粒子的平均速度就越高。注意是平均速度,熱運動中會有很多的粒子碰撞,根據動量定理(在微觀世界中仍然成立),一定會產生低速粒子。這樣一來,溫度高的物質中,粒子的速度範圍就大了。對應資訊熵中的公式中,相當於訊息(其實就是乙個實際狀態)的數目變多了,相應的熵也就增大了。在這個分析中,兩者是一致的。

其次,粒子的狀態還有位置。相對位置也是對混亂程度的乙個重要度量。如果我們把粒子當做乙個個撞球,並把它們排成一列(一維分布)。「有序」的情況總是很少的,比如黑球和白球完全不交錯,相應的,「無序」狀態就很多了。還是根據資訊熵的定義,可以知道有序系統的狀態比較少,所以熵值就比較低。在這裡我們假設每一種排列的概率是一樣的,這個假設是比較合理的。這樣一想,資訊熵和熱力學熵確實是統一的。

在思考完上面的東西以後,我才看到維基百科中波爾茲曼原理,發現和自己想的竟然差不多,心中竊喜。內容如下:

2023年,玻爾茲曼發現單一系統中的熵跟構成熱力學性質的微觀狀態數量相關。可以考慮情況如:乙個容器內的理想氣體。微觀狀態可以以每個組成的原子的位置及動量予以表達。為了一致性起見,我們只需考慮包含以下條件的微觀狀態:(i)所有粒子的位置皆在容器的體積範圍內;(ii)所有原子的動能總和等於該氣體的總能量值。玻爾茲曼並假設: s=

klnω

公式中的k是玻爾茲曼常數,ω則為該巨集觀狀態中所包含之微觀狀態數量。這個被稱為玻爾茲曼原理的假定是統計力學的基礎。統計力學則以構成部分的統計行為來描述熱力學系統。玻爾茲曼原理指出系統中的微觀特性(ω)與其熱力學特性(s)的關係。

根據玻爾茲曼的定義,熵是一則關於狀態的函式。並且因為ω是乙個自然數(1,2,3,…),熵必定是個非負數。

好久沒有這樣認真思考一些理論問題了。科學永遠在技術的前面!

關於熵的一些數學知識

一些資訊熵的含義 1 資訊熵的定義 假設x是乙個離散隨即變數,即它的取值範圍r 是有限可數的。設pi p,x的熵定義為 若 a 式中,對數的底為2,則熵表示為h2 x 此時以2為基底的熵單位是bits,即位。若某一項pi 0,則定義該項的pilogpi 1為0。2 設r 並定義p p,p 1 p。則...

關於float的一些理解

float是否脫離文件流,乙個父元素不設定overflow的話,子元素float,就不會把父元素撐開,換句話說,他就不會有高度,但是做個demo 父元素overflow hidden 子元素前兩個float,第三個不float,結果是第三個沒有clear浮動的元素,跟float的元素出現在同乙個位置...

關於android layout的一些理解

1 wrap content view的尺寸根據它的內容確定 match parent view的尺寸盡量和它的parent view group一樣大 2 獲得view的位置 position getleft gettop getright getleft getwidth getwidth 3 ...