представить функциюРешения с помощью Пролога
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 - это значение, полученное путем вычисления дерева решений DT по значению X?
вход и выход образца выглядит следующим образом:
?- 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 ? ;
Что вы имеете в виду, задавая это домашнее задание ... Я пытался решить проблемы с Прологом, чтобы я мог его изучить ... Могу делать добро с простыми проблемами .. но найти трудности с жесткими, самообучение имеет свои пределы .. :) – user2099033
Если проблема заключается в домашнем задании, мы пытаемся дать скорее намек, чем полное решение. Таким образом, когда ваш профессионал ищет проблемы, которые они вам назначили, и они находят ваш вопрос здесь, вас не вышвырнут из школы для обмана/плагиата, потому что вам придется самому выполнить какую-то работу. –
Кто-то потратил время, пытаясь ответить на ваш вопрос. Его грубо удалять их работу без причины. Пожалуйста, рассмотрите их ответ и примите, если это правильно. – Will