对于理工科学生来说,“熵”并不是一个陌生的名词。在诸如“大学物理”“热力学”和“信息论”等课程中都会有所介绍。但同时“熵”又是一个显得有点神秘的概念,看不见也摸不着。我最早是在高中物理课中听说的,大概是在介绍“热力学第二定律”时提到的。热力学第二定律的内容是:热力学过程是不可逆的——孤立系统自发地朝着热力学平衡方向──最大熵状态──演化。
然后真正的对这个名词有所理解是在学习《工程热力学》的时候。热力学中对熵比较通俗的定义是——对物质的混乱程度的度量。然后有一些“常识性”的结论,比如温度越高熵值越高,冰水混合物中冰不断融化也是熵增过程。对于理想情况下的卡诺循环,有如下公式:
QT=Q′T′
上面的式子中,设想有两个热源,一个卡诺循环从两个热源中抽取一定量的热Q’并释放一定的热量Q,相应的温度为T’和T。卡诺循环包括四个步骤:等温吸热,在这个过程中系统从高温热源中吸收热量; 绝热膨胀,在这个过程中系统对环境作功,温度降低; 等温压缩,在这个过程中系统向环境中放出热量,体积压缩; 绝热压缩,系统恢复原来状态,在等温压缩和绝热压缩过程中系统对环境作负功。然后根据绝热做工和绝热压缩的条件,再根据理想气体公式pv=nRT,就得到了以上的公式。然后将任意的热循环分解为多个卡诺循环就可以得到公式:
∫δQT=0
其中T是任意时候的温度(微积分的思想),然后就导出了熵变的定义:
δS=∫δQT
然后在信息论中的,信息熵的定义如下:
H(x)=?∑i=1rp(xi)?logbp(ai)
式中r为互不相同的消息数目,x为这些消息的集合。
初看之下觉得热力学中的定义和信息学中定义好像风马牛不相及。虽然好些书上都强调这两种定义是统一的,但是我也一直没有理解它们是如何统一的。当时思考这个问题的时候还是在大二,后来也就放下没有去想。最近在看机器学习中“决策树”的部分,涉及到了熵的概念,然后就决定再好好想想这个问题。
从定义来说,信息学中熵的定义明显更有数学美感一些,更加抽象一些。所以我就打算从信息熵的角度去理解热力学熵。
- 首先,什么是混乱?混乱的前提是多样化,如果所有东西都是一样的,就没有混乱的概念了。在热力学中,物质的状态体现在热运动。粒子的运动速度是直接和温度相关的。温度越高,粒子的平均速度就越高。注意是平均速度,热运动中会有很多的粒子碰撞,根据动量定理(在微观世界中仍然成立),一定会产生低速粒子。这样一来,温度高的物质中,粒子的速度范围就大了。对应信息熵中的公式中,相当于消息(其实就是一个实际状态)的数目变多了,相应的熵也就增大了。在这个分析中,两者是一致的。
- 其次,粒子的状态还有位置。相对位置也是对混乱程度的一个重要度量。如果我们把粒子当做一个个台球,并把它们排成一列(一维分布)。“有序”的情况总是很少的,比如黑球和白球完全不交错,相应的,“无序”状态就很多了。还是根据信息熵的定义,可以知道有序系统的状态比较少,所以熵值就比较低。在这里我们假设每一种排列的概率是一样的,这个假设是比较合理的。这样一想,信息熵和热力学熵确实是统一的。
在思考完上面的东西以后,我才看到维基百科中波尔兹曼原理,发现和自己想的竟然差不多,心中窃喜。内容如下:
1877年,玻尔兹曼发现单一系统中的熵跟构成热力学性质的微观状态数量相关。可以考虑情况如:一个容器内的理想气体。微观状态可以以每个组成的原子的位置及动量予以表达。为了一致性起见,我们只需考虑包含以下条件的微观状态:(i)所有粒子的位置皆在容器的体积范围内;(ii)所有原子的动能总和等于该气体的总能量值。玻尔兹曼并假设:
S=klnΩ
公式中的k是玻尔兹曼常数,Ω则为该宏观状态中所包含之微观状态数量。这个被称为玻尔兹曼原理的假定是统计力学的基础。统计力学则以构成部分的统计行为来描述热力学系统。玻尔兹曼原理指出系统中的微观特性(Ω)与其热力学特性(S)的关系。
根据玻尔兹曼的定义,熵是一则关于状态的函数。并且因为Ω是一个自然数(1,2,3,…),熵必定是个非负数。
好久没有这样认真思考一些理论问题了。科学永远在技术的前面!