表示函数
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]]
evaluate( DT, X, Y )
如果 Y 是通过对值 X 评估决策树 DT 获得的值,我如何为谓词编写 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 ? ;