Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Логические основы лекции.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
603.65 Кб
Скачать

Разработка экспертных систем средствами clips

CLIPS включает язык представления порождающих правил и язык описания процедур. Основными компонентами языка описания правил является база правил Fact Base и на них возлагаются след функции.

База знаний - исходное состояние проблемы.

База правил содержит операторы, которые преобразуют состояние проблемы, приводя его к решению.

Машина логического вывода CLIPS сопоставляет факты и правила и выясняет, какие из правил можно активизировать. Это выполняется циклически, причем каждый цикл состоит из трех шагов:

1)Сопоставление фактов и правил

2)Выбор правила, подлежащего активизации

3)выполнение действий, предписанных правилами.

Такой 3ех шаговый циклический процесс иногда называют циклом «распознавание-действие». Сразу после запуска появляется

CLIPS>

В режиме интерпретатора пользователь может использовать множество команд. Факты можно включить в базу фактов из командной строки с помощью команды

CLIPS>(assert ( today is Sunday))

Выдаст <Fact-0>

CLIPS>(assert ( weather is warm))

<Fact-1>

Для вывода списков фактов, имеющихся в базе, используется команда (fatc).

Для удаления фактов из базы используется команда (retract 1)

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

Часто используются команда Clear –очищает базу фактов.

В тексте программы факты можно включать не по одиночке, а целым массивом.

(deffacts today

(today is Sunday)

(weather is warm))

Выражение начинается с команды deffacts, затем приводится имя списка фактов, который нужно определить, а за ним следуют элементы списка, причем их кол-во не ограничивается. Этот массив фактов можно затем удалить из базы командой (undefacts today ) выражение можно вводить в командную строку интерпретатора, но лучше в текстовый файл, с помощью текстового редактора. Загрузить можно с помощью среды, либо из командной строки, либо через меню. Файл должен иметь расширение clp. Однако после загрузки файла факты не передаются сразу же в базу фактов clips, команда deffacts просто указывает интерпретатору, что существует массив today, который содержит множество фактов. Собственно загрузка выполняется командой (reset). Команда сначала очищает базу фактов, а затем включает в нее факты из всех ранее загруженных массивов, она также добавляет в базу единственный системно определенный факт (initial-fatc). Это делается по умолчанию, поскольку иногда имеет смысл включить в программу правило start rule, которое может быть сопоставлено с этим фактом, и позволит выполнять какие-либо нестандартные инициализирующие операции, можно проследить, как выполняется команда reset, если перед выполнение приведенных выше команд установить режим слежения среды разработки, для этого нужно вызвать команду watch из меню execution и установить флажок facts.

Определение правил.

Правила имеют следующий формат:

(defrule <имя правила>

<необязательный комментарий>

<необязательное объявление>

<предпосылка 1>

….

<предпосылка m>

=>

<действие1>

<действиеn>

)

Предпосылки в условной части правила сопоставляются затем интерпретатором с базой фактов, а действия, перечисленные в выполняемой части правила вставят в базу факты, в случае, если правило будет активизировано. Выражение … указывает на важность правила.

При одинаковых предпосылках будет конкуренция между правилами, предпочтение будет отдано правилу, у которого параметр salience больше. Параметру может быть присвоено любое целочисленное значение от -10000 до 10000, если параметр отсутствует, то ему по умолчанию присваивается значение 0.

Переменные обозначают с префиксом ?X