生命之流(5)——连接上帝的纽带-熵

来自集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织
跳到导航 跳到搜索


  • 作者:jake
  • 时间:2008-04

生命之流(5)——连接上帝的纽带——熵

究竟热力学第二定律是怎么来的?要知道,在微观物理理论中并不存在我们熟悉的那个时间之箭。当然,我们完全可以既接受牛顿物理对世界的描述,同时又接受热力学这样一套完全平行、不相关的描述。但是这样的分离状况不能让我们满意,上帝不太可能费事儿地设计两套不相干的物理规律,这两者之间必然存在着某种联系。克劳修斯的熵概念已经把这个问题用简单清晰的数学公式表达出了,但是这还远远不够,因为我们仍然不知道它的物理含义。

正在这时,一个世纪伟人:玻尔兹曼(Ludwig Boltzmann,1844~1906)登场了。通过把热力学现象解释成大量分子相互作用的统计行为,玻尔兹曼成功地创立了统计物理这门学科。这样,熵、热量、温度、功等等概念全部具有了合理的解释,那条险些断裂的连接经典物理和热物理的纽带又被重新拼接起来,这一切都要归功于玻尔兹曼提出的统计熵概念。然而,在19世纪末,因为原子论尚是一个存在着很大争议的课题,玻尔兹曼把他的理论奠定在原子论的基础上显然是一种大胆、叛逆的行为。因此,他的观点遭到了主流科学家的批判,并最终导致了他的自杀——历史上一个最可悲的不可逆事件!然而,玻尔兹曼的工作并没有就此死掉,美国的物理学家、化学家吉布斯(Gibbs Josiah Willard, 1839-1903)担当起了进一步发展统计物理的重任。他通过运用另外一种不同的方法定义熵,从而大大拓展了热力学的应用领域。受到了吉布斯和玻尔兹曼等人工作的影响,天才的信息论创始人申农(Claude Elwood Shannon,1916-2001)将熵的含义进一步抽象,使其能在通信和信息科学中大放异彩。到此,熵已经可以作为一个系统概念(而不是物理概念)而存在了,因此我们得到了一条从热物理到统计物理,再到信息论的发展路径。然而,吉尼斯(E. T. Jaynes)却并不这样看,他反过来认为信息论以及最大化信息熵应该作为统计物理的新假设。因此,他独立建立起了一套“主观”的统计物理理论。

本章将从玻尔兹曼熵开始一直到吉尼斯的统计物理,并尽量安排一些具体的例子来说明问题。沿着条思路,我们将看到系统之中的目的性行为:时间之箭是如何一步一步与观察者的主观判断联系到一起的,这一章的讨论将为后面的流动问题奠定基础。

第一个例子看似与热物理并不相关,但实际上玻尔兹曼的思想和方法已经被完全包含其中了。

例1 随机数程序

这是一个简单的计算机程序,它在每一周期都随机产生[math]\displaystyle{ N }[/math]个随机数,如[math]\displaystyle{ x_1,x_2,...,x_N }[/math],并且每个数的值都要么是0要么是1。假设你看不到这个程序内部的运行机理,但能够看到每一个周期这[math]\displaystyle{ N }[/math]个数的和,记为[math]\displaystyle{ M=x_1+x_2+...+x_N }[/math]。每一周期运行的伪代码如下:

RandomNum(Integer N){
       Integer M=0;
       For(i=1 to N){
              R= Random(0,1);
              M=M+R;
       }
       Return M;
}

反复运行该程序你将看到什么结果?答案很简单,你将经常观察到[math]\displaystyle{ N/2 }[/math]这个数,也会偶尔观察到[math]\displaystyle{ N/2 - 1 }[/math]或者[math]\displaystyle{ N/2 + 1 }[/math]等附近的数。比如,当[math]\displaystyle{ N = 6 }[/math],那么你将很可能会观察到3,偶尔会看到4、2等,而不太可能观察到0或者6。当[math]\displaystyle{ N }[/math]变得越来越大的时候,结果[math]\displaystyle{ N/2 }[/math]出现的次数也会变大。

通过简单运算,就能得到假如[math]\displaystyle{ N=6 }[/math],那么出现[math]\displaystyle{ M=0 }[/math]就意味着所有的随机变量[math]\displaystyle{ x_1,x_2,...,x_6=0 }[/math],也就是说要实现[math]\displaystyle{ M=0 }[/math]这个结果,那些随机变量就有一种可能取值:它们都等于0。

