Wolfram:25个最好的猜单词游戏一个六岁孩子关于猜单词的简单问题变成了另一种分析的痴迷,使我最近玩了1500万场猜单词游戏。 早在 2007 年,我在从牛津到伦敦的火车上为一个人类猜测者写了一个猜单词游戏。我在伦敦地铁上花时间思考玩这个游戏的最佳策略,并在回程时为做猜词的计算机写了这个版本。它成功地猜出了我的测试词,我很满意,所以我把这两个版本提交给了 Wolfram 演示项目。三年后的今天,我的女儿已经长大了,可以玩了,但演示让她很恼火,因为它总是能猜到她的词。她问了一个显而易见的问题,当时我从来没有想过。"我能选择最难的词是什么,这样我就可以打败它?" 如果您不知道,猜单词的想法是,一个玩家想到一个词,并告诉另一个玩家它有多少个字母。第二位玩家反复猜测字母。如果猜中的字母在单词中,选词者必须说出该字母在单词中每一次出现的位置。如果不能,那么选词者就会很高兴地画出一个绞架的组件,上面挂着一个人。如果在单词被完全猜中之前,绞架和人就已经完成了,那么第二个玩家就输了。绞架和人的设计有很多种;我在上面这个有 13 个元素的绞架上学过,但我见过 10 到 13 之间的很多可能性,可能还有其他的。我把这些称为10局和13局。我的设计,即13局,对猜测者来说比较容易,因为他或她在输之前可以犯更多的错误。 为什么是刽子手?我不知道。据称,这个游戏可以追溯到维多利亚时代的英国,当时绞刑可能是对拼写不良的一种可接受的惩罚! 以下是我是如何创建这些游戏的。首先,让我描述一下我们正在攻击的算法。我的猜单词算法使用所有可用的信息来产生一个候选词的列表。起初,可用的信息只是单词的长度,但后来我们会知道一些字母和它们的位置,还有一些不在单词中的字母。所有这三点信息都可以很快地减少字典。接下来,游戏会对所有候选词中的字母进行频率分析(有多少候选词中至少包含一个 "a",至少包含一个 "b",以此类推)。我们避免猜错的最好机会(如果我们假设这个词是从字典中随机选择的)是选择一个经常出现的字母。 在这一点上,值得介绍一下博弈论中的纳什均衡(Nash equilibrium)。这是指当发现对立的策略时,即使对手的策略是已知的,任何一方都不能单方面改善他或她的结果。部分考虑到这一点,该算法并不选择最受欢迎的字母,而是根据频率加权选择任何一个可能的字母(例如,如果 1000 个候选词包含 "e",13个包含 "x",那么 "e "将以 1000:13 的比例被选中,而不是 "x")。这是走向纳什均衡点的第一次迭代;没有它,我们的算法就完全是决定性的,因此,任何击败它的词都会每次都击败它。对手会通过每次都选择那个词来优化他或她的策略。该算法还使游戏更加有趣。我女儿的问题可以被认为是朝着纳什均衡的下一次迭代。知道了猜测者的算法,我们被要求优化如何从字典中选择单词的权重,而不是我所假设的同等权重。 (说点题外话:几年前在伦敦举行的第五届国际数学研讨会上,我有幸聆听了 John Nash- 纳什均衡的发明者,诺贝尔奖获得者,以及电影《美丽心灵》的主角,讲述了他对 Mathematica 的使用。每年的诺贝尔奖名单中通常至少有一位 Mathematica 用户,尽管遗憾的是,诺贝尔奖得主很少出现在好莱坞电影中)。 |




