【发布时间】:2015-07-09 01:56:17
【问题描述】:
表示函数
f(x) =
if x < -2 then -1
else
if x > 2 then +1
else
0
决策树表示为
[-1, [lt, -2], [1, [gt, 2], 0] ]
同理,表示函数
f(x) =
if x < 0 then
if x < -3 then -1
else 0
else
if x < 3 then +1
else +2
我们使用树:
[-1,[lt,-3],0],[lt,0],[1,[lt,3],2]]
如果 Y 是通过对值 X 评估决策树 DT 获得的值,我如何为 evaluate( DT, X, Y ) 谓词编写 Prolog 代码?
示例输入输出如下:
?- evaluate([-1,[lt,-2],[1,[gt,2],0]],1,X).
X = 0 ? ;
?- evaluate([[-1,[lt,-3],0],[lt,0],[1,[lt,3],2]],7,X).
X = 2 ? ;
【问题讨论】:
-
你问它是什么意思是家庭作业...我试图解决 Prolog 问题以便我可以学习它..我能够很好地解决简单的问题..但发现困难艰难的,,,自学有其局限性.. :)
-
如果问题是家庭作业,我们会尝试给出提示而不是完整的解决方案。这样,当你的教授搜索他们分配给你的问题并在这里找到你的问题时,你就不会因为作弊/抄袭而被学校开除,因为你必须自己做一些工作。
-
有人花时间试图回答你的问题。无故删除他们的作品是不礼貌的。请考虑他们的回答,如果正确,请接受。
标签: prolog