我从生成决策树开始构建我的专家系统,如下所示: 决策树:http://obrazki.elektroda.pl/6125718100_1336340563.png
我使用PC-Shell构建专家系统,主要代码如下:
result=e IF a>20, b=yes;
result=f IF a>20, b=no;
result=c IF a==20;
result=g IF a<20, d="is dry";
等...
那么人工智能在哪里呢? 它不像你回答的基于文本的游戏那样有效,最终你得到了结果吗? 在这个例子中,如何进行推理(前进和后退)?
答案 0 :(得分:1)
是的,这是AI,Good Old Fashion AI(GOFAI)。更具体地说,知识库可以作为专家系统;关于 expert systems的维基百科文章包含一个类似的例子:
它的工作类似于基于文本的游戏,推理是从“a”,“b”和“d”的值中推导出“结果”的值。
答案 1 :(得分:0)
在我看来,您似乎将决策树与decision support tool和machine learning中使用的决策树混淆了。造成混淆的原因可能是这两者实际上是同一件事,但用法却不同。
正如@ jb-krohn在回答中所说,在您的示例中,您确实将决策树构建为专家系统。也就是说,您可以自己定义决策树的分支。尽管这属于AI的广义范畴,但实际上与现代机器学习中使用决策树的方式大不相同。
在机器学习中,决策树的分支留给算法根据数据集进行确定。也就是说,该算法自行构建规则,旨在使其结构与给定的训练数据集相匹配。
有许多后续考虑因素,例如overfitting,可能会帮助您了解定义自己的决策树与让算法猜测它们的优缺点。要详细说明通过前向链推理实现的专家系统,可以参考它们包含一阶逻辑谓词的能力,如this answer中所述。 >
最后,进行正向和反向链接推理,您需要使用可修改的知识库。通常,域和范围是静态的决策树不存在这种情况。但是,在专家系统中,规则的执行实际上会更改您用作输入数据的谓词。因此,从决策树的角度来看,这为您的算法引入了某种类型的递归,而决策树的简单结构就排除了这种情况。