由惊人准确的 AI 驱动的简单在线 20 个问题游戏。
它们是如何猜得如此准确的呢?
回答:
你可以把它看作是二分查找算法。在每次迭代中,我们问一个问题,这个问题应该能大致消除一半可能的词汇选择。 如果总共有 N 个词,那么我们可以期望在 log2(N) 个问题后得到答案。
有了 20 个问题,我们应该能够最优地找到 2^20 = 100 万个词中的一个。
一种消除异常值(错误答案)的简单方法可能是使用类似 RANSAC 的东西。 这意味着,你不是考虑所有已回答的问题,而是随机选择一个较小的子集,这个子集足以给你一个唯一的答案。 现在,你用不同的随机问题子集重复几次,直到你看到大多数时候你都得到相同的结果。 那么你就知道你得到了正确的答案。
当然,这只是解决这个问题众多方法中的一种。