设想一个有限的样本空间有 n 个各自用其概率 p1, p2, … , pn 表示的基本事件,简记为 (p1, p2, … , pn)。香农用熵来数学量化这个样本空间所具有的“不确定度”,这个数就是熵函数 H 在 p1, p2, … , pn 上的值 H(p1, p2, … , pn)。不确定度和概率一样容易通过例子理解。比方说,听到气象预报员说“今天下雨的可能性是 90%”,我们大概就会出门带伞,但如果她预计“今天有50%的可能下雨”,那我们就会犹豫是否带伞。这就涉及到不确定度的比较:后者的不确定程度较大。用熵的语言来讲,就是 H(9/10, 1/10) p1, p2, … , pn,恒有H(p1, p2, … , pn ) ≤ H(1/n, 1/n, …,1/n) 。
香农并未用上述公理来推导熵公式,而只给出如下“三项基本原则”就本质上确定了熵的漂亮式子。第一项基本原则是:H(1/n, 1/n, …, 1/n) 是自然数 n 的严格递增函数。这个事实可以用玩抛硬币和掷骰子的游戏看出。每抛一次硬币,正面或背面朝上的概率均为 1/2,而每掷一次骰子,立方体每个面朝上的概率均为 1/6。我们知道,方块某个面朝上的不确定度应大于硬币正面或反面朝上的不确定度,即 H(1/2, 1/2)
第二项基本原则是:如果一个不确定事件分解成几个持续事件,则原先事件的不确定度等于持续事件不确定度的加权和。这个理解起来稍难一点,我们用例子帮助说明。假设物理系赵教授、数学系钱教授和孙教授竞争理学院习院长发放的科研基金,每人申请成功的概率分别为 1/2, 1/3, 1/6。院长很公平,让两系得奖机会均等,即获奖概率都是 1/2。若物理系拿到基金,就到了赵教授名下。如数学系得奖,钱教授有 2/3 的概率到手,而孙教授只有1/3的机会取胜。这三个教授获得院长基金的不确定度 H(1/2, 1/3, 1/6),就应该等于物理系或数学系拿到这笔基金的不确定度 H(1/2, 1/2),加上数学系赢得该基金的概率 1/2 与在数学系拿到基金的条件下,钱教授或孙教授得到它的不确定度 H(2/3, 1/3) 之乘积。换言之,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) = - (p1lnp1 + p2lnp2 + … + pnlnpn)。
由此可见,对应于样本空间 (p1, p2, … , pn) 的熵是函数 - xlnx 在点 p1, p2, … , pn 上的值之和。如果此表达式乘上热力学中著名的玻尔兹曼常数,信息熵完全就和十九世纪美国最伟大的数学物理学家吉布斯在统计热力学中得到的“吉布斯熵”一模一样。
现在展示熵公式的初等证明,无需大学知识,分三步进行。
第一步:记 A(n) = H(1/n,1/n,…,1/n)。我们通过图示
用 n = 23 引出一般结论。逐次应用上述第二项基本原则得到
A(23) = A(2) + [2-1A(2) + 2-1A(2)] + [4-1A(2) + 4-1A(2) + 4-1A(2) + 4-1A(2)]
= A(2) + A(2) + A(2)
= 3A(2)。
推而广之就有
A(sm) = A(s) + s[s-1A(s)] + … + sm-1[s-(m-1)A(s)] = m A(s) 。······ (I)
现在假设四个自然数 t, s, n, m 满足不等式
sm ≤ tn m+1 。
两边求对数,得 mlns ≤ nlnt lns,即
m/n ≤ lnt / lns
因而有
|m/n – lnt / lns|
由第一项基本原则,A(k) 是 k 的递增函数。故式 (I) 推出 m A(s) ≤ n A(t)
|m/n – A(t)/A(s)|
式 (II) 和 (III) 保证了
|A(t)/A(s) – lnt / lns|
既然 n 可为任意自然数,就有 A(t)/A(s) = lnt / ln s,或言之,
A(t) / lnt ≡ A(s) / lns。
故存在正常数 C(取为1),使得 A(t) = Clnt = lnt。因此
H(1/n, …, 1/n) = lnn = - ∑in=1 (1/n) ln(1/n),
即熵公式在 p1, p2, … , pn = 1/n 时成立。
第二步:证明熵公式对所有和为 1 的正有理数 p1, p2, … , pn 都对。我们用p1 = 1/2, p2 = 1/3, p3 = 1/6 来阐述证明的思想。
根据第二项基本原则,
H(1/6,…,1/6) = H(1/2,1/3,1/6)
+2-1H(1/3,1/3,1/3)
+3-1H(1/2,1/2)+6-1H(1)。
移项后,
H(1/2,1/3,1/6) = H(1/6,…,1/6)
- 2-1H(1/3,1/3,1/3)
- 3-1H(1/2,1/2) - 6-1H(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)]。
推广到一般情形 p1, p2, … , pk:设
pi = ni/(n1 + … + nk), i = 1, 2, …, k,
则有等式
H(p1, p2, … , pk) = A(n1 + … + nk) - [p1A(n1) + … + pkA(nk) ]。
将 A(n) = lnn 代入,就有
H(p1, p2, … , pk) = ln(n1 + … + nk) – (p1lnn1 + … + pklnnk)
= (p1 + … + pk) ln(n1 + … + nk) – (p1lnn1 + … + pklnnk)
= - [p1ln(n1 /(n1 + … + nk)) + … + pkln(nk/(n1 + … + nk))]
= - (p1lnp1 + … + pklnpk) 。
第三步:既然熵公式对所有和为 1 的正有理数成立,那么由第三项基本原则推出它对所有和为 1 的非负实数成立。这就完成了证明。