*转载文章不代表本站观点。
本文来自微信公众号“中科院物理所”(cas-iop)作者:Patrick Honner 编辑/审校:zhenni 翻译:C&C
今年你可能听说过一款让人上瘾的猜词游戏Wordle。程序员乔什·沃尔德(Josh Wardle)为他的伴侣创造了这个游戏,然后以超过100万美元的价格卖给了《纽约时报》。也许你也是数百万个喜欢猜五个字母单词的人之一,这些单词的难度和可解性都恰到好处。
也许你有一个偏爱的起始单词,它可以帮助你在少于六次的猜测中解开谜题;又或许你喜欢从一开始就发挥直觉把字母混在一起。无论你如何玩这个文字游戏,了解一点数学领域的信息理论可以帮助你取得最高的分数。
假设在一顿丰盛的早餐后,你打开Wordle游戏,猜测第一个未知单词是BLOAT. Wordle向你展示了这个:
黄色表示字母A和T在秘密单词中,但填写的位置不对。知道这个单词包含一个A和一个T,而此时你上学或上班要迟到了,于是猜了一把 “WATCH”并且得到了幸运女神的眷顾:
绿色的字母在秘密单词中,而且在正确的位置。你几乎要猜对了!那么,下一个猜测是什么?作为一个Wordle玩家和信息理论家该怎么做呢?
一种方法是猜测一个像MATCH这样的单词,或许这就是答案。但是,一个更好的策略是猜测CHIMP,尽管这举措看起来很奇怪。CHIMP不可能是秘密单词,但根据信息论,它是完美的一步。
信息论是克劳德·香农(Claude Shannon)在20世纪40年代开创的领域,奠定了数字革命的基础。下面让我们看看为什么这样做。
香农对量化不同背景下的信息所包含的信息量很感兴趣,从电话的通信(他在美国电话公司著名的研究分支贝尔实验室工作)到DNA中存储的知识(他的博士论文是关于遗传学的)。在定义“信息”的概念时,香农从几个基本的数学原理入手。
其一,信息量应该与可预测性成反比:罕见事件应该比预期事件提供更多信息。其二,信息应该可相加:两条信息的信息量应该与每条信息的总和相关。
我们稍后将详细讨论香农对信息的定义,但在此之前让我们完成Wordle游戏。
下面是Wordle游戏中所有以ATCH结尾的单词列表: BATCH, CATCH, HATCH, LATCH, MATCH, PATCH和WATCH.
根据我们的第一个猜测,BLOAT,我们知道秘密单词不包含字母B或L,因此消除了BATCH和LATCH。我们也知道WATCH不是这个词,所以我们把可能的秘密词汇范围缩小为: CATCH、HATCH、MATCH或PATCH。
如果我们尝试MATCH,也许会幸运地赢得比赛。但如果MATCH不是这个词呢?我们可以尝试CATCH、HATCH和PATCH,最终通过排除法的方式赢得比赛,但这可能需要猜测多达四次才能达到目的。
现在想想当我们猜测CHIMP时会发生什么。如果CHIMP中的字母M或P表现为黄色,我们就知道这个词是MATCH或PATCH;如果CHIMP的字母C是绿色的,我们就知道这个词是CATCH。如果这些事情都没有发生,那么唯一的可能性就是HATCH。通过猜测CHIMP,我们能在下一次猜测中得到答案。
香农第二定理帮助我们理解为什么CHIMP是正确的选择。并不是说MATCH是一个糟糕的猜测。更重要的原因是,如果MATCH不是答案,那么这只能是我们获得的唯一信息。猜测CHIMP利用了字母C、H、M和P信息的可加性,为我们提供了解开谜题所需的所有信息。
既然我们会玩Wordle了,那么就让我们更深入地挖掘香农对信息的定义。他从数学原理入手,得出了如下的数学公式:

其中,I代表信息量,用香农所说的“比特”来衡量;P是包含你所量化信息的事件发生概率;
log2x表示以2为底的对数函数。对数表示数字相对于某个底数的指数:例如,log2 16=4是因为2^4=16 , log2 32=5是因为 2^5=32。你需要借助计算器(或对数表)来算出log2 25 ≈ 4.643856,但你可以估算它在 4 和 5 之间,因为 16<25<32 。(你可以选择对数函数的任何底数来量化信息,但在以二进制或以2为底数存储的数字信息世界中,以 2 为底数是标准操作。)
让我们看看上述两个指导原则是如何定义信息的。首先,因为对数的性质,信息量I随着事件发生概率 p 的减小而增大。

例如,发生概率为二分之一的事件包含1个比特的信息,因为概率 p=1/2:
但是每进行32次实验会发生一次的事件则包含5比特信息,因为概率 p=1/32,以此类推:

一件事越不可预测,它包含的信息量就越多。一张暴风雪中北极熊的数码照片不会包含太多信息,因为所有的像素都是可以预见的白色;另一方面,在森林地面上两只五彩缤纷的天堂鸟跳舞的图片中会包含很多信息。
第二定理,信息的可加性,遵循对数定律,你可能还记得在代数课上学过:

换句话说,一个乘积的对数是各个数的对数之和。为了看到信息之间的联系,假设两个事件的发生概率分别是 p1 和 p2 。如果这些事件是独立的——也就是说,任意一件事都不影响另一个事件的结果——那么两个事件发生的概率就是这些概率的乘积 p1p2 。例如,每次抛硬币都独立于其他次,所以两次掷硬币都是背面朝上的概率是 1/2 x 1/2 =1/4 ,这是第一次背面朝上的概率乘以第二次背面朝上的概率。
当两个事件是独立的、不影响彼此,知道一个不能给你提供任何关于另一个的信息,在这种情况下,把信息加起来是有意义的。与发生的两个事件相关联的总信息等于与单独发生的每个事件相关联的信息的总和。定义中选择对数实现了两个信息相加,这是十分巧妙的。两个独立事件同时发生的概率为p1p2,因此相关的信息量为:

