怎样在5到7次内猜中
在猜数字里,运气没有看上去那么重要。好的一步不一定要猜中数字,但能大幅缩小可能答案的范围。下面的数据来自我们的机器人:它把所有5040个可能的数都玩了一遍。
机器人需要几步
机器人平均需要5.27步。61%的数它在五步以内猜中,六步以内是98%,而且从来不超过7步。
| 步数 | 数量 | 占比 |
|---|---|---|
| 1 | 1 | 不到0.1% |
| 2 | 4 | 不到0.1% |
| 3 | 59 | 1.2% |
| 4 | 574 | 11.4% |
| 5 | 2430 | 48.2% |
| 6 | 1885 | 37.4% |
| 7 | 87 | 1.7% |
作为对比:用电脑穷举所有策略的结果表明,任何策略的平均步数都不可能低于5.21。机器人离理想值不到0.1步,而它的思路一句话就能说清。
核心思路:把可能性平均分开
每个提示都会把剩下的数分成几组。如果几乎所有可能都给出同样的提示,这一步几乎什么也没告诉你。如果各组大小差不多,不管得到什么提示,剩下的可能都不多。机器人每一步都会试遍全部5040个数,选出平均剩下候选最少的那个。复盘里的“最佳一步”也是按这个逻辑标出的。
第一步
在什么都不知道的时候,所有第一步都一样好:只要把数字重新对应一下,任何数都能变成0123。第一步之后,平均还剩大约931种可能。下面是猜0123时各种提示的分布:
| 提示 | 数量 |
|---|---|
| 0A1B | 1440 |
| 0A2B | 1260 |
| 1A1B | 720 |
| 1A0B | 480 |
| 0A0B | 360 |
| 0A3B | 264 |
| 1A2B | 216 |
| 2A0B | 180 |
| 2A1B | 72 |
| 3A0B | 24 |
| 0A4B | 9 |
| 1A3B | 8 |
| 2A2B | 6 |
| 4A0B | 1 |
最常见的提示是0A1B和0A2B。“0A0B”其实是个好运气:它一下子排除四个数字,只剩360个数。
第二步和第三步
- 用新数字。第二步猜4567这样的数,通常比把0123换个顺序更有用:它能告诉你另外四个数字里藏着几个谜底数字,也就能推出剩下的8和9里有几个。
- 新旧搭配。当你知道0123里有两个数字在谜底里时,用两个旧数字加两个新数字,能帮你找出是哪两个。
- 别回避不可能是答案的数。有时一个明显不符合之前提示的数,比任何符合的数都更能把可能性分开。机器人就是这么做的。
位置比数字更重要
数字组合确定后,只剩顺序:四个数字有24种排法。别忘了,没有A的那一步也透露了位置信息:它的每个数字都不在自己所在的位置上。这样一下就能排除一部分排列,通常再猜两三次就能得到答案。
记下你的推理
划掉肯定不在的数字,标出肯定在的数字,再想想哪个数字可能在哪个位置:这正是笔记的用处。想练习又不想影响连胜,可以去练习模式。