如果[math]\displaystyle{ x_1~x_6 }[/math]之中有一个出现1,其它都是0,那么就可以让[math]\displaystyle{ M=1 }[/math],这样要实现[math]\displaystyle{ M=1 }[/math]这个结果,就可以有6种可能性,即[math]\displaystyle{ x_1~x_6 }[/math]分别取100000或者010000或者001000,… …等等。

[math]\displaystyle{ M=2 }[/math]的时候,只要6个数中有两个取1,其它都是0就可以了。即包括:110000, 101000, 100100, 100010, 100001, 011000, 010100, 010010, 010001, 001100, 001010, 001001, 000110, 000101, 000011这15种情况。

更一般的,一共有[math]\displaystyle{ C_N^k = \frac {N!}{k!(N-k)!} }[/math]种让[math]\displaystyle{ M=k }[/math]出现的可能情况,我们记它为[math]\displaystyle{ \Omega (k) }[/math]

在这个简单例子中,对这些随机变量[math]\displaystyle{ x_i }[/math]的一次全部赋值称为系统的一个微观态。例如,100100、000000、101010就都是系统的微观态。而我们称这些随机数的一种可能和值M叫做系统的一个宏观态。例如[math]\displaystyle{ M=0,2,6, ... }[/math]都是可能的宏观态[math]\displaystyle{ \Omega (k) }[/math]的自然对数,即当宏观态是[math]\displaystyle{ M=k }[/math]的时候对应的[math]\displaystyle{ ln \Omega (k) }[/math]就是该系统的熵(或者叫做玻尔兹曼熵),即:

[math]\displaystyle{ S(k)=ln \Omega (k) }[/math]

为了看清楚这几个量之间的关系,可以画出下面的示意图。

图5-1 随机数实例中各种概念之间的关系

一般来讲,系统产生的宏观结果(宏观态)可能是由很多种微观因素造成的。而观察者往往看不到那些微观因素,仅仅能看到系统的宏观表现。这就导致了一种从微观状态到宏观状态的映射,所以该例子中的求和过程就相当于是一种观察引起的压缩作用,它使得我们可以从宏观状态来把握系统,但是不可避免地就会损失对系统精确描述的信息,这就对应了每个宏观态实际上“压缩”的微观状态数目,即[math]\displaystyle{ \Omega (k) }[/math]。由于[math]\displaystyle{ \Omega }[/math]可能是一个很大的数,所以取对数值之后计算熵值可以缩小这个数目而方便比较和操作,但却不改变函数的性质(例如单调性,最大值),这就是熵。

显然我们可以扩展这个例子,例如把[math]\displaystyle{ M }[/math]改为计算[math]\displaystyle{ x_1,x_2,...,x_N }[/math],即[math]\displaystyle{ N }[/math]个数的乘积。这样,我们得到的宏观态就只有0和1两种可能性。但是按照同样的方法,仍然可以计算这两个宏观状态的熵:[math]\displaystyle{ S(0)=ln(2^N-1) }[/math][math]\displaystyle{ S(1)=ln1=0 }[/math]。当然我们还可以用其它的方法计算从[math]\displaystyle{ x_1,x_2,...,x_N }[/math]到M的函数,每种函数原则上都可以定义熵。这个例子告诉我们,其实熵的计算只不过是一种计数方法。针对一个系统,只要我们能够定义微观态、宏观态,我们就能计算出每个宏观量对应多少微观态,从而就可以计算熵。

然而,这样一种抽象的例子和实际相差太远,让我们再看下面这个更接近热力学系统的例子。

例2:气体分子模型

设有N个气体分子(一些刚性小球)分配到一个大的容器里,如下图所示:

图5-2 6个气体分子小球分配到一个容器中


为了简单起见,我们假设每个分子可以随机地在所有小方格中跳来跳去,并且一个小格可以容纳任意多个小球,那么这和例1就非常相似了。同样,对这个系统的描述也可以从两种视角。因为每个小球就有16*8=128(小个子的个数)种可能位置,那么6个小球就一共可以包括[math]\displaystyle{ 128^6 }[/math]种不同的微观状态。例如下列各图就表示了各种不同的系统微观状态:

图5-3 气体系统可能处的微观状态

