首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

0与1世界中的信息、比特与决策

[遇见数学翻译小组] 核心成员: L.J.C.

一名喜欢弹钢琴和睡觉的高中生

我们都熟悉"计量单位":1 分钟表示一段时间,1 米表示一段长度, 1 比特则表示一些信息。但是请稍等一下——什么是"一些信息"?为什么用比特就能够表示一定量的信息?它们与二进制数字(由 0 和 1 组成)之间又有着怎样的联系呢?

▌用 1 个比特在二叉路口寻出一条路线

如果你想从两个等可能选项中做出抉择, 1 比特即是你所需要的信息量。

想像一下你正处于两条路的分叉上(在下图中用点标出),并且想要走到点处。请注意你并不知道这个俯视全貌的图,你只知道在自己面前有一个分叉,以及做出的决定。如果你之前并没有得到关于选择哪条路的信息,那么点的前叉就呈现两条相同可能的选择。如果我们把指令(帮助你走到点)用二进制数来表示(0=左 1=右),那么这一个二进制数字就给你提供了 1 比特的信息,并告诉了你该选择哪条路。

事实上,由 0 和 1 构成的二进制数字可以用来代表从到的整个路程。想象一下你沿路漫步到了另一个分叉。因为你还不知道该选哪条路,这次一个二进制数字(1=右)还可以为你提供 1 比特的信息从而让你选择正确的路线,也就把你带到了点处。

1 比特的信息对应着在两个相同可能的选项之间的选择

请注意,在你做出两次选择后,点即便是你从点出发后所有可能的临时岔路(共四个)中的一个。两个二进制数字给你提供了两比特的信息并且让你能够从四个(均等的)选项中做出选择,.

第三个二进制数字(1=右)又给你提供了 1 比特的信息,并且可以让你再一次选择正确的道路,最终到达点处。

从点出发到现在位置,有了八条总共可选择的路,所以三个二进制数字(就给你提供了 3 比特的信息)足够让你从八个相同可能的选项中做出选择,。

请注意,你一旦在点做出决定要走哪条路,八个中就会有一半的道路无法再进行选择了。同样地,在连续的分叉口所做的决定就会让剩下可以选的终点数量缩减一半。

▌在八种结果之间选择

对上面的情况,我们来概括下。代表分叉的次数。代表次分叉后终点的数量。如果你已经走过了个分叉口,那么你就已经从个终点中做出了选择。

由于在每一个分叉口做的选择都需要 1 比特的信息,因此个分叉口就需要比特信息,那么你可以从个均等的选项中做出选择。

如下图所示,我们既可以用 0 至 7 这八个十进制数字来标记八个可能的每个终点。如下表所示,这些十进制数字和二进制数字可以看成是两种相同的表示方法。用二进制数字计数可以转成成用十进制数字。

用二进制来表示数字有许多优点。比如用来标注每一个终点的二进制数字(例如:011)都能清楚地表达到某个岔路口所需向左或向右的指示。这种表示方法可以被应用于许多布尔(即二进制)问题。

▌在种选择之间进行决策

若想知道任何一条路线的复杂程度,既可以参考最终"可能终点"的个数,也可以参考从头到尾必经的分叉口的总个数。我们知道,当分叉口的数量增多时,"可能的终点"的个数也会随之增多。正如我们已经看到的一样,如果这里会遇到三个分叉口,那么就会有个可能的终点。

对数度量需要决策的次数

换个角度看,如果知道了这里有个可能的终点,那么推测会有几个分叉口?换句话说,给定了八个终点, 2 的几次平方能开到 8?在这种情况下,我们知道答案是,也就是以二为底求八的对数。由此,就是八个终点所暗示的分叉口的个数。

更加概括地说,以 2 为底求的对数就是在求需要将 2 提高到其几次幂才能等于;也就是说,从中解出这件事。同等地,对于一个给定的数字,我们想要用对数运算来直接表达,就有:

现在知道了对数是什么了,我们就可以从另一个角度去盘算我们的路线,也就是用比特这个工具。如果你要从 m 个相同可能的选项中做出选择,那么你就需要比特的信息。

▌折半来搜索出答案

二十个问题(Twenty Questions)游戏在20世纪40年代后期逐渐流行起来,成为当时每周电视电台问答节目的流行栏目。在游戏中,一个玩家被选为应答者,他选择某个主题(或物体),但不能向其他人透露。所有其他参与者都是发问者,他们轮流问一个可以用简单的"是"或"否"回答的问题。如在 20 个问题后,仍然没人猜对,那么应答者获胜。

《20个问题》电视栏目片头

回看上面树形图中那一连串分叉口,从某种角度来说,很像"20个问题"这个游戏。在这个游戏中你的对手先选择一个词语(通常是一个名词),然后你(机敏的提问者)可以向他提出二十个问题来逐步找出这个词语。关键在于每个问题必须只能用是/否(即二进制)来回答,因此答案最多可以给你提供 1 比特的信息(0 或 1)。

能提出一个好问题非常重要,因为每个问题应该删掉一半可能的答案。选择去问一个看起来很明知故问的问题可不是什么好主意。比如说,如果你的问题是"你说的这个物体能字典里找到吗?",那么得到的答案几乎就是"是啊!",这个答案是你早就可以预料得到的,也就不会给你提供任何额外的信息。

相反地,一个精挑细选的问题即是一个你对答案或是或非或毫无头绪的问题——答案在任何一边的概率都是一样的——50:50。在这种情况下,答案会正好给你提供 1 比特的信息。在下图中,一个简化版的"二十个问题"游戏能更清楚地说明这一点。

在这个简化的游戏中的全部词汇也仅是八个单词,并且假设我们也知道是哪八个单词。你的第一个问题(Q1)可以是"它是不是有生命的?",然后答案会将可能的单词个数减半至四个。然后第二个问题(Q2)。如果你的第二个问题是"这是哺乳动物吗?",那么答案会再次减半,这将你带到第三个问题(Q3)的地方,注意现在就只剩下两个可能的答案了。在你问了第三个问题后(例如"是‘猫’吗?"),你的对手所回答的的"是/不是"就将把你带到正确答案处。总的来说,你一共问了三个问题,然后从八个可能的单词中排除了除正确答案以外的所有选项。

你心里的答案是不是哺乳动物?

更加切实地说,让我们假设所有参与这个游戏的人都有相同的词汇量(现实中大多数人都有着近似的词汇量,所以这个假设不是完全没有道理的)。具体来说,我们假设这个最终答案正好在 1048576 个单词里。有着这些假设这些以后,理论上每次都可以通过筛选提问的方式来减半剩余的可能单词数。所以在理想情况中,第一个问题应该会减半可能的单词的数量至 524288 个。你接下来的问题应该会再减半这个数量至 262144,等等。当你问完第 1 9个问题后应该只剩下两个单词了。接着在问完第 20 个问题后,这里应该只剩下一个单词了。

之所以这种办法很简洁也很奏效是因为二十个问题可以让你从正好从个相同可能的单词(即大约一百万个单词)中做出选择。由此,通过提问题所获得的这个 20 比特的信息就可以让你从大约一百万个的单词中找到最终那个正确的答案。

如果再去添加一个问题就会创造出一个新的游戏,叫做"21个问题",那就要从大约二百万个单词中逐步缩小范围至最后一个单词。就是说,每一个新增的问题就还得额外的 1 比特信息。理论上,游戏"40个问题"就需要 40 比特的信息,要从个潜在答案中找出一个单词。

对照二叉树的例子中,40 比特可以让你经过 40 个分叉口并找到最终的节点答案,也就是从大约一万亿条可能的路线中找出一条路径。所以下次在经过 40 次决策而到达了目的地后,别忘了你已经成功地避开了错误的结果。

▌信息、比特和二进制数字

尽管"比特"一词是从"二进制"中得出的,但二者之间有一个微妙却很关键的不同之处。一个二进制数字是一个二进制变量的值,这个值可以是一个 0,也可以是一个 1,但是一个二进制数字自身并不是信息。相对而言, 1 比特是一个有限的信息量。比特和二进制数字本质上不是一类东西,如果搞混了就犯了范畴错误(category mistake)。

克劳德·香农,信息论创始人

为了说明这一点,考虑以下两个极端的例子。

第一个极端例子是如果你已经知道了应该在岔路点走左手边的路,接着我给你了一个二进制数字 0(=左),那么虽然你得到了一个二进制数字,但是并没有得到任何有用的信息。

另一个极端就是如果你全然不知该选择哪条路,接着我给你显示了一个 0,那么你就既获得了一个二进制数字,同事也获得了一比特的信息。

考虑更一般的例子,如果有人提示你左手边的路有可能是正确路线,然后我随后给你了一个 0,这会使刚才的提示变得更令人信服,那么这个 0 就给你提供了少于 1 比特的信息。(完)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191021A0O3QP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券