免费猜字小游戏,wordle席卷全球

免费猜字小游戏Wordle正在席卷全球 , 火到以数百万美元的价格被收购 , 全球玩家数量也突破了200万 。
如果你在微博、微信等地方看到这些神神秘秘的方块 , 那就是Wordle玩家在分享自己当日的战绩了 。
免费猜字小游戏,wordle席卷全球
文章图片

文章图片

根据统计 , 大多数人类玩家需要猜测4次或以上才能取得胜利 。
比如 , 2月5日的题目在当天30多万份晒出战绩的玩家中 , 只有27%能在三次以内猜中 。
这个游戏自然也成了程序员们的新竞技场 , 他们写出各种算法来比拼谁用的步数最少 。
这其中 , 百万粉数学科普大神3Blue1Brown的玩法更为硬核——
他不光写出了求解算法 , 还用数学知识一步步优化至逼近理论极限 , 最终成绩平均3.138次猜测就能获胜 。
并且他用统计办法找出了与人类常见策略不同的最佳开局单词crane 。
免费猜字小游戏,wordle席卷全球
文章图片

文章图片

他像往常一样把这个过程整理成视频分享出来 , 不仅展示了算法 , 还把其中涉及的信息论、统计学知识讲得明明白白 。
视频发布一天之内就有上百万播放 , 围观的网友也纷纷在评论区表达了赞叹 。
为了游戏点进来 , 为了精彩的信息论知识留下 , 太酷了!
免费猜字小游戏,wordle席卷全球
文章图片

文章图片

他用了什么样的算法 , 理论极限又是怎么算出来的?下面一起来看看 。
从每一次猜测中获得最多信息
Wordle的游戏规则很简单 , 玩家需要猜出程序每天指定的一个5位英语单词谜底 。
玩家可以随意提交一个英语单词 , 但必须是字典里有的 , 不能胡乱拼写 。
如果字母在谜底中出现且位置对了就显示绿色 , 字母出现了但位置不对就显示黄色 , 字母在答案的单词中没出现就显示灰色 。
根据反馈信息再进行下一轮猜测 , 在6次尝试之内猜出就算赢 。
免费猜字小游戏,wordle席卷全球
文章图片

文章图片

如何让步数尽量少?
3Blue1Brown的总体思路是尽量从每一次猜测中获得最多的信息 。
他先是找来了26个字母在英语文本中出现频率的统计数据 , 尝试在前两次尝试中覆盖最多高频字母 。
比如other+nails的组合 , 就可以覆盖出现频率最高的11个字母中的10个 , 如果运气好就能确定下来一些字母 。
即使这些字母都没出现依然是一种信息量很大的反馈 , 10个常用字母都没出现的单词数量就大大减少了 , 让下一步猜测更简单 。
免费猜字小游戏,wordle席卷全球
文章图片

文章图片

不过在尝试过程中 , 又出现了新的问题 。
同样用nails这几个字母 , 也可以拼成snail , 这两种拼写顺序之间的差异 , 仅依据字母频率数据是无法衡量的 。
下面需要一种新的计算方法 。
如何计算信息量?
原版Wordle游戏里有一个数量12972的总单词列表 , 都能作为猜测词使用 。
另外有一个2315个单词的列表 , 只有这些单词会出现在答案里(据说是游戏作者的女朋友挑选的) 。
因为游戏是用Javascript写的 , 数据都在客户端 , 这些数据直接可以从源码里找到 。
不过3Blue1Brown觉得让程序利用答案列表的话有点像作弊了 , 他果断给自己加大难度 , 只考虑总单词列表 。