Иллюстрированный самоучитель по введению в экспертные системы


Полный листинг программы - часть 12


;; ТО прекратить процесс вычислений,

(defrule sanity-check

(declare (salience -100))

(world (tag ?N) (task ?T&:(or (eg ?T contra)

(eq ?T back))))

(not (world (tag ?M&:(< ?M ?N))

(scope truth) (task check))) =>

(printout t crlf

"FAIL: Statements inconsistent, detected in world " ?N

;; "РЕШЕНИЕ НЕ НАЙДЕНО: Высказывания противоречивы,

;; обнаружены в мире " ?N

t crlf) (halt)

)

Я не сомневаюсь в том, что эту программу можно совершенствовать и далее. Можно, например, попытаться использовать технологию отката, основанную на комбинировании направленных и хронологических методов поиска точки возврата. Но и в том виде, в каком она здесь представлена, программа справляется со всеми сформулированными в тексте приложения задачами. Анализируя текст программы, вы можете убедиться в том, что язык CLIPS позволяет реализовать многие из описанных в данной книге технологий, в частности:

  • методику прямого логического вывода, которая обеспечивает разрешение конфликтов (глава 5);

  • целенаправленный логический вывод с использованием лексем задач (главы 5 и 14);

  • анализ множества контекстов при разных исходных предположениях (главы 17 и 19).

На примере этой программы вы также могли убедиться в том, что несмотря на модульную структуру, расширение ее функциональных возможностей сопряжено с определенной модификацией ранее разработанных модулей (правил), которые должны учитывать изменения, вносимые в структуру данных.




Начало  Назад  Вперед



Книжный магазин