同样,对于这个系统的观察还存在着一个完全不同的视角:宏观视角。假设一个观察者站在很远的地方观察该系统,那么他看不到具体的一个一个小格子,而只能看到黑色边框分割的大格子(把系统分成了左、右两侧)。这个观察者也不再能够分辨出具体的小球,而仅仅能看到一团东西(多个小球)在容器的左侧,另一团东西在容器的右侧,并且观察者能够判断出某一边的球数。这样,我们可以用下面的图来表示系统的宏观状态,例如:

图5-4 与图5-3对应的气体系统宏观态

(数字表示处于该半个容器中的分子数目)

很显然,每一个宏观状态就可能对应了多个不同的微观状态。因为对于这个仅仅有6个分子的气体系统来说,所有可能的微观态数目和可能的宏观态数目都是有限的,所以我们可以计算出每个宏观态对应的可能微观状态数,我们用下图表示:

图5-5 每个宏观状态可能对应的微观状态,以及产生该宏观状态的所有可能的微观状态总数

计算[math]\displaystyle{ (8*8)^6 }[/math]是因为每个大方格都包含了8*8=64个小方格,并且每个小球当被限定在一个大方格里面的时候,它还可以在这64个小方格中任意选择一个。[math]\displaystyle{ C_N^k }[/math]表示将这[math]\displaystyle{ N }[/math]个分子分割成一种左边[math]\displaystyle{ k }[/math]个,右边[math]\displaystyle{ N-k }[/math]个宏观态(分成左、右两侧)的方法数。所以更一般的,对于一个宏观态[math]\displaystyle{ (k,N-k) }[/math],它所对应的微观状态数是:[math]\displaystyle{ \Omega (k) = C_N^k g^N }[/math],其中[math]\displaystyle{ g }[/math]为一个大方格对应的小方格数目。因为[math]\displaystyle{ N }[/math][math]\displaystyle{ g }[/math]都是常数,所以[math]\displaystyle{ \Omega }[/math]的数值仅仅取决于第一项,我们可以画出[math]\displaystyle{ C_N^k }[/math]在不同参数N下的函数曲线如下:

图5-6 Ω(k)在不同参数N下的函数图

观察图5-6,可以看到当[math]\displaystyle{ k=N/2 }[/math]的时候,[math]\displaystyle{ C_N^k }[/math]最大。并且,当参数[math]\displaystyle{ N }[/math]变大的时候曲线的形状也变得越来越陡。当然,我们还可以推广,如对系统的划分可以有[math]\displaystyle{ h }[/math]个大格子,每个大格子对应的小格子数是不一样的等情况,这里就不讨论了。

在这个例子中,我们也可以类似地定义玻尔兹曼熵,即:

[math]\displaystyle{ S(k) = k_B ln \Omega (k) }[/math](1)

这里玻尔兹曼熵[math]\displaystyle{ S }[/math]是关于宏观状态[math]\displaystyle{ k }[/math]的函数,它正比于该宏观状态[math]\displaystyle{ k }[/math]所对应的微观状态数[math]\displaystyle{ \Omega(k) }[/math]的对数值。其中[math]\displaystyle{ k_B }[/math]为玻尔兹曼常数,它的数值是:[math]\displaystyle{ \frac{1.3806505(24)}{10^{23}} J/K }[/math] ,它的取值是为了与克劳修斯熵保持一致,以便于这套统计方法可以还原所有的热力学规律。(在后面讨论)。

模拟试验

下面,我们不妨设计一个计算机模拟程序,可以让这个气体模拟系统跑起来。假定系统的初始状态如图5-7(a)所示:

图5-7 气体系统模型的演化

并且在每个时间步,所有的小球都随机地朝上、下、左、右四个相邻方格中的一个进行移动,当分子碰到器壁的时候会反弹回来。假设经过一段时间之后,该系统可能停留在5-7(b)所示的状态。从宏观态上来讲,该系统从图5-7(c)的宏观状态(6,0)演化到了图5-7(d)的宏观状态(3,3)。可以预料,如果我们多次重复这个实验,那么尽管系统最终的微观状态并不一定会与图5-7(b)一致,但是系统的宏观态将更有可能倾向于(3,3)这个状态,即图5-7(d)。当小球的总数N非常大的时候,这个趋势将会更加明显。从宏观状态来讲,最终系统就会“停留在”(N/2, N/2)上,甚至系统中的每个粒子在微观上仍然会随机、无序地变换它们的微观状态。

