首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >20个问题AI算法是如何工作的?

20个问题AI算法是如何工作的?
EN

Stack Overflow用户
提问于 2009-05-20 12:04:19
回答 4查看 72.9K关注 0票数 106

20个问题的简单在线游戏由一个精准得离奇的人工智能提供支持。

他们怎么能猜得这么准呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-20 13:21:20

您可以将其视为二进制搜索算法。在每次迭代中,我们都会问一个问题,这应该会消除大约一半的可能单词选择。如果总共有N个单词,那么我们可以期望在log2(N)个问题之后得到答案。

有了20个问题,我们应该能够在2^20 =100万个单词中找到一个单词。

消除异常值(错误答案)的一种简单方法可能是使用RANSAC之类的东西。这意味着,不是考虑所有已经回答的问题,而是随机选择一个较小的子集,这足以给出一个单一的答案。现在,你用不同的随机问题子集重复几次,直到你看到大部分时间,你都得到了相同的结果。然后你就知道你得到了正确的答案。

当然,这只是解决这个问题的许多方法中的一种。

票数 58
EN

Stack Overflow用户

发布于 2009-05-20 13:37:17

决策树直接支持这种应用程序。决策树通常在人工智能中使用。

决策树是一种二叉树,它在每个分支上询问“最好的”问题,以区分由其左子节点和右子节点表示的集合。最好的问题由20个问题应用程序的创建者用来构建树的一些学习算法确定。然后,正如其他海报所指出的那样,一棵20层深的树会给你带来一百万样东西。

在每个点上定义“最佳”问题的一种简单方法是寻找一个最均匀地将集合一分为二的属性。这样,当你得到这个问题的是/否答案时,你在每一步都会删除大约一半的集合。这样你就可以近似二进制搜索了。

维基百科给出了一个更完整的例子:

http://en.wikipedia.org/wiki/Decision_tree_learning

以及一些一般背景:

http://en.wikipedia.org/wiki/Decision_tree

票数 26
EN

Stack Overflow用户

发布于 2010-01-19 05:04:55

它标榜自己是“互联网上的神经网络”,关键就在这里。它可能将问题/答案概率存储在备用矩阵中。使用这些概率,它能够使用决策树算法来推断出哪个问题最适合缩小下一个问题的范围。一旦它将可能答案的数量缩小到几十个,或者如果它已经达到20个问题,那么它就开始阅读最有可能的答案。

20q.net真正耐人寻味的方面是,与我所知的大多数决策树和神经网络算法不同,20q支持稀疏矩阵和增量更新。

编辑:答案一直都在网上。发明者Robin Burgener在他的2005 patent filing中详细描述了他的算法。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/887533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档