什么是信息?
我们经常听说现在是信息时代,你可能和我一样,也对信息的用途和意义感到困惑。手机、电视机和计算机都是“数字”的。它们的功能依赖于编码为0/1序列的信息。这些序列编码了信息。将0和1组成的序列输入特定的设备可以产生出我们想要的东西。随便翻开一本词典,都能看到将信息与获取知识关联起来的信息定义。对于信息有一种认识,即它必须对某人或某物是有用和有意义的。领导计算大原理计划的彼得·丹宁和克雷格·马爹利这样定义:“信息是用符号模式传递的意义。”这个定义相当直接,也体现了信息的另一个重要特性:那就是可以被编码,能通过各种媒介存储和传递的消息。在计算机科学以外的领域,学者们通常将信息等同于获取知识。
信息的数学定义也很有用,但是无法体现上面这种意义。利用数学定义,我们可以计算呈现在特定场合(例如特定的符号序列)中的这种东西(信息)的量,但这无法告诉我们它有多少意义,或者一个符号序列有什么用。不过如果我们知道所研究的信息是如何产生,就可以改变这个局面。对于进化系统,或者推而广之,对于能学习的系统,获取的信息必定刻画了所适应的或学习的东西的某个方面。因此如果认定信息存在本身就是为了表达某种意义,就可以在一定程度上量化意义。
量化定义是信息革命的基础,因此有必要了解一下数学家和工程师眼里的信息是什么。我们先了解一点历史。19世纪末,科学家们开始研究由原子和分子组成的粒子世界,并将这个新的视角与已经建立的热力学联系起来。古典热力学的研究对象是“系统”:边界内的物质组合。系统可以是复杂的机器,或是烧杯中的化学反应,甚至可以是房间里的空气——各种有边界的东西。所有系统都用能量、熵和物质刻画。热力学研究的是系统变化时能量和熵如何变化。热力学第一定律认为能量可以转换形式,但无法创生或湮灭。一些转换(但不是全部)可以做功。热力学中做功泛指与能量转换有关的活动。比如抬箱子、开车或是创造新的化学结构都与做功有关。在做功过程中,能量守恒,但是会转换成做功能力较差的形式。熵可以刻画一个系统做功的能力。系统的熵越大,做功的能力越差。热力学第二定律认为封闭系统的熵要么增加,要么不变,永远不会减少。这条定律很容易引起误解,因为我们平时遇到的系统很少是封闭的。当封闭系统的熵达到最大,我们就说这个系统达到了平衡态,不能继续做功。一般来说,系统会变化直至达到平衡态,然后就不再变化,除非某种外界影响作用于它(对系统做功或者增减某种东西)。
行进的汽车就是系统朝平衡态变化的例子。如果你改装一辆汽车,用气罐为发动机提供空气,用绝热的袋子收集发动机产生的所有尾气和热量,你就能有一个大致封闭的系统。这辆改装的汽车可以开动直到汽油(或空气)耗尽,然后就不能再移动,这就是处于平衡态。开车过程中系统的总能量不会改变,但汽油和(气罐中的)氧气会逐渐转化为绝热袋中的二氧化碳、水和热量。一旦汽油(或氧气)被转化完,汽车就无法再开动,除非你重新加油或补充压缩空气。将二氧化碳、水和热量放回油箱和气罐没有用;汽车需要汽油和(空气中的)氧分子提供的低熵形式的能量。一旦转化成二氧化碳、水和热量,系统的总能量不会变,但系统中能量的表现形式会退化成无法继续做功推动汽车的状态。二氧化碳和水有可能还原成汽油和氧气,但这需要消耗外部提供的低熵能量。
熵的概念可以从分子层面理解,德国物理学家玻尔兹曼和美国化学家吉布斯提供了思想和数学基础。根据这种思想,物理系统是由大量原子或分子组成,系统的状态可以用所有粒子的瞬时位置和速度来刻画。系统的所有分子在某个时刻的瞬时状态被称为微观态。由于分子不停地运动,系统也就不停地从一个微观态转换成另一个微观态。(我们看到或测量的)可观测状态实际上是测量期间许多微观态的时间平均。根据这个思想,熵实际上是系统状态所对应的微观态的数量;对应的微观态越多,熵就越高。也就是说,熵是对不确定程度的度量。熵越高,系统具体处于哪个微观态就越不确定。系统无法自发到达一些具有结构(比无结构系统的熵低)的微观态。
20世纪40年代和50年代,香农将物理学中熵的概念应用于通信。要解决的问题是如何设计一个系统可以在指定时间内传送所需数量的信息。为了解决这个问题,必须量化系统传送信息的能力。香农的基本思想由两部分组成:一个系统如果可以有多个状态,就具有携带信息的潜力;而且,可能的状态越多,一个具体的状态所含的信息就越多。香农的度量方法是基于概率。因为在给定条件下,所有可能状态的概率加起来必须等于1(必定有一个发生),可能的状态越多,平均下来任何一个特定状态发生的概率就越低。
举个例子,“the”这个词由3个字母组成,用t、h和e组成3个字母长的词有27种方式(例如thh、the和eee)。首字母为t的概率为1/3(必须是t、h和e中的一个)。同样,第2个字母为h的概率也是1/3。根据概率原理,如果事件是由子事件组成,每个子事件有独立的概率,则组合事件的概率是子事件概率的乘积。因此从一个有相同数量字母t、h和e的袋子中顺序取出3个字母刚好组成词the的概率是1/3×1/3×1/3,即1/27。再来看evolution这个词。它有9个字母长,使用了8种符号。用8种符号字母组成9个字母长的序列有8×8×8×8×8×8×8×8×8种方式(科学记数法为89)。结果为134217728。因此从装有许多字母e、v、o、l、u、t、i和n的盒子中取出9个字母刚好组成词evolution的概率为1/134217728。如果你想自己尝试,得多准备点时间!随着可能序列的长度和可能字母的数量增加,可能的序列数量增加得非常迅速。从全部26个英文字母中随机取字母组成evolution的概率是1/26×1/26×1/26×1/26×1/26×1/26×1/26×1/26×1/26,大约为5万亿分之1(12个零)。这个句子由118个字母、空格、数字和标点组成。26个字母、2个标点、2个数和1个空格(总共31个符号)组成118个符号的序列大约有1后面跟176个零这么多种可能。这是一个非常大的数,比可见宇宙中的原子数量还多,这还只是一个句子!想想整本书的可能性。
通信需要从可能的序列或状态中识别出1种。从通信工程师的角度看,可能的状态数量越多,确定下来的具体状态携带的信息就越多。文字对交流很有用,因为每个文本都十分独特——有许多种可能。一个很简短的文本也会携带很多信息。但是通信并不关心文本的意义,只关心它有多特别。
可能状态的数量、概率、文本的长度以及文本所携带的信息密切相关。长文本携带的信息比短文本多,长文本的概率也低得多。香农设定信息的度量是可加的;换句话说,如果两个文本的信息量分别为X和Y,则组合在一起的信息量应为X+Y。长度具有这个特性,但概率没有。结果发现这个问题本质上与玻尔兹曼面临的数学问题是一样的。区别在于信息系统是由符号序列组成,而物理系统则是由空间中移动的分子组成。让人难以置信的是,这两个看上去截然不同的情形却有着相似的数学框架。香农天才地认识到了这一点。
香农提出的对文本信息量的度量首先要给出所有可能状态(系统允许的每一种字符排列)的概率,并与概率本身的对数相乘,对每种可能的符号序列都计算这一项,然后将所有项相加。注释中给出了数学表达式注10。如果对数以2为底,则所有项之和就是系统的香农信息量,单位为比特。
注10 以下式子可以计算系统的香农熵:Æ=-∑pilog2(pi)。符号∑表示对n种可能状态求和,pi是第i种状态的概率,log2表示求以2为底的对数。Æ的单位为比特。这个公式用起来很简单。假设系统有2种可能的状态,则公式变成Æ=-[p1log2(p1)+p2log(p2)],其中p1为状态一的概率,p2为状态二的概率。如果两个状态的概率相等,则p1=1/2,p2=1/2,1/2×log2(1/2)+1/2×log2(1/2)=-1,因此Æ=1比特。只有两个等概率状态的系统携带的信息量为1比特。如果概率不相等,则Æ的值要低一些。香农将Æ称为熵,但他和其他人都将Æ视为对信息的度量。当系统所有状态的概率(pi项)相等时,Æ达到最大值。
这个度量有两种解读,取决于你的视角。从通信工程师的角度看,香农度量刻画的是系统携带信息的能力。这种观点关注的是不确定程度——系统的这个量越大,你对于文本所知道的就越少。因此香农将他的度量称为熵,与热力学中的术语一致。
从另一个角度,即你感兴趣的具体对象的角度看,香农度量可以被视为这个对象所携带的信息量(不一定是通信)。这也是这本书大部分时候采取的视角。容易让人混淆之处在于,如果你得到了具体的对象(字符串),不确定性就消失了,(从通信的角度)香农熵为0!然而,如果将具体对象放在所有未实现的可能状态的背景下考虑,则可以认为具体对象所携带的信息量等同于对象所属系统的熵。有时候也直接将对象或事件概率对数的负值定义为香农“自信息”。
(两种意义上的)香农定义的一个特点是,如果只使用2种符号(0和1),并且所有可能符号序列的概率都相等,则信息的比特量就等于序列(或对象)的长度。也就是说1000个0和1组成的字符串(例如10110100010……)携带的信息量是1000比特,除非有某种规则使得序列中1和0的概率不相等。这个例子揭示了香农信息度量与序列长度的密切关联。
如果状态的概率(注释4中给出的那些)不一样,则携带的信息量低于能够携带的最大信息量。不过概率取决于背景。它们取决于现行的规则或已知的是什么。一般可以认为不具有背景知识,直接假设各种可能的概率相等。这时一个对象的“信息量”就等于(以这个对象为具体状态的)系统的最大熵,也等于(表示为二进制的)序列的长度。为了简单起见,我通常用序列的长度作为序列可能携带的信息量。当信息表示为二进制时,长度单位为比特。这也是描述DVD容量或计算机中文件大小的度量。
香农的公式是现代通信的基础,但还有一些值得注意的地方。例如,当用于刻画对象时,它没有考虑冗余(概率原因的冗余除外)。因此,重复消息“I went to the marketI went to the market”包含的香农信息是单句的2倍。从常识来说这很愚蠢。如果你读了什么东西然后记住了,再读一次不会让你的知识翻倍。还有一个容易混淆的地方是香农信息度量与意义无关。“wtm naIt oeekh t tre”包含的香农信息与“I went to the market”一样,因为有一样的长度,用的也是一样的字母。香农度量严格基于系统可能编码的不同信息的数量和概率,与其他的无关。有一个调和日常意义的“信息”与香农信息的简单办法是将香农信息视为文本可能包含的最大信息量。实际的意义或用途可能比这个量少,甚至可能为0。
根据物理学,当分子可以在空间自由运动历经所有可能的微观态时,分子系统具有最大熵。当存在结构时,一些分子无法四处自由运动,它们被限定在特定的位置。因此在相同的温度条件下,如果原子数量和种类相同,具有物理结构的系统比不具有结构的系统有更低的熵(更低的自由度)。实际熵与抽象的最大熵之间的差值有时候被称为负熵。
符号序列中也可以存在结构。这时的结构指的是符号的非随机分布。符号不会在序列中移动,非随机指的是概率不相等。如果可以确定具体的概率,用它们计算香农熵,然后与(概率相等的)最大熵相减,就能得到与物理学中的负熵对应的信息量。这个量度量了存在的结构。
任何由多个部分组成的系统都可以用熵和信息刻画。重要的是,还有其他与信息类似的刻画系统的方法。例如,当考虑有明显内部结构的系统时,很显然一些比另一些要更复杂。结构的这方面性质接近复杂性,却没有被香农信息、熵或负熵体现出来。后面我们还会对此进一步讨论。