Я нахожусь в процессе разработки экспертной системы из дерева решений, и одним из тестов является проверка оценки дикой природы.Пользователю предлагается ввести оценку дикой природы, и будут определены 3 возможных результата.
Оценка не менее 20 отклоняет предложение и завершает программу.
Оценка более 10, но менее 20 переходит к тесту 4, но утверждает, что результат будет вторым лучшим.
Оценка не более 10 просто переходит к тесту 4.
Строка чтения из предыдущего теста:
(defrule wildlife-score(or(energy-level 2)(energy-level 3))
=> (printout t "What is the wildlife impact score?" crlf)
(assert(wildlife-impact(read))))
Вот где я имеюпроблема в сравнении значения чтения со значениями результата.Любая помощь будет оценена.
(defrule reject-wildlife
(wildlife-impact ? (> ?wildlife-impact 20))
=> (assert(reject))
(printout t "Reject - completely unsuitable due to wildlife impact." crlf))