下面,我们可以稍微变化一下这个系统运动的规则,例如可以让每个小球按照牛顿运动定律以不同的速度运动,并且还可以假设两个小球相遇的时候会发生完全弹性碰撞。当我们再次运行这个模拟,会发现整个系统仍然趋向于(N/2,N/2)这个宏观状态。因此,看起来我们能够得到一个与系统微观的规则无关的结论:气体分子系统将最有可能演化并停留到(N/2,N/2)这样的宏观状态下。但是,这个结论并不非常准确,因为对于某些规则,例如当任意两个小球只要碰撞就粘在一起,这个结论就不成立。

为了避免这些特殊情况,使得结论更具普遍性,玻尔兹曼当年做出了一个非常聪明,但也是备受争议的各态历经假说,或称等概率假说:每个分子小球将会以相同的概率在每个微观状态中取值。在这个假说前提下,他得到了确切的结论:气体分子系统将最有可能演化并停留到(N/2,N/2)这样的宏观状态下。我们知道,这种(N/2,N/2)对应的宏观状态恰恰就是玻尔兹曼熵S最大的状态(因为宏观态(N/2,N/2)对应的可能微观状态数最多,所以系统实现并停留在这个状态下的机会也就最多)。最后,尽管系统从微观上讲可能仍然处于不断变化的过程中,但在宏观上,系统将会以最大的概率停留在熵最大的宏观状态。这时,我们将倾向于说系统处于了一种不再变化的平衡态,即热力学平衡态。这是一种表观的平衡,但实际上内部分子仍然在做着激烈的运动。

这个试验可以给我们解释时间之箭的产生提供一定的解释。正如各态历经假说中所提到的,本来对于系统来说,任何一种微观状态都是完全对称、无区别的。但是因为观察者观察上的“缺陷”,他只能看到一些宏观状态,这就会导致每一种宏观状态对应的不同的可实现的微观状态数,从而也就导致了熵的出现。当系统处于不断的变化过程中的时候,这个熵的数值就会倾向于最大化。这给我们解释时间之箭的产生提供了很好的暗示。我们知道,对于经典牛顿力学描述的动力系统来说,一切都是可逆的,所以时间没有方向性。小球按照牛顿运动定律在小方格之上的运动正是这种可逆的运动。但是,在宏观层面我们仍然观察到了不可逆的趋势:即系统会更加倾向于那种对应的熵值最大的宏观状态。一种明显的不可逆的时间方向就这样涌现而出。究竟为什么会产生如此现象呢?原因就在于观察者观察能力上的缺陷,所以时间之箭只不过是观察者眼中的一种“幻觉”。用下面的图可以比较清楚地表达出时间之箭是如何涌现而出的。

图5-8 时间之箭由于观察而涌现

如图5-8所示,随着时间的流逝,系统将会等可能地遍历所有的微观状态,在这个层次观察者将看不到任何微观状态之间的本质差别,因此也不能分辨出时间流逝的方向。随着微观状态的遍历(各态历经假说),系统将会在不同的宏观状态之间转变,并且大多数时间会处于那种最可能的状态(即熵最大的状态)。所以,观察者就能看到一种明显的时间流逝方向了(朝向最可能状态的演化,熵必然增加)。但是,即便对于宏观状态来说,系统的演化仍然是时间对称的,即如果我们能够等待足够长的时间,那么很有可能仍然会观察到如图右侧圆圈表示的那个宏观状态。但是由于这类事件发生概率极其微小(对于通常的气体系统来说,粒子的数目是[math]\displaystyle{ 10^{23} }[/math]这个数量级,系统将几乎不可能出现在最大熵以外的状态),所以观察者将看不到这类事情的发生。

我们知道热力学第二定律可以看作是强加在力学定律之上的一条新的定律。玻尔兹曼引入这套统计解释的目的是为了从微观牛顿力学导出热力学第二定律。但是,玻尔兹曼虽然部分解释了熵和时间箭头,但他也同时引入了新的假设:各态历经(或称等概率)假说。所以,玻尔兹曼自己也认为,他并没有完全解答时间之箭的问题。

