Akinator游戏背后的算法是什么?
artificial-intelligence
machine-learning
9
0

这总是让我感到惊讶, Akinator应用程序只问几个问题就能猜出一个角色。所以我想知道哪种算法或方法可以做到这一点?这类算法是否有名称,我在哪里可以阅读更多有关它们的信息?

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

是的,这类算法有一个名称-在机器学习领域中称为分类算法决策树是分类算法的一个例子。

在这个分类问题中,算法的特征就是问题的答案。

可以采用多种方式来确定下一步应该提出的问题,例如,通过尝试使下一个问题的预测 (或均值)最大化。

收藏
评论

我不知道Akinator到底使用什么算法,但是在这里,我将实现相同效果的算法开源: https : //github.com/srogatch/ProbQA

基本上,我们使用N(Questions)乘以N(Answer Options)乘以N(Targets)的多维数据集,请参阅https://github.com/srogatch/ProbQA/blob/master/ProbQA/PqaCore/CpuEngine.decl.h

我们通过在独立性假设下应用贝叶斯公式来训练多维数据集,请参阅https://github.com/srogatch/ProbQA/blob/master/ProbQA/PqaCore/CEEvalQsSubtaskConsider.cpp

由于代码针对AVX2和多线程进行了高度优化,因此可能很难阅读。读取相同的CUDA代码可能会更容易: https : //github.com/srogatch/ProbQA/blob/master/ProbQA/PqaCore/CudaEngineGpu.cu

该算法的应用程序也可以作为网站推荐游戏

收藏
评论

算法的主要特点:

  • 自我教育
  • 放纵错误
  • 下一个问题的智能系统选择

Akinator游戏算法模型称为“基于模糊逻辑的专家系统”。

这不是决策树,因为它没有犯错。

我之前在C#上写过一篇文章,您可以通过以下链接找到它: https : //github.com/ukushu/AkinatorEngine

收藏
评论

这场比赛有时被称为20个问题 。关于SO有一些问题,例如:

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号