Я пытаюсь сообщить о шагах вывода в JESS. Например, я хотел бы знать, какие правила/факты заставили механизм вывода запустить определенное правило. Другими словами, я хочу увидеть возможности JESS для доказательства теорем. Вот пример из Википедии:
(defrule A ""
(and (X croaks) (X eats flies))
=>
(assert (X is a frog))
)
(defrule B ""
(and (X chirps) (X sings))
=>
(assert (X is a canary))
)
(defrule C ""
(X is a frog)
=>
(assert (X is green))
)
(defrule D ""
(X is a canary)
=>
(assert (X is yellow))
)
Если у меня есть следующее:
(assert (X croaks))
(assert (X eats flies))
Затем, когда я введу (run)
, я уволю rule C
. Похоже, его уволили из-за
(X is a frog)
а на самом деле из-за
(and (X croaks) (X eats flies))
Я не уверен, ясно ли я понимаю, но мне интересно, есть ли способ, которым я могу показать, почему определенные правила запускаются с полным процессом вывода.
(facts)
и увидеть, что новые факты добавляются из-за выполнения связанных правил. - person Lorderon   schedule 20.05.2015