ВУЗ:
Составители:
Рубрика:
21
Работа правила очень напоминает условный оператор if-then,
присутствующий во многих процедурных языках программирования.
Принципиальная разница заключается в том, что оператор if-then выполнится
в любом случае, когда до него дойдет очередь в программе. Что касается
правила, то интерпретатор CLIPS еще “подумает”, выполнять его или нет.
Так, при старте программы, содержащей множество фактов и правил,
интерпретатор CLIPS запускает машину логического вывода, которая
выясняет, какие из правил можно активизировать. Это выполняется
циклически, причем каждый цикл состоит из трех шагов:
· сопоставление фактов и правил;
· выбор правила, подлежащего активизации;
· выполнение действий, предписанных правилом.
Таким образом, правила, взаимодействующие с базой данных в виде
фактов, вносят в нее функциональность и образуют вместе с ней базу знаний.
Для создания правила используется конструктор defrule, который имеет
следующий синтаксис:
(defrule имя_правила
[необязательный комментарий]
[необязательное объявление]
(условие_1)
(условие_2)
......
(условие_M)
=>
(действие_1)
(действие_2)
......
(действие_N))
Обратите внимание: левая часть правила отделяется от правой
комбинацией символов “=>”, а количество условий и действий в правиле в
общем случае не совпадает. Для пояснения вышесказанного рассмотрим
несколько примеров.
Работа правила очень напоминает условный оператор if-then, присутствующий во многих процедурных языках программирования. Принципиальная разница заключается в том, что оператор if-then выполнится в любом случае, когда до него дойдет очередь в программе. Что касается правила, то интерпретатор CLIPS еще “подумает”, выполнять его или нет. Так, при старте программы, содержащей множество фактов и правил, интерпретатор CLIPS запускает машину логического вывода, которая выясняет, какие из правил можно активизировать. Это выполняется циклически, причем каждый цикл состоит из трех шагов: · сопоставление фактов и правил; · выбор правила, подлежащего активизации; · выполнение действий, предписанных правилом. Таким образом, правила, взаимодействующие с базой данных в виде фактов, вносят в нее функциональность и образуют вместе с ней базу знаний. Для создания правила используется конструктор defrule, который имеет следующий синтаксис: (defrule имя_правила [необязательный комментарий] [необязательное объявление] (условие_1) (условие_2) ...... (условие_M) => (действие_1) (действие_2) ...... (действие_N)) Обратите внимание: левая часть правила отделяется от правой комбинацией символов “=>”, а количество условий и действий в правиле в общем случае не совпадает. Для пояснения вышесказанного рассмотрим несколько примеров. 21
Страницы
- « первая
- ‹ предыдущая
- …
- 19
- 20
- 21
- 22
- 23
- …
- следующая ›
- последняя »