Правила и функции в CLIPS. Факты.
CLIPS включает в язык представления порождающих правил и язык описания процедур.
В этом разделе мы рассмотрим оба этих модуля, сопровождая описание отдельных функций примерами.
Основными компонентами языка описания правил являются база фактов (fact base) и база правил (rule base). На них возлагаются следующие функции:
- база фактов представляет исходное состояние проблемы (см. главу 2);
- база правил содержит операторы, которые преобразуют состояние проблемы, приводя его к решению (см. главы 2 и 3).
Машина логического вывода CLIPS сопоставляет эти факты и правила и выясняет, какие из правил можно активизировать. Это выполняется циклически, причем каждый цикл состоит из трех шагов:
- (1) сопоставление фактов и правил;
- (2) выбор правила, подлежащего активизации;
- (3) выполнение действий, предписанных правилом.
Такой трехшаговый циклический процесс иногда называют "циклом распознавание – действие" (см. главу 5).
Факты
Сразу после запуска CLIPS-приложения на выполнение на экране появится приглашение, извещающее пользователя, что он работает с интерпретатором.
CLIPS>
В режиме интерпретатора пользователь может использовать множество команд. Факты можно включить в базу фактов прямо из командной строки с помощью команды assert, например:
CLIPS> (assert (today is Sunday)) <Fact-0> CLIPS> (assert (weather is warm)) <Fact-1>
Для лучшего восприятия текста Приложения мы в дальнейшем будем выделять текст, вводимый пользователем, полужирным шрифтом, а запросы и ответы интерпретатора – обычным моноширинным шрифтом.
Для вывода списка фактов, имеющихся в базе, используется команда facts:
CLIPS> (facts) f-0 (today is Sunday) f-1 (weather is warm)