纪念信息论之父香农的最好方式,莫过于重温一下他怎样定义信息熵的数学思想,去理解现代信息论这个基本概念——仅用初等代数即可推导,令人赏心悦目,流连忘返!
确定性过程在数学里是司空见惯的现象。众所周知,一个函数的迭代过程是确定性的,因为下一个迭代点完全由当前已知的迭代点唯一地确定。譬如混沌学中著名的逻辑斯蒂模型 f(x) = 4x(1-x),当 x 等于 0.1 时的函数值必为 0.36,而不会等于 0.35 或 0.37。同样,一个微分方程初值问题的解也是确定性的:解在任一时刻的值是唯一确定的一个数。
然而,和确定性现象一样,随机现象在自然界也是到处可见的。小孩子们喜欢猜硬币正反面的游戏:将一枚五分钱的平整硬币在桌上旋转,然后猛地用手把它拍倒按住,猜猜是钱的正面朝上还是反面朝上。即便旋转过一百次都是正面朝上,第一百零一次旋转后,硬币正面朝上的或然率还是同一个概率值:1/2。这就是典型的随机性,它意味着试验结果是不可确定的。
如果历史上英国铸币局(牛顿曾在这里当了几十年的局长)把钱币故意制成一个圆锥体陀螺形状,那么无论怎样旋转,待它最终停转时总是站在那里,也就是说正面总是朝上,这就是一个确定性的例子——旋转结果是可以预测的。人们认识到随机性的历史也许比数学史本身还要长,甚至可能就等于人类自己的历史——毕竟,孕妇肚子里怀的是儿子还是女儿,本身就是一个不可预测的随机事件问题。
不确定性作为自然的基本属性,应该怎样用数学的语言去刻画呢?“熵”就是关于不确定性的一个极好的数学描述。历史上的熵概念起源于热力学。凡是学过热力学、统计物理或物理化学的人对“熵”这一术语都不陌生,但是这一概念发展的初始阶段却跟混沌思想并无任何历史瓜葛。实际上,当熵的名词诞生之时,混沌之祖庞加莱(Henri Poincare, 1854-1912)还只是一个乳臭未干的少年。
当熵的触角从宏观的热力学伸展到微观的统计力学之后,才逐渐拉近它和混沌概念的距离。二十世纪中叶的一场信息论革命,无意中在古典熵的旧作坊内又酿造出醇香的新酒。
十九世纪是物理学家大显身手的世纪。如果说十七世纪是宏观力学的乐园,十九世纪则是微观力学的会所。热力学和统计力学把眼光由外向里地从机械能转向到内能,熵概念的缓慢演化覆盖了那个世纪后半叶的前三十年。
1865年,热力学奠基人之一、德国物理学家和数学家鲁道夫 • 克劳修斯(Rudolf Julius Emanuel Clausius, 1822-1888)第一次使用了“熵(entropy)”(从意指“变换容度”的希腊词τροπή派生而来)作为热力学的专用名词,并赋予其数学形式。
他用“Sadi”的第一个大写字母S作为熵的记号,大概是为了纪念熵理论先驱者之一、法国工程师萨迪 • 卡诺(Nicholas Leonard Sadi Carnot, 1796-1832)。他写道:“按照希腊词τροπή (trope) 的意思,我将S这个量称为系统的熵。
我特别取熵这个词是为了让它与能量这个词尽可能相像:这两个词所表达的两个量在物理上如此密切相关,把它们的名字写得类似完全是合情合理的。”
他的一句名言“宇宙之熵趋于无穷”是热力学第二定律在孤立系统中无能量消耗情形下的推论;他的另一句断言“宇宙总能量不变”则是能量守恒定律的通俗说法。
信息熵对需要交流的人类而言,通讯犹如吃饭睡觉一样重要。
就像人类不断探索水稻增产一样,不断改进通讯质量与速度的科学研究一直是全世界方兴未艾的事业。
1948年,博士毕业后就在贝尔实验室里研究通讯技术的电子工程师克劳德 • 香农(Claude Shannon, 1916-2001)在《贝尔系统技术杂志》(Bell System Technology Journal)上分两期发表了他一生中也许是最有名的一篇论文:《通讯的数学理论》(A mathematical theory of communications, 1948),引入了一条全新的思路,震撼了整个科学技术界,开启了现代信息论研究的先河。
在这一伟大的贡献中,他引进的“信息熵”之一般概念举足轻重:它在数学上量化了通讯过程中“信息漏失”的统计本质,具有划时代的意义。
香农生于美国密歇根州,本科毕业于“美国大学之母”密歇根大学。他儿时崇拜的英雄人物是大名鼎鼎的、造福全人类的美国大发明家托马斯 • 爱迪生(Thomas Alva Edison, 1847-1931),后来他发现这位英雄是他家的一个远亲。
二十岁本科毕业时,他拿回了电子工程和数学两张学士文凭。而他在密西根大学修课时接触到英国数学家和哲学家乔治 • 布尔(George Boole, 1815-1864)最有名的工作“布尔代数”,成就了他二十一岁在麻省理工学院完成的题为《中继及开关电路的符号分析》(Symbolic analysis of relay and switching circuits,1937)的硕士学位论文。
有人说这是二十世纪甚至人类历史上最有价值的硕士论文,因为它用布尔代数的理论首次表明对付真假李逵的“符号逻辑”与对付电路开关的“0-1数字”具有一致性,从而论证了数字计算机和数字线路的逻辑设计之可能性。
香农最初并没有借用“熵”这个词汇来表达他关于信息传输中的“不确定性”的度量化。他甚至都不太知晓他所考虑的量与古典热力学熵之间的类似性。
他想把它称为“information(信息)”,但又认为这个名词太过大众化,已被普通老百姓的日常话语用滥了。他又考虑过就用单词“uncertainty(不确定性)”,但它却更像抽象名词,缺乏量化的余地,确实难于定夺。终于有一天,他遇见了天才的数学家冯 • 诺依曼(John von Neumann, 1903-1957)。真是找对了人!冯 · 诺依曼马上告诉他:就叫它熵吧,这有两个好理由。
一是你的不确定性函数已在统计物理中用到过,在那里它就叫熵。第二个理由更重要:没人真正理解熵为何物,这就让你在任何时候都可能进能退,立于不败之地。
香农的信息熵本质上是对我们司空见惯的“不确定现象”的数学化度量。譬如说,如果天气预报说“今天中午下雨的可能性是百分之九十”,我们就会不约而同想到出门带伞;如果预报说“有百分之五十的可能性下雨”,我们就会犹豫是否带伞,因为雨伞无用时确是累赘之物。显然,第一则天气预报中,下雨这件事的不确定性程度较小,而第二则关于下雨的不确定度就大多了。
对于一般的不确定事件,我们怎样数学地刻画它的不确定程度呢?
设想有 n 个“基本事件”,各自出现的概率分别为 p1, p2, …, pn,则它们构成一个样本空间,可以简记为所谓的“概率数组”(p1, p2, …, pn)。样本空间最简单的例子是我们上面提到的抛硬币游戏,它只有两个基本事件:抛硬币结果是“正面朝上”或“反面朝上”,其中每个事件的概率均为 1/2,其对应的样本空间为(1/2, 1/2)。
如果铸币厂别出心裁地将硬币做成两面不对称,使得抛硬币时正面朝上的概率增加到 7/10,而反面朝上的概率减少到 3/10,则对应的样本空间就是(7/10, 3/10)。
如果我们用符号 H(1/2, 1/2)来表示第一个样本空间的不确定度,用数 H(7/10, 3/10)代表第二个样本空间的不确定度,那么直觉马上告诉我们:数 H(1/2, 1/2)大于数 H(7/10, 3/10),也就是前者比后者更加不确定。
更一般地,若用 H(p1, p2, …, pn)记样本空间(p1, p2, …, pn)所对应的不确定度,运用同样的直觉分析,我们相信当所有的基本事件机会均等,即都有同样的概率 1/n 时,其不确定度最大。
因而,不确定度函数 H 应该满足如下的基本不等式:对所有的加起来等于 1 的非负“概率数” p1, p2, …, pn,H(p1, p2, …, pn) ≤ H(1/n, 1/n, …, 1/n)。如果我们不抛硬币,而像澳门赌场的常客那样掷骰子,每掷一次,小立方骰子的每一个面朝上的概率均为 1/6。想一想就知道,某个指定面朝上的不确定度应大于玩硬币时正面或反面朝上的不确定度。
将这个直观发现一般化,我们就有不确定度函数 H 应该满足的单调性要求:H(1/n, 1/n, …, 1/n)是自然数 n 的严格递增函数。
假设物理系赵教授、数学系钱教授和孙教授竞争理学院的一笔科研基金,他们每人申请成功的概率分别为 1/2、1/3、1/6。院长为求公平,让每个系得此奖励的机会均等。若物理系拿到资助,就到了赵教授的名下。
如数学系得到了它,钱教授有 2/3 的概率拿到,孙教授则有 1/3 的机会到手。通过分析“条件概率”,我们能得出不确定度 H(1/2, 1/3, 1/6)的数值:这三个教授获得基金的不确定度,等于物理系或数学系拿到这笔基金的不确定度,加上数学系赢得该基金的概率与在数学系拿到基金的条件之下,钱教授或孙教授得到它的不确定度之乘积。
换言之,H(1/2, 1/3, 1/6) = H(1/2, 1/2) + ½ H(2/3, 1/3)。推而广之,可以得出不确定度与条件概率有关的“加权和”性质:如果一个不确定事件分解成几个持续事件,则原先事件的不确定度等于持续事件不确定度的加权和。
既然我们想用一个漂亮的数学公式来表达不确定度这一样本空间概率值函数,我们自然希望这个函数表达式和几乎所有的物理公式一样连续依赖于公式中的所有变元。这样,第四个条件就自然而然地加在了不确定度函数的头上:对固定的自然数 n,不确定度函数 H 是(p1, p2, …, pn)的一个连续函数。
香农无需什么高深的数学,甚至连微积分都可不要,就证明了:任何在所有样本空间上都有定义的函数 H,只要它满足以上的“三项基本原则”,就非如下的表达式莫属:H(p1, p2, …, pn) = -C(p1 ln p1 + p2 ln p2 + … + pn ln pn),其中符号 ln 代表以 e 为底的自然对数函数,C 可以是任意一个常数。
并可证明,条件(1)自动满足(有兴趣的读者可用初等微积分证之)。当然,熵公式的证明需要的是一种创造的头脑思维、一手精湛的代数技巧、一个巧妙的极限思想。如果 C 取成玻尔兹曼常数,它就能和当年吉布斯在统计热力学中得到的“吉布斯熵”一模一样。
香农取 C = 1,如此得到了非负函数:H(p1, p2, …, pn) = -(p1 ln p1 + p2 ln p2 + … + pn ln pn),按照冯 • 诺依曼的建议,该函数被定义为样本空间(p1, p2, …, pn)所对应的信息熵。现在,这个数被广称为“香农熵”,以纪念它的创造者、信息论之父——香农。
现在,为了满足读者追根求源的好奇心,我们在此给出一个高中生也能看懂的简单证明。
这是活学活用初等代数的好机会,我们分三步来证明:第一步:把 H(1/n, 1/n, …, 1/n)记为 A(n)。设 n = 8。
我们屡次应用上述条件来论证公式 A(2^3) = 3A(2):A(2^3) = A(2) + [2^(-1)A(2) + 2^(-1)A(2)] + [4^(-1)A(2) + 4^(-1)A(2) + 4^(-1)A(2) + 4^(-1)A(2)] = A(2) + A(2) + A(2) = 3A(2)。
运用数学归纳法就得到 A(s^m) = A(s)+s[s-1A(s)]+…+s^(-m+1)[s-(-m+1)A(s)] = m A(s)。现在假设四个正整数 t,s,n,m满足不等式 s^m ≤ t^n < s^(m+1)。求对数,有 m ln s ≤ n ln t < (m+1)ln s,即 m/n ≤ ln t / ln s < m/n + 1/n。
因而我们得到不等式 | m/n – ln t / ln s | < 1/n。由熵的条件,A(k)是k的递增函数。故条件(a)推出 m A(s) ≤ n A(t) < (m+1)A(s),继而有 | m/n – A(t) / A(s) | < 1/n。条件(b)和(c)保证了 | A(t) / A(s) – ln t / ln s | < 2/n。
既然 n 是任意的,就有等式 A(t) / A(s) = ln t / ln s,或言之,A(t) / ln t ≡ A(s) / ln s。故存在常数 C(取为 1)使得对所有正整数 t,A(t) = C ln t = ln t。因此即熵公式在 p1 = p2 = … = pn = 1/n 时成立。
第二步:我们现在证明公式对所有和为 1 的正有理数 pi 都对。
我们先用 p1 = 1/2, p2 = 1/3, p3 = 1/6 来阐述证明的思想。根据熵条件,H(1/6, …, 1/6) = H(1/2, 1/3, 1/6) + 2^(-1)H(1/3, 1/3, 1/3) + 3^(-1)H(1/2, 1/2) + 6^(-1)H(1)。
所以,H(1/2, 1/3, 1/6) = H(1/6, …, 1/6) – 2^(-1)H(1/3, 1/3, 1/3) – 3^(-1)H(1/2, 1/2) - 6^(-1)H(1)。如此的分解是为了用到第一步的结果。
如果注意到有理数的分数形式 p1 = 1/2 = 3/(3+2+1) = n1/(n1+n2+n3), p2 = 1/3 = 2/(3+2+1) = n2/(n1+n2+n3), p3 = 1/6 = 1/(3+2+1) = n3/(n1+n2+n3),上述的分解就能写成 H(p1, p2, p3) = A(n1+n2+n3) – [p1A(n1) + p2A(n2) + p3A(n3)]。
同样的道理用到一般情形 pi = n_i / (n1 + … + nk),则有等式 H(p1, p2, …, pk) = A(n1 + … + nk) - [p1A(n1) + … + pkA(nk)]。由上面的第一步,A(n) = ln n。
代入到上式,给出 H(p1, p2, …, pk) = ln(n1 + … + nk) – (p1 ln n1 +…+pk ln nk) = (p1 +…+pk) ln(n1 +…+nk) – (p1 ln n1 +…+pk ln nk) = –[p1 ln(n1 / (n1 +…+nk))+…+pk ln(nk/(n1 +…+nk)) ]= –(p1 ln p1 +…+pk ln pk)。
第三步:既然熵公式对所有和为 1 的所有正有理数成立,连续性条件推出它对所有和为 1 的非负实数成立。这就完成了证明。
柯尔莫果洛夫熵不到十年,香农熵就在离散动力系统的练武场上大展身手。这主要归功于三十年代就建立了公理化概率论的俄罗斯数学巨人柯尔莫果洛夫(Andrey N. Kolmogorov, 1903-1987)和他在遍历理论领域的最佳弟子西奈依(Yakov G. Sinai)。
五十年代中期,柯尔莫果洛夫在考虑遍历理论的“共轭不变量”这一基本问题时开创了“度量熵”的理论,而他的门徒西奈依的工作则使得它日臻完美。度量熵揭示了一般非线性函数迭代最终走向的动态性质,从而和稍迟一点发展的混沌理论融合了起来。
柯尔莫果洛夫堪称俄罗斯民族二十世纪的庞加莱,在国际数学界备受尊崇。他的父亲于沙皇时期投身革命,被圣彼得堡当局驱逐,最后消失在内战之中。
因母亲在生产过程中不幸去世,他随姨妈在富有的贵族外祖父的庄园中长大,并受到很好的早期教育。比冯 • 诺依曼大八个月的柯尔莫果洛夫一样是一个历史爱好者。十七岁进入莫斯科大学后,他参加了俄罗斯著名历史教授的讨论班,并写出了他一生中的第一篇论文,研究内容不是数学,而是四个世纪前的俄国一个城市的发展史。他颇为得意地问教授,该文可否发表?出乎他意料的回答是:“肯定不行!
你的论据只有一个,对历史学而言太少了,起码得有五个论据才行。”这位严谨的教授应该成为国内某些发表论文心切的人文科学工作者的大楷模。但也正是这位打击学生信心的历史教授在无意之中把柯尔莫果洛夫推向了另一个五六岁时就萌芽的至爱,并令他矢志不渝——因为在数学中定理只需一个证明就够了!
几乎在精心研究俄国历史的同时,年纪轻轻的柯尔莫果洛夫证明了集合论以及三角级数的几个结果。
尤其是在1922年,他构造出一个几乎处处不收敛的三角级数,一下子成了令人瞩目的国际数学新星。在那一时刻,他立马决定“把一切献给数学”,他的决心就像兵工英雄吴运铎《把一切献给党》一样坚定。
在半个世纪的数学生涯中,柯尔莫果洛夫大大推进了现代数学的许多分支领域的发展,如函数论、概率论、直觉主义数理逻辑、泛函分析、拓扑学、随机过程、经典力学、紊流、遍历理论、计算复杂性等等,被公认为二十世纪全人类最伟大的数学家之一。
如果美国数学史家贝尔晚生五十年,也许他那本大作《数学大师:丛芝诺到庞加莱》会以柯尔莫果洛夫作为压轴戏,将他称为“最后的全能数学家”,而庞加莱则变成历史上“倒数第二个全能数学家”。西方物理学界有伟大的导师费米带出了一大批杰出的学生,甚至有好几个得了诺贝尔奖,可是西方没有哪个数学家会像柯尔莫果洛夫那样培养或影响一个接一个的天才学生。
上世纪六十年代初曾让美国数学新星、1966年菲尔兹奖获得者斯梅尔惊羡的“动力系统四大才子”中的阿诺德和西奈依便是他的弟子。除此之外,柯尔莫果洛夫成果最辉煌、名声最响亮的学生是没有上过高中和大学就直接成为其博士生的犹太人伊斯雷 • 盖尔芳德。
在与其名Israil只有一个字母之差的犹太国度Israel(以色列),盖尔芳德和“物理女王”吴健雄一同站在了第一届沃尔夫奖的领奖台上,甚至比他的老师还早了两年获此殊荣。按照华东师范大学数学系教授张奠宙在其著作《二十世纪数学经纬》中所统计的,柯尔莫果洛夫直接指导过的学生有六十七人之多,可媲美孔子“贤弟子七十二”的记录,其中有十四人被选为苏联科学院院士或通讯院士,堪称中国孔圣人的强劲对手。
东方数学界里,在培养学生方面或许能和柯尔莫果洛夫有“最佳逼近”距离的是中国最伟大的数学家华罗庚。他门下的数论学家陈景润证明了离哥德巴赫猜想最近的“1+2”情形,这一传世工作让二十世纪六七十年代的世界数学界再次对中国刮目相看。华罗庚的其他杰出弟子,如解析数论的王元、多复变函数论的陆启铿和龚升、抽象代数学的万哲先等,都是在国际上颇有影响的纯粹数学家。
让我们再回到玩硬币的游戏,来经历一次柯尔莫果洛夫开发度量熵的思想之旅。但是,这一次我们不只注意抛一次硬币正面朝上或反面朝上的结果,而是一口气抛上好几次看看有多少种可能性发生。比如连续上抛两次,就有四种可能结果出现:正正、正反、反正、反反。因为第一次抛硬币结果对第二次结果毫无影响,它们是相互独立的,因而四种结果的每一次可能性均为四分之一。
国外硬币的正面通常是本国名人头像,如美国放的就是历史上最伟大的几个总统。一分硬币(左)上面是亚伯拉罕 • 林肯,五分硬币(下)上面马斯 • 杰弗逊,一角硬币(上)上面是弗兰克 • 罗斯福,一元硬币(右)上面乔治 • 华盛顿。
为简化书写,我们用英文字母 H(Head,头)代表正面朝上,T(Tail,尾)代表反面朝上,这样两次抛硬币的所有可能性可以简记成:HH, HT, TH, TT。
更一般地,若连续地抛上 n 次硬币,则有 2^n 个可能结果,每一个结果的概率均为 1/2^n。每一个结果都是一个基本事件,我们就有了一个包含 2^n 个基本事件的样本空间 (1/2^n, 1/2^n, …, 1/2^n),其香农熵的值为 n ln 2。
我们的直觉是,无论抛了多少次,对下一次的结果我们仍然心中无数。作为一个极端例子,假如抛了一百万次都是头像朝上,第一百万零一次呢?头像朝上还是尾巴朝上?阁下打赌的胜率如何?柯尔莫果洛夫对下面的问题大感兴趣:倘若已知连续抛了 n 次硬币的结果,接下来抛第 n+1 次的结果的不确定度到底是什么?
让我们再来一点数学思维吧。数学家爱数字胜于爱符号。
正如美国物理学家费恩曼生前所经常回忆到的,他那善于培养孩子好奇心的父亲很早就告诉他:知道事物的名称并不重要,重要的是知道其内容。熵在英文里叫entropy,在德文或法文里都是entropie,在俄文里是eнтропия。即便认得一百种语言的名词“熵”,却对它的意义知之甚少或一无所知,甚至不以为然,这只有孔乙己才可能做得到,或培养出孔乙己的私塾先生喜欢这样做。
可是目前我们学校的一些教育方式本质上就是在这么做。
知道事物的名称并不重要,重要的是知道其内容。我们用数字 0 代替 H,数字 1 代替 T。然后连续 n 次抛硬币的结果可用小数 0.a1a2…an 来代表,其中小数点后面的每个数字非0即1。而这个数实际上可看成是 0 和 1 之间的一个数 x 的“二进制表示”。
我们的双手有十个指头,日常生活中,我们最喜欢十进制了,它是如此的方便,不懂算术者也可扳扳指头计算。但是,如果一位学过计算机原理的人告诉我们 11 可以表示“周期三意味着混沌”中的那个数 3,我们可能以为他是瞎说。不,他是对的,因为他用的是计算机中央处理器内运算所用的二进制!二进制最早在莱布尼兹的著作中出现,他可称为人类历史上首位计算机科学家!
十进制中,我们“逢十进一”,而在二进制中,就要“逢二进一”了。这样,在二进制中,自然数从小到大排列的前几个数是 1,10,11,100,101,它们分别是我们习以为常的十进制数 1,2,3,4,5。
我们从小学的算术熟知,在十进制中小数 0.31416 可以被展开成“有限项级数”形式:0.31416 = 3/10 + 1/10^2 + 4/10^3 + 1/10^4 + 6/10^5。
以此类推,在二进制中小数 0.10011 有展开式 1/2 + 0/2^2 + 0/2^3 + 1/2^4 + 1/2^5。这样,每一个二进制小数 x = 0.a1a2…an 都可以写成 x = 0.a1a2…an = a1/2 + a2/2^2 + … + an/2^n。
现在我们把区间 [0,1] 一分为二:左边的半个区间 [0,1/2) 和右边的半个区间 [1/2,1]。
注意,为了叙述严格起见,这两个子区间前一个是“左闭右开”的,后一个是“双边都闭”的,它们的交集为空集,亦即没有共同的元素。显而易见,若 a1 为 0,则 x 属于 [0,1/2),若 a1 是 1,则 x 位于 [1/2, 1] 之中。想想看,如果 a1 = 1 并且 a2 已知,怎样确定 x 的位置?
我们可以借用把 [0,1] 区间映到自身上的一个逐段线性的“加倍函数”来解释连续抛硬币的数学游戏。这个函数的定义是:当 x 大于或等于 0 并且小于 1/2 时函数值为 2 乘上 x,而当 x 大于或等于 1/2 并且小于或等于 1 时函数值为 2 乘上 x 再减去 1。更简单地说,这个函数就是将自变量加倍,再丢掉结果的整数部分。
它的简洁表达式就是 f(x) = 2x (mod 1),其函数图像是两条斜率是 2、彼此平行的斜线段。它是保持长度的,意思是任何子区间和它在 f 下的逆像都有相等的长度。一个区间在函数下的逆像是函数定义域中所有那些数的全体,这些数的函数值都落在该区间内,它可以通过函数图像画水平、垂直线得到。这个加倍函数不是处处连续的,在区间的中点 1/2 处有个跃度为 1 的跳跃性间断,这从图像上一眼就知。
用更专业的术语讲,它是一个“勒贝格可测函数”。加倍函数和逻辑斯蒂模型一样,都是混沌学家教书时宠爱的混沌例子。
这个函数的赋值都离不开乘以 2,肯定与二进制运算有点什么瓜葛。事实上,由二进制数的展开式容易看出,当 x 写成二进制数 0.a1a2…an 时,f(x) = 0.a1a2…an = a2/2 + a3/2^2 + … + an/2^n。
因此,a2 等于 0 隐含着 f(x) 属于 [0,1/2),a2 等于 1 意味着 f(x) 属于 [1/2,1]。一般来说,若 x 的第 i 个数字 ai = 0,则 x 的第 i-1 个迭代点 f^(i-1)(x) 属于 [0,1/2),若 ai = 1,则 f^(i-1)(x) 属于 [1/2,1]。
这样,连续抛硬币的结果就可由点列 x, f(x), f^2(x), … 在区间 [0,1] 的划分 {[0, 1/2), [1/2,1]} 中的“地址”来代表。例如,结果 TTHTHTTT… 对应于数 x = 0.11010111…,所以 x 位于 [1/2,1],f(x) 位于 [1/2,1],f^2(x) 位于 [0,1/2),f^3(x) 位于 [1/2, 1],等等。
如上所知,知道连续抛了 n 次硬币的结果就等价于知道了前 n 个点 x, f(x), …, f^(n-1)(x) 在划分 {[0,1/2),[1/2,1]} 中的位置,而第 n+1 次结果是 H 还是 T 等于是问点 f^n(x) 是否落于 [0,1/2) 或 [1/2,1] 之中。
于是,柯尔莫果洛夫把关于连续抛硬币结果的不确定度问题归结于关于加倍函数 f 的迭代点位置的不确定度问题:如果已知 x, f(x), …, f^(n-1)(x) 在区间 [0,1] 的划分 P = {[0,1/2), [1/2,1]} 中的地址,f^n(x) 在同一划分中的位置的不确定度是多少?
计算这个不确定度需要先算出关于划分 P 在函数 f 下从零阶直到 n 阶的“逆像划分”P,f^(-1)(P),f^(-2)(P),…,f^(-n)(P),然后不厌其烦地使用一些代数计算。最后,适用于有限个基本事件样本空间的香农熵公式的漂亮应用就让以上问题的解召之即来。
动力系统寻找的是过程的终极行为。当自然数 n 走向无穷大时,上述不确定度的极限值就被称为函数 f 关于划分 P 的熵。
这个熵值依赖于函数定义域区间 [0,1] 的划分。该定义域可以被划分为任意有限多个彼此互不相交的子集之并,而不同的划分一般给出不同的熵值。
定义域的所有划分所对应的熵的“最大值”(更严格地说,是对应于所有的有限划分的熵值之“最小上界”,因为无穷个数放在一起可能找不到最大数,比如所有比 3 小的正数没有最大值,但其最小上界为 3)就叫做 f 的柯尔莫果洛夫熵,又称为测度熵或度量熵,因为它用的是勒贝格所开创的一般测度论工具来度量保测函数迭代最终性态的混乱程度。
我们用来描绘硬币游戏的这个加倍函数的度量熵等于 2 的自然对数:ln 2。
请注意,这是一个正数。如今动力学家们都已知道,具有正熵的确是混沌动力系统的一个典型性质。同法可知,将自变量增加六倍后再丢掉结果整数部分的“六倍函数”(数学上这个函数可写成 6x(mod 1) 的形式,图像是六根斜率为 6 的平行斜线,其不连续点为 1/6, 1/3, 1/2, 2/3, 5/6),它的测度熵则为 ln 6。六倍函数可以看成是掷六面骰子(有六种均等机会出现)结果之不确定度。
“十倍函数” 10x(mod 1) 的熵是 ln 10,而“百倍函数” 100x(mod 1) 的熵则跳到 ln 100 了,依次类推。倍数越提高,熵值越变大,不确定度就越可观,这就是为何在无线通讯中,工程师们常用高度混沌的“高倍函数”参与信号的传输。
柯尔莫果洛夫熵是遍历理论中的一个极其有用的共轭不变量,即彼此共轭的保测函数共享同一熵值。
事实上,早在1943年,人们就已经知道以概率论先驱雅各布 • 伯努利名字命名的、定义在0、1两个符号构成的双向序列符号空间上的“(1/2,1/2)-双边移位”和定义在0、1、2三个符号构成的双向序列符号空间上的“(1/3,1/3,1/3)-双边移位”都具有数目和自然数一样多的“勒贝格谱点”,因而它们两兄弟是谱同构的。
但数学家们一直弄不清楚它们是否也共轭,即:这两个符号空间之间是否存在一个保测同构,使得一个位移与它的复合运算和它与另一个位移的复合运算结果完全是一码事?1958年,正当遍历理论家们为这个基本的未决问题绞尽脑汁之时,柯尔莫果洛夫刚刚产下了的“熵”马上派上了大用场:他经过计算发现这两个伯努利双边移位具有不同的熵值,前一个为 ln 2,后一个则为 ln 3,故它们不可能是共轭等价的。
大数学家的手一旦扭转乾坤,共轭难题的一旦解决,熵马上成了动力系统行家们争相一抱的宠儿。很快,基于紧拓扑空间有限开覆盖概念、用于探索连续函数迭代渐近性态的“拓扑熵”在柯尔莫果洛夫熵的思想指引下由西方数学铺子的三大“铁匠” R. Adler, A. Konhein 和 M. McAndrew 锻造出炉,并和柯尔莫果洛夫基于测度概念的“度量熵”密切相关,成为研究拓扑动力系统混沌性质的好工具。
只要把紧拓扑空间的有限开覆盖中的每个开子集看成所谓的波雷尔可测集,拓扑熵和柯尔莫果洛夫测度熵的数学推导过程颇为类似;文末参考文献给出了一个初等的推导。举一个简单的例子,著名的混沌映射之一“帽子函数”有拓扑熵 ln 2,它也等于其柯尔莫果洛夫熵。
玻尔兹曼熵可以看成是离散形式的香农熵在连续形式下的对等物。
让我们回忆一下,对应于有限样本空间(p1, p2, …, pn)的香农熵为 H(p1,p2,…,pn) = – (p1 ln p1 + p2 ln p2 + … + pn ln pn)。它看上去像某个被积函数的黎曼和。这引导我们走向定义一般密度函数的玻尔兹曼熵。为避免使用高深的测度论语言,我们只考虑 [0,1] 区间上的可积函数全体,用符号 L1(0,1) 表示。
这里的积分应该指的是数学系大三或大四才学的实变函数论里的勒贝格积分,但低年级的大学生可以把它想象成初等微积分中的黎曼积分;至少对连续的函数,这两种积分是一样的。
可积的非负函数并且积分值为 1 则称为密度函数。设 f 是一个密度函数。它定义了 [0,1] 上的一个概率空间,可以视为一个无穷的样本空间。类似于信息熵的定义,我们把数 H(f) = – ∫[0,1] f(x) ln f(x)dx 称为 f 的玻尔兹曼熵。这里的积分中,当函数值 f(x) 为 0 时,被积函数值 f(x) ln f(x) 理解为 0。
我们还记得第一节中提到的基本函数 x ln x 以及这个函数的凸性所推出的吉布斯不等式 u – u ln u ≤ v – u ln v, 任给 u, v > 0。从这个不等式马上就可推得(请读者证明):任给两个密度函数 f 和 g,有积分不等式 -∫[0,1] f(x) ln f(x)dx ≤ -∫[0,1] f(x) ln g(x)dx。
这个不等式可以加强到如下的不等式,但证明不易:-∫[0,1] f(x) ln f(x)dx ≤ ∫[0,1] |f(x) – g(x)|dx。上式左边的表达式通常称为 f 关于 g 的条件熵。
我们已知对信息熵有最大值原理,即对所有的样本概率(p1, p2, …, pn),H(p1, p2, …, pn) ≤ H(1/n, 1/n, …, 1/n)。
上述的积分不等式可以用来证明玻尔兹曼熵的类似性质:常数密度函数 f0(x)≡1 取所有玻尔兹曼熵的最大值;该最大值为 0。证明相当简单:任给一个密度函数 f,由不等式,我们有 H(f) = –∫[0,1] f(x)ln f(x)dx ≤ –∫[0,1] f(x) ln f0(x)dx = 0 = –∫[0,1] f0(x) ln f0(x)dx = H(f0)。
上述证明的思想可以推广到更一般区间上的玻尔兹曼熵最大值问题。比如说,考虑定义在无穷区间 (-∞,∞) 上并满足条件 ∫(-∞,∞) x f(x)dx = 0, ∫(-∞,∞) x^2 f(x)dx = 1 的所有密度函数,它们构成的集合用 D0 表示。则概率论中名气最大的高斯密度函数 f0(x) = e^(-x^2/2) / √(2π) 在 D0 上取玻尔兹曼熵的最大值。
我们如下证明之:通过直接计算易知 f0 属于 D0。在 D0 中任取一个密度函数 f,用同样的积分不等式,我们有 H(f) = –∫(-∞,∞) f(x)ln f(x)dx ≤ –∫(-∞,∞) f(x) ln f0(x)dx = –∫(-∞,∞) f(x)[ln e^(-x^2/2) – ln √(2π)] dx = 1/2 + ln √(2π) = H(f0)。
如果换成区间 [0,∞),则同理可证:固定一个正常数 λ,则密度函数 f0(x) = λe^(-λx) 在定义在区间 [0,∞) 上并满足条件 ∫[0,∞) x f(x)dx = 1/λ 的所有密度函数中取最大的玻尔兹曼熵值 1 – ln λ。
这些比较具体的最大熵结果可以推广成下面的一般最大熵定理(依然只对 [0,1] 区间情形而言):最大熵定理:设 g1, g2, …, gk 为 [0,1] 上的有界函数,m1, m2, …, mk 为给定正常数。
若存在数 r1,r2,…,rk 使得等式 ∫[0,1] g_i(x)e^(r1g1(x)+r2g2(x) + … + rkgk(x))dx/∫[0,1] e^(r1g1(x)+r2g2(x)+…+rkgk(x)) + … + rkgk(x)dx = m_i 对 i = 1, 2, …, k 都成立,则密度函数 f0(x) = e^(r1g1(x)+r2g2(x) + … + rkgk(x)) / ∫[0,1] e^(r1g1(x)+r2g2(x)+…+rkgk(x)) + … + rkgk(x)dx 在定义在区间 [0,1] 上并满足条件 ∫[0,1] g_i(x) f(x) dx = m_i, i = 1,2,…,k 的所有密度函数中取最大的玻尔兹曼熵值。
证明同样基于积分不等式,有兴趣的读者可以补上。特别,当 k = 1 且 g 被看作系统的能量时,上述定理中的最大熵密度函数 f0(x) = e^(rg(x))/∫[0,1] e^(rg(x))dx 恰好是热力学中的吉布斯标准分布函数,其分母的正数 z = ∫[0,1] e^(rg(x))dx 是相应的划分函数,而最大熵 H(f0)=ln z + rm 则为著名的热力学熵。
1957年,美国物理学家埃德温 • 杰恩斯在他分两次发表、至今已被引用了将近12000次的论文《信息论与统计物理》中首次提出了“最大熵原则”。这个原则大致是说,当一个未知的概率密度函数的某些“可试验信息”(例如有限多个的矩量或期望值)已知但却不能唯一地确定该密度函数时,合理采用的未知密度函数最佳逼近应是具有最大玻尔兹曼熵的那个密度函数,因它最不带有“偏见”(least biased)。
根据最大熵定理,这个具有最大熵的密度函数不光是存在的,而且它可以通过矩量函数的某个线性组合与指数函数的复合函数,再标准化成一个密度函数来得到,只要这个特殊形式的密度函数具有和未知密度函数一模一样的那些已知矩量值。
这样一来,杰恩斯的最大熵原则成就了数值重获未知密度函数的一个叫做“最大熵方法”的计算程式。事实上,六十年来,这是数学物理学家和工程师经常采用的一种“密度计算法”。
杰恩斯终生在美国圣路易市华盛顿大学任教,1984年,物理系浓厚的最大熵氛围熏陶出一位名叫劳伦斯 • 米德的博士。退休前他和笔者在同一所大学执教并合写过文章,是个很会教书、获得过两次校级教学奖的物理教授。米德一生中最有名的研究工作大概就是获得博士学位那年在《数学物理杂志》上发表的一篇合作论文,至今为止每年都有不少人引用。
在这篇题为《矩量问题中的最大熵》的文章里,作者证明了最大熵方法的弱收敛性,而这种收敛性对于物理学家考虑的许多问题来说已经是绰绰有余了。数学家则感到不够劲,于是就有两位加拿大的数学家乔纳森 • 博旺和艾德里安 • 刘易斯在九十年代初严格证明了最大熵方法的强收敛。
在最大熵方法中,传统的做法基本上是用单项式 1, x, x^2, …, x^n 来计算密度函数的对应矩量,但在计算数学家的眼里,这是代价极大的数值处理,因为算法极不稳定,用数值代数学家的行话说就是“条件数太大了”。难怪物理学家们能用到十来个矩量就感觉不得了了。对孜孜以求数值收敛性的计算数学家们来说,这怎么能过瘾呢。于是,一个新的想法应运而生:把有限元的逐段多项式思想与最大熵原则相结合。
这个算法借用了有限元空间基底函数“一的分解”的好性质,第一次用到与混沌有关的“不变密度函数”的数值计算上,条件数出奇地小,并且用到一百个甚至一千个矩量值也不在话下。如今,五花八门的熵:信息熵、度量熵、拓扑熵、玻尔兹曼熵,加上定量刻画“对初始条件敏感性”的李亚普洛夫指数,再加上遍历性、混合性、可递性等用统计观点看混沌的基本概念,一起组成了混沌、分形领域里克敌制胜的十八般兵器。