也就是各个事件信息量的总和。
为了解信息论的实际应用,让我们来玩一个只使用两个字母单词的简化版Wordle。在这个“2-Wordle”游戏中,只有16种可能的答案:
假设你准备开始今天的2-Wordle,想让我给点提示。如果我告诉你“这个词里没有J ”,你会怎么想?可能会感到恼火,因为可能出现的2-Wordle单词中没有一个包含J。在信息论的语境中,这是一个差劲的提示,因为它不包含任何信息。2-Wordle单词不包含J的概率是1,因此与该事件相关的信息量是log2 1/1=log2 1=0。
(注意指数规则中 2^0=1,因此对数规则中有log2 1=0。每一个对数法则实际上都对应着指数法则。)
所以你又要求另一个提示,这次我告诉你2-Wordle没有A。这就很有帮助了。在16个可能的单词中,有12个不包含A,所以与这个事件相关的信息量为:

这个提示给了我们一些信息,但是我们需要多少信息量呢?有16种可能的结果,因此列表上每个单词有十六分之一的概率可能是秘密单词。把它代入公式得到:

这意味着有四个比特的信息与要猜的秘密单词有关。我们如何获得所有的四位信息?通过增加信息。
假设我还告诉你今天的秘密单词不包含T。和A一样,有12个单词不包含T,所以这个提示本身就提供了:

比特的信息。但由于这两个事件是独立的——这意味着不包含A和不包含T的概率等于单个事件概率的乘积——我们可以将信息量相加,得到0.415 + 0.415 = 0.83比特。结合来自不同提示的知识意味着把信息加在一起,这让我们更接近4比特的目标。
信息论中一个简单的经验法则是,1比特的信息相当于将可能性减半,因为一半的可能性相当于一个概率为 p=1/2 的事件,其中包含log2 1/1/2=log2 2=1比特的信息。在我们目前的2-Wordle游戏中,我们知道这个单词不包含A或T,这就将原来的16种可能性减少到9种,略多于一半。这对应于我们得到的0.83比特的信息,略小于1。
假设明天有一个新的 2-Wordle游戏,我告诉你这个单词包含A,因为16个单词中有4个包含A,这等于:

比特的信息。另一种思考方式是,这将可能性减半了两次:从16到8再到4。
现在,看看如果我告诉你这个单词包含一个T,会发生什么。和A一样,16个单词中有4个包含一个T,这对应于log2 1/1/4=log2 4=2比特的信息。由于这些事件是独立的——意味着同时包含字母A和T的概率等于单个概率的乘积——我们将信息相加。这意味着我们现在知道 2 + 2 = 4 比特的信息。如上所述,在2-Wordle中,四比特的信息应该足以识别秘密单词,当然,唯一同时带有A和T的秘密单词是AT。
信息论的关键在于克劳德·香农在定义信息时所做的巧妙的数学选择。当事件发生的概率较低时,信息量就会很高;而当结果独立时,信息就会累积起来。
Wordle的秘密在于策略性地利用你的猜测来获取尽可能多的信息。如果你的第一个猜测告诉你秘密单词以 S 结尾,不要自动猜测另一个以 S 结尾的单词。相反,选择一个以你还不知道的字母结尾的单词。毕竟,你不需要确认 S 是最后一个字母,你需要更多关于其他字母的信息。因此,选择其他猜测,这样获得的信息量就会增加。你会发现一点信息,就像一点知识,对你大有帮助。
练习
1.在2-Wordle的游戏中,你猜词AM,它会呈现为
你获得了多少信息量?
答案
秘密单词中包含一个M,没有A,所以剩下的可能是ME和MY。知道秘密单词是16种可能答案中这两者中间一个,其蕴含的信息就等于:
比特。
2.在2-Wordle游戏中,知道秘密单词包含N就等于比特的信息。知道这个单词包含一个O就等于比特的信息。为什么这个2 + 3 = 5比特的信息不足以唯一地识别这个秘密单词?
答案
在这里你不能把信息相加,因为事件不是独立的。事实上,信息是冗余的:包含字母N的单词只有NO或ON,因此如果你知道这个词包含一个N,那么就会知道它包含一个字母O。这里你获得了3比特的信息,而这很合理,因为可能性单词数量已经减半了三次,从16个到8个,再到4个,最后到2个。
3.在Wordle游戏中,你知道秘密单词的最后四个字母是ATCH,但有一种情况下你肯定会猜出MATCH而不是CHIMP。它是什么?
答案
如果你只剩下一次猜测。CHIMP可以保证在两次猜测中获胜,但你不可能一次就猜中。这时候,猜MATCH(或HATCH或CATCH或PATCH)至少让你有机会在一次猜测中获胜。
4.假设您正在玩一个类似Wordle的游戏,试图识别一个秘密两位数字(第一个数字可以是0)。设计一个最佳的猜数字策略。
答案
你可以保证最多猜六次就能赢。策略是猜01 23 45 67和89。这五次猜测会告诉你这两个数字和它们的位置(或者只有一个重复的数字),保证第六次猜对。一个有趣的挑战是为三位数的数字设计一个类似的策略!
*原文链接:
https://www.quantamagazine.org/how-math-can-improve-your-wordle-score-20220525/
0 条评论
请「登录」后评论