制作演绎程序

Posted

技术标签:

【中文标题】制作演绎程序【英文标题】:Making a deductive program 【发布时间】:2011-02-09 03:03:09 【问题描述】:

我正在考虑编写一个程序,让用户思考一个对象(一个物理对象),然后询问有关该对象的问题并试图弄清楚用户在想什么。 (类似于http://20q.net)

我尝试在 Python 中执行此操作,但认为我的方法很幼稚并且效率非常低。你们会怎么做呢?

【问题讨论】:

【参考方案1】:

要有效地做到这一点,需要一种称为Kullback-Liebler Divergence 的更高级的概率方法。应用于决策树(这是您想要做的)它通常称为 Information Gain

但不要让这阻止你!对决策树的实现样本进行一些搜索,然后从那里开始。在你解决 20 个问题之前,我会编写一个更简单的程序。

另外,看看http://www.20q.net/。单击“用英语思考”,然后单击“经典 20Q”。有时候,这很可怕。

【讨论】:

【参考方案2】:

听起来你想制作一个计算机化的 21 题游戏。我会用问题和答案树来做。

这是一篇关于在 python 中实现树的不错的 *** 文章 How can I implement a tree in Python? Are there any built in data structures in Python like in Java?

【讨论】:

当然,这确实需要将2^21 - 1 问题和2^21 答案保存在内存中,更重要的是写在某个地方。 Chrisian,是的,我知道它不限于 21 个问题,我只是指一个流行的游戏来说明这一点。 实现树形数据结构不是挑战。那是微不足道的。挑战在于实现算法以学习并自动构建最优树结构。

以上是关于制作演绎程序的主要内容,如果未能解决你的问题,请参考以下文章

张同学的爆火给了我们两个信号:如何制作短视频

《超级情圣3》内容太性感未通过Steam审查 无奈延期

微信小程序怎么制作自己的程序 怎么制作自己的微信小程序

手机怎么制作软件程序?

小程序开发工具 餐饮小程序制作 小程序制作 小程序制作

小程序开发工具使用 小程序制作 餐饮小程序制作 小程序制作