让我们再回过头来看看这个例子中的熵。首先,玻尔兹曼把熵定义为宏观状态的函数。这一点是符合人们的热力学知识的。因为当粒子数非常多的时候,系统处于最可能(熵最大)的状态的概率将远远多于其它宏观态的概率。所以人们就把这种最可能的宏观态作为系统的热力学平衡态。通常人们说一个系统的熵就是指处于这种热力学平衡态下系统的熵。其次,熵是对一个宏观态对应的微观状态数取对数。这个微观数目可以看作是种连接微观层次到宏观层次的纽带,因为从微观观察过渡到宏观观察必然伴随着熵的产生。根据这个认识,我们可以看出,实际玻尔兹曼熵并不一定非要应用到分子系统,只要存在着微观态和宏观态,我们原则上都可以应用玻尔兹曼的方法。

最后,之所以熵要对状态数取对数是因为人们希望熵具有可延展性。即对于一个气体系统A,它的熵是S(A)(平衡态下的熵)。以及另一个系统B,熵是S(B),将它们混到一起组成一个大系统A+B。那么显然,对于任意一个宏观态将是A和B两个系统宏观态的组合。这样对应的可能微观态数目将是两个子系统微观态数目的乘积[math]\displaystyle{ \Omega _{A+B} = \Omega _A \Omega _B }[/math],所以总的熵为[math]\displaystyle{ S_{A+B}=ln(\Omega _{A+B})=ln(\Omega _A)+ln(\Omega _B)=S_A+S_B }[/math]。这样熵就变成了一个可以随着系统的加合而可加合的量。

还原热力学

有了玻尔兹曼的统计方法,我们实际上完全可以还原上一章所讨论的热力学了。我们知道热力学关心的是压强、温度、熵、热、功等一系列宏观物理量,它们都可以被一一还原为微观统计量。仍然用例2来讨论,在这里小球的速度被忽略不考虑。这样,压强就是小球对器壁的平均碰撞次数,温度可以近似理解为系统中小球的平均密度。

因为没有速度,所以可以把小球本身就看作小的能量单位,这样系统的总能量就是小球的个数。而一个系统对另一个系统传递热量就是从一个系统向另一个系统传递小球。这样图5-7所示的现象刚好就是热量从高温(左侧系统,小球初始密度高)传向低温(右侧系统,小球初始密度低)的过程。同样,对系统作功就相当于把小球压缩到一些较小的区域内。

对处于平衡态(最可能状态,熵最大的状态)的系统,我们还可以定性地导出克劳修斯熵的定义式,即dS=dQ/T(定量的推导需要精确定义温度、热量等量,请参见《从有序到混沌》一书)。当小球均匀分布在大方格中的时候(小球平均密度就是温度),我们增加一个小球,它会使得Ω呈指数增长(考虑图5-5对Ω的定义式),这样取ln之后,熵就成比例增加。并且这两者的比例是与T(小球密度)呈反比的:小球的密度越高,新增加一个小球对系统熵的影响就越小。

在上面讨论的模型中,我们实际上并没有考虑每个粒子的速度问题。在现实的气体系统中,每个分子不仅有位置,而且还会有速度。所以,我们需要把上面模型中的平面空间扩充到包含了速度信息的状态空间(或称相空间中,见第三章)。这样,每个小球所处的容器就不再是一个平面的容器,而可能是四维空间中的一个立方区域。那么,按照动力系统的观点,每个小球的运动就是从高维的相空间中的一点跳到另一点。但是,这点扩充对于我们的统计模型没有本质影响。因为我们的模型中仅仅涉及了小格子、大格子还有分子小球,而至于小格子、大格子是几维空间中的几何体并没有太大的关系。我们可以假设图5-3表示的是状态空间,即水平方向是小球位置,竖直方向是小球的不同速度。每个小方格就是小球的一种可能状态(位置和速度的组合),大方格就是对这些小状态归并之后的宏观状态,等等。不过,在加入了速度因素之后,能量、温度就不仅仅是小球和小球密度了。(更加严格的数学讨论,请参考相关的统计物理的教科书)。

从玻尔兹曼到吉布斯

上面的讨论虽然可以得出熵的表达式和整个热力学,但是仍然存在着缺陷。上例中划分大方格、小方格的方法完全是我们人为划分的,而这个结果又会影响计算得出的熵。实际上,我们对物理系统的观测本身就是宏观的观测,而微观状态只是我们的一种假设,它是没办法被测量到的。所以,上例中的小格子就没有实际意义了,我们仅仅能观察到大格子构成的宏观状态。那么这个时候,我们如何来定义熵呢?正是基于对这个问题的考虑,吉布斯提出了一套不同的统计物理方法。

还考虑图5-2中的气体分子运动模型。只不过这里每一个小格子已经是我们可以观测到的宏观状态了,每个格子表示一个我们可以观测到的小球的宏观状态。如果开始的时候所有小球都像图5-7(a)中那样集中在容器的左下角,按照随机游走的动力学规则演化,那么经过一段时间,小球将会弥漫在整个容器中。我们可以重复这个实验多次,每次的初始条件都一样,只不过试验最终的结果都不尽相同。但是在重复多次试验的情况下,每个方格被访问就会呈现出不同的概率。例如我们做100000次试验,其中有小球运动过左上角第一个方格的次数是500,那么这个格子被访问的概率就是500/(6*100000)=1/1200。这样,我们可以得到每一个格子的概率。那么对于整个空间我们就可以得到一个概率分布,如下图:

图5-9 一个概率分布示意图

(其中每一个方格中的颜色表示概率的大小,即多次试验中该方格被小球访问的次数比例,颜色越深表示访问该方格的概率越大)

在每一个周期,我们都能得到一个这样的概率分布。针对一种可能的概率分布,吉布斯发明了一套不同的计算熵的方法:

[math]\displaystyle{ S_{G_i b b_s}= - \sum _{i=1}^n p_i ln p_i }[/math] (2)

其中n表示所有的方格数,i表示其中的某一个小方格。pi表示该方格被访问的概率(即颜色)。[math]\displaystyle{ S_{Gibbs} }[/math]就是吉布斯定义的熵,它是关于一系列概率分布[math]\displaystyle{ p_1,p_2,...,p_n }[/math]的函数。这样,确定了一组概率就相当于确定了系统的一个状态,那么不同的状态就对应了不同的熵值。

那么,对应的平衡态的概率分布是什么样子呢?这将是一个所有的格子都呈现出相同颜色的状态,即[math]\displaystyle{ p_i=1/n }[/math](对所有的i=1~n)。因为根据玻尔兹曼的各态历经假说,每个小球将等可能地访问每一个小方格,所以当系统处于平衡态,所有方格的概率都相同,这样就得到了一个均匀颜色的分布。从数学上可以证明,当[math]\displaystyle{ p_i=1/n }[/math](对所有的i=1~n)的时候,[math]\displaystyle{ S_{Gibbs} }[/math]取最大值。所以,气体系统的平衡态就是熵最大的状态,这一点和玻尔兹曼熵得到的结果是完全一致的。

进一步,通过数学上的推导还可以看到玻尔兹曼定义的熵(1)式实际上是和(2)式等价的。如果我们把这里的每个小方格看作是例2中的大方格,并且把每个大方格中的分子数/总分子数看作是访问该方格的概率,那么经过数学上的推导,我们完全可以从(1)式得到(2)式。

吉布斯不仅仅从另一个角度重新定义了玻尔兹曼熵,而且还给我们提供了一个崭新的思路来理解系统。因为原则上讲,系统的微观状态是我们不可观测到的,所以讨论它也变得没有意义。这样,我们所能观察到的仅仅是系统的一些可观测状态,最大熵状态是所有可观测状态中最可能被观测到的那个状态。

从统计物理到信息论

吉布斯熵的另一个好处是它在数学形式上的简洁性。当我们忘掉(2)中每一个[math]\displaystyle{ p_i }[/math]的具体含义,而仅仅是某种抽象的概率分布,那么[math]\displaystyle{ S_{G_i b b_s} }[/math]仍然是一个良定义的量。例如,我们考虑抛掷一枚硬币,那么这枚硬币出现正面和反面的概率就都是1/2。对于这样简单的概率分布,我们也可以计算吉布斯熵:S=-(1/2 ln0.5+1/2 ln0.5)=ln2。

这里,我们可以把系统可能处于的所有状态看作一个大的容器,一次抛硬币事件就相当于是一个在该容器中运动的小球。这样,小球访问容器的概率就相当于是硬币的一次正反面。所以,我们仍然可以计算熵。

一般的,如果一个系统可能处在[math]\displaystyle{ n }[/math]种状态,并且每种状态的概率分别是[math]\displaystyle{ p_1,p_2,...,p_n }[/math],那么这个系统就有申农信息熵:

[math]\displaystyle{ S_{shannon}= - \sum _{i=1}^n p_i ln p_i }[/math] (3)

其中[math]\displaystyle{ I }[/math]叫做系统所包含的信息量,它是申农熵(Shannon Entropy)的相反数。申农熵和吉布斯熵具有相同的形式,但是,在这两种描述中,系统以及i的含义是不完全一样的。在前面吉布斯的定义中,一个系统是指一个容器,里面有多个小球,这样小球访问容器的不同部分可以导致一个分布。因此,给定一系列容器不同部分的概率分布,就给定了该系统的状态,因此也就能够定义该系统的吉布斯熵(即吉布斯熵是描述系统状态的量)。但是在申农熵定义中,一个系统本身的状态,以及这些状态上的概率分布是系统本身已经决定了的,因此申农熵也决定了,它是描述系统(而不是状态)的量

为看清吉布斯熵和申农熵的区别,让我们再次回忆例1,即那个产生0、1随机数并求和的程序。如果我们把这个程序看作一个系统,那么该系统就有0,1,...,N这几种状态。当程序运行起来以后,我们就得到了一个在各个状态上的概率分布[math]\displaystyle{ p(k)=C_N^k/2^N }[/math],因此可以给这个系统计算申农熵:[math]\displaystyle{ S_{shannon}= - \sum _{k=0}^N p(k) ln p(k) = - \sum _{k=0}^N \frac {C_N^k}{2^N} ln \frac {C_N^k}{2^N} }[/math]

根据例1的讨论,我们又知道,实际上这每一个状态又是一个宏观态,它可能对应了多种微观态。那么,也就是说该程序的每一个状态又可以计算出一个吉布斯熵。比如状态[math]\displaystyle{ k }[/math],也就是说程序得到的和数是[math]\displaystyle{ k }[/math]。那么这[math]\displaystyle{ N }[/math]个随机数就相当于是要占领0和1两个格子的粒子。要得到和数是[math]\displaystyle{ k }[/math],那么我们知道这需要格子1被占领的概率应该是[math]\displaystyle{ N }[/math]中的[math]\displaystyle{ k }[/math]次,即[math]\displaystyle{ k/N }[/math],而占领0的概率就是[math]\displaystyle{ (N-k)/N }[/math]。这样,状态[math]\displaystyle{ k }[/math]的吉布斯熵是:[math]\displaystyle{ S_{Gibbs}(k)= -\frac {k}{N} ln \frac {k}{N} - \frac {N-k}{N} ln \frac {N-k}{N} }[/math]

所以,在这个例子中,对于系统整体有一个申农熵来描述,而对于每一个具体状态,又有一个吉布斯熵来描述。

申农熵的意义还表现在它可以表达我们主观世界中的不确定性。假设有两枚硬币,第一枚硬币出现正反面的次数完全相同,而第二枚硬币出现正面的概率是0.1,出现反面的概率是0.9。那么很显然,你一定会觉得第一枚更加捉摸不定,而第二枚硬币则好一些,因为你有很大的把握知道它会出现反面。我们这种主观的不确定性感觉可以被申农熵来刻画。申农熵越大表示该系统越不确定。例如,如果p1=0.1,p2=0.9,也就是系统有很大的概率出现反面,则[math]\displaystyle{ S_Shannon=0.325 }[/math],它小于当[math]\displaystyle{ p_1=p_2=0.5 }[/math]情况下的申农熵:ln2。

对于主观来说,系统不确定性的另一面意味着信息。当我们对一个系统掌握的信息越多,相当于它们对我们来说它越确定。所以(3)式还可以看作是信息量的一种定义。当我们对某个系统一无所知的时候,我们倾向于最大化(3)式,也就是对该系统的信息量掌握得很少。而随着我们对系统的逐渐了解,它变得越来越确定,这就会改变系统中各状态的概率分布,使得总的申农熵减小,这就导致对该系统的信息量的增加。

还用硬币的例子来说,假如我把一枚硬币压在手下让你猜是正面还是反面。由于你对于该系统没有任何信息,所以你会倾向于认为硬币出现正面和反面是等可能的,即p1=p2=0.5,这个时候申农熵最大。然后,我把手张开,你看到了硬币是反面,于是你得到了p1=0,p2=1的结论,再次计算申农熵,会发现现在它等于0了。也就是说,你对系统了解的过程就相当于是一个让申农熵不断减小的过程。

更明显的一个例子是叫做“21问”的小游戏。例如我脑子中想出一个人,让你猜他是谁。而你每次只能问一些一般疑问句,因为我只能用是或否来回答你的问题。这样你会通过不断问一系列问题而猜出我想的人是谁。例如,你会问这个人是男的吗?我说是。你再问,他还活着吗?我说否……。

用申农的模型来看,在最开始的时候你对这个人一无所知,就相当于你对此人的信息为0,即申农熵最大。当你每次问一个问题得到答案的时候,就相当于你获得了这个人的一个特征,因此改变了一次概率分布,同时使得申农熵减小了一些。最后,你知道了那个人是谁,于是系统完全确定了,申农熵变为了0。所以,我们对系统的观察获得信息就会伴随着该系统的申农熵减小

“主观”统计物理

当熵的理论形式发展到信息论的时候,客观物理世界已经开始深深地与观察主体的主观世界联系到一起了。信息量其实就是一种针对主体而言的“主观量”。那么,这种认识的飞越又有什么意义呢?

20世纪中叶的物理学家吉尼斯(Jaynes)向我们展示,这种对系统的“主观”认识可能更加本质、透彻。因为,它从信息论出发,可以反过来推导出整个统计物理。而且,这种推导方法比早先的统计物理更加简单、明了(参见Jaynes的文章《Information theory and statistical physics》)。

针对一个具体的物理系统,人们对它的认识相当于是去猜一个概率分布,这个分布如何导出呢?由于我们对该系统一无所知,所以我们实际上就是要最大化该系统的申农熵。也就是说,吉尼斯把信息熵的最大化当作一条公理加进了统计物理中。当然,对于实际的物理系统,我们还知道另外一些宏观的性质,例如该系统的平均能量等一些可观测宏观量,那么这些信息都当作是最大化信息熵过程中的约束条件。最终,我们会得到系统的确切的概率分布,而这个分布就能够很好的预测整个系统的性质。

在这套统计物理中,玻尔兹曼的各态历经假说被最大化信息熵所替代。我们仍然需要一个公理来解释统计物理。而最大信息熵的含义相当于我们对系统了解最少,也相当于自然系统的一种最可能状态。或者用中国学者张学文的话说,是一种自然系统最复杂的状态

虽然信息论和统计物理理论哪一个更加根本,我们无从得知。但是吉尼斯思路的简洁性非常值得我们认真思考。毕竟我们对客观世界的认识全部都来源于我们观察者所做的主观判断。所以,吉尼斯甚至认为统计物理只不过是一种算法而已。很多人不喜欢吉尼斯的思路,认为他过于主观,而且他并没有给出任何全新的结论。但是,我们将在下几章展示,当把吉尼斯的主观统计物理运用到非平衡态的时候,会得到一套全新的结论。

总结来看,这一章用一系列简单的例子介绍了从玻尔兹曼熵到吉布斯熵再到申农熵的过程。熵究竟是什么?本章介绍的探索历史本身就是一个对这一概念的逐渐深化认识过程。如果非要用一句话来回答这个问题,我宁愿说,熵其实就是一条连接的纽带。玻尔兹曼熵连接的是宏观与微观;申农熵连接的是主观世界与客观世界。在这条纽带面前,被传统科学割裂得很深的主客观分离的界限已经变得逐渐模糊。正是基于这种信念,吉尼斯才提出了一套非常不同的“主观”统计物理学。

我们关心的热力学第二定律、时间之箭的问题又怎样呢?尽管历史上很多伟人都试图从经典物理出发而给出热力学第二定律新的解释,但是,他们却或多或少的引入了新的假设。例如玻尔兹曼和吉布斯的统计物理都需要各态历经假设,吉尼斯的统计物理需要引入自动最大化熵的假设。我们是否能够摆脱这些假设而完全理解时间之箭之谜呢?我倾向于不太可能,这恰恰是复杂系统的涌现概念所刻画的。对于系统的不同层次我们需要不同的描述。时间之箭就是这种不可化约为微观物理的一种涌现属性。吉尼斯的统计解释告诉我们,这种不可逆的涌现性质其实可以解释为我们对世界的一种主观的倾向,即最大化信息熵。

相关页面