(如果你对贝叶斯推断还不熟悉,现在正是阅读《贝叶斯定理的直观解释》的好时机。)
假设你有一个系统 X,它处于以下 8 种可能状态中任意一种的概率都是均等的:
。
在物理学、数学乃至生物学中,存在着一个极其普遍的物理量,被称为熵(entropy);在这个例子中,X 的熵是 3 比特。这意味着,平均而言,我们必须提出 3 个是非题才能找出 X 的确切状态。例如,有人可以使用这套编码规则来告诉我们 X 的值:
| |
|
|
|
| |
|
|
|
所以,如果我问「第一个符号是 1 吗?」听到回答「是」,接着问「第二个符号是 1 吗?」听到回答「不是」,然后问「第三个符号是 1 吗?」听到回答「不是」,我就知道 X 处于状态 4(即 100)。
现在,假设另一个系统 Y 有四种可能的状态,其概率分布如下:
| (50%) |
(25%)|
| (12.5%) |
(12.5%) |
那么 Y 的熵将是 1.75 比特,意味着我们可以通过提出 1.75 个是非题来找出它的值。
谈论提出「一又四分之三个问题」到底是什么意思呢?想象一下,如果我们用下面这套编码来指定 Y 的状态:
| |
|
|
|
首先你问:「第一个符号是 1 吗?」如果答案是「是」,你就大功告成了:Y 处于状态 1。这种情况在 50% 的时间里会发生,所以在 50% 的时间里,只需要 1 个是非题就能查明 Y 的状态。
假设答案反而是「不是」。那你接着问:「第二个符号是 1 吗?」如果答案是「是」,你也大功告成了:Y 处于状态 2。系统 Y 处于状态 2 的概率是 1/4,并且每次只要 Y 处于状态 2,我们都是用了两个是非题来得出这个结论的,所以在 25% 的时间里,需要 2 个问题来查明 Y 的状态。
如果连续两次的答案都是「不是」,你就会问:「第三个符号是 1 吗?」如果「是」,你就完事了,Y 处于状态 3;如果「不是」,你也完事了,Y 处于状态 4。在 Y 处于状态 3 的那 1⁄8 的时间里,需要问三个问题;在 Y 处于状态 4 的那 1⁄8 的时间里,同样需要问三个问题。
(1⁄2 × 1) + (1⁄4 × 2) + (1⁄8 × 3) + (1⁄8 × 3)
= 0.5 + 0.5 + 0.375 + 0.375
= 1.75。
计算一个系统 S 的熵 H(S) 的通用公式是:对所有可能的状态 Si,求 的总和。
例如,1/8 以 2 为底的对数是 −3。所以 −(1⁄8 × −3) = 0.375 就是状态 S4 对总熵的贡献:也就是说,在 1⁄8 的时间里,我们必须问 3 个问题。
你不可能总是为一个系统设计出一套绝对完美的编码,但如果你必须在一条消息中告诉某人任意多份 S 的状态组合,你可以设计出无限逼近完美状态的编码。(在谷歌上搜索「算术编码 / arithmetic coding」可以找到一种简单的方法。)
现在,你可能会问:「为什么不用『10』来代表 ,而不是用『000』?那样难道不会让我们传递消息的速度更快吗?」
但如果你用『10』来代表 ,那么当有人对「第一个符号是 1 吗?」这个问题回答「是」的时候,你就无法判断系统状态究竟是
(编码为 1)还是
(编码为 10)。事实上,如果你这样修改编码,整个系统就乱套了——因为如果你听到「1001」,你根本搞不清楚它的意思是「
,接着是
」,还是「
,接着是
」。
这里的寓意是:简短的词语(短代码)是一种总数守恒的稀缺资源。
创建一套优秀编码——即一套能尽可能紧凑地传递消息的编码——的关键在于,把简短的代码留给那些你需要频繁表达的事物,而把较长的代码分配给那些你不常表达的事物。
当你把这门艺术发挥到极致时,你用来描述某事物的消息长度,将完全或几乎完全对应于该事物出现的概率。这就是将奥卡姆剃刀[1]形式化为「最小描述长度」(Minimum Description Length)或「最小消息长度」(Minimum Message Length)的原理。
因此,即使是我们给词语贴上的标签(读音/拼写),也绝对不是随心所欲的。我们给概念分配的发音,同样有优劣、智愚之分。即便抛开普遍用法[2]的社会契约不谈,这一点也同样成立!
我之所以说这些,是因为「你可以随心所欲地去 X」这种想法,是学习如何明智地去 X 的巨大绊脚石。「这是一个自由的国家;我有权利保留自己的观点」,这种态度阻碍了寻找真理的艺术;「我可以随心所欲地定义一个词」,这种态度阻碍了顺着现实大自然的关节进行切分[3]的艺术;甚至连听起来颇为合理的「我们附加在词语上的标签是随意的」,这种说法也会阻碍人们去认识语言在信息压缩上的精妙。顺便说一句,声调和韵律也是如此——托尔金(J.R.R. Tolkien)曾敏锐地察觉到「cellar door(地窖门)」这个短语发音时有多么悦耳;正是需要这种对语言的敏锐觉察力,才能像托尔金那样去运用语言。
词语的长度,在语言的认知科学中也扮演着不可忽视的角色:
想想「躺椅(recliner)」、「椅子(chair)」和「家具(furniture)」这三个词。「躺椅」是比「椅子」更具体的类别;而「家具」是比「椅子」更宽泛的类别。但是,绝大多数椅子都有一个共同的用途——你用大致相同的肢体动作坐进它们里,你坐进去的目的也大同小异(吃饭、看书、打字或休息时让双脚免受体重的压迫)。躺椅并没有偏离这个核心用途。另一方面,「家具」则包含了床和桌子这些用途截然不同的东西,它们所唤起的肢体功能也与椅子大相径庭。
在认知心理学的术语中,「椅子」是一个基本层次类别(basic-level category)。
人们倾向于在基本分类层次上进行交流,推测也是在这个层次上进行思考——他们倾向于把认知的边界画在「椅子」周围,而不是在更具体的「躺椅」,或是更宽泛的「家具」周围。人们更有可能说「你可以坐在那把椅子上」,而不是说「你可以坐进那个躺椅」或「你可以坐在那件家具上」。
绝非巧合的是,「椅子(chair)」这个词的音节数量少于「躺椅(recliner)」或「家具(furniture)」。通常来说,基本层次的类别往往拥有简短的名称;而名字简短的名词,也往往指代着基本层次的类别。当然这不是一条绝对完美的法则,但这是一个明确的趋势。频繁的使用催生了简短的词语;简短的词语也伴随着频繁的使用。
或者正如侯世达(Douglas Hofstadter)所说,英语用短小精悍的 the 来表达 the 的意思,而用长达 28 个字母的 antidisestablishmentarianism 来表达 antidisestablishmentarianism(反对废除国教主义),而不是反过来,这是有原因的。
总目录:
《理性:从人工智能到僵尸》导读与目录卷:
第三卷:灵魂中的机械章节:
人类词语指南上一篇:
在哪里划定边界?下一篇:
互信息与事物空间中的密度Thoughts Memo 汉化组译制
感谢主要译者 gemini-3.1-pro,校对 Jarrett Ye
原文:Entropy, and Short Codes
参考
1. 奥卡姆剃刀 https://hpmor.xyz/ai2zb_25/2. 诉诸普遍用法的论点 ./2052688537791750991.html
3. 在哪里划定边界? ./2057532415229301412.html