我正在考虑编写一个程序,该程序要求用户思考一个物体(一个物理物体),然后它会询问有关该物体的问题,并试图弄清楚用户在想什么。(类似于 http://20q.net)
我尝试用Python编写它,但发现我的方法很天真,效率很低。你们会怎么做呢?
回答:
高效地执行此操作需要一种稍微高级的概率方法,称为 Kullback-Liebler 散度。应用于决策树(这正是你想要做的),它通常被称为信息增益。
但不要让这阻止你!搜索一些决策树的实现示例,然后从那里开始。在解决“20个问题”之前,我建议先编写一个更简单的程序。
另外,看看 http://www.20q.net/。点击“Think in English”,然后点击“Classic 20Q”。它有时好的令人害怕。