Слайд 2Основные модули CLIPS
CLIPS включает
язык представления порождающих правил;
язык описания процедур.
![Основные модули CLIPS CLIPS включает язык представления порождающих правил; язык описания процедур.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-1.jpg)
Слайд 3Основные компоненты языка описания правил
Основными компонентами языка описания правил являются:
база фактов (fact
![Основные компоненты языка описания правил Основными компонентами языка описания правил являются: база](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-2.jpg)
base);
база правил (rule base).
На них возлагаются следующие функции:
база фактов представляет исходное состояние проблемы;
база правил содержит операторы, которые преобразуют состояние проблемы, приводя его к решению.
Слайд 4Машина логического вывода CLIPS
Машина логического вывода CLIPS циклически сопоставляет факты и правила
![Машина логического вывода CLIPS Машина логического вывода CLIPS циклически сопоставляет факты и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-3.jpg)
и выясняет, какие из правил можно активизировать.
Каждый цикл состоит из трех шагов:
сопоставление фактов и правил;
выбор правила, подлежащего активизации;
выполнение действий, предписанных правилом.
Такой трехшаговый циклический процесс иногда называют "циклом распознавание— действие".
Слайд 5Правила и функции в CLIPS
1.1. Факты
![Правила и функции в CLIPS 1.1. Факты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-4.jpg)
Слайд 6Включение в базу фактов
Сразу после запуска CLIPS-приложения на выполнение на экране появится
![Включение в базу фактов Сразу после запуска CLIPS-приложения на выполнение на экране](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-5.jpg)
приглашение, извещающее пользователя, что он работает с интерпретатором.
CLIPS>
В режиме интерпретатора пользователь может использовать множество команд
Слайд 7Включение в базу фактов
Факты можно включить в базу фактов прямо из командной
![Включение в базу фактов Факты можно включить в базу фактов прямо из](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-6.jpg)
строки с помощью команды assert, например:
CLIPS> (assert (today is Sunday))
CLIPS> (assert (weather is warm))
Слайд 8Вывод списка фактов
Для вывода списка фактов, имеющихся в базе, используется команда facts:
CLIPS>
![Вывод списка фактов Для вывода списка фактов, имеющихся в базе, используется команда](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-7.jpg)
(facts)
f-0 (today is Sunday)
f-1 (weather is warm)
В последних версиях CLIPS, в частности, в той, которая работает в операционной среде Windows, такие команды, как facts, можно вызывать с помощью меню.
Слайд 9Удаление фактов из базы
Для удаления фактов из базы используется команда retract.
CLIPS> (retract
![Удаление фактов из базы Для удаления фактов из базы используется команда retract.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-8.jpg)
1)
CLIPS> (facts)
f-0 (today is Sunday)
Слайд 10Включение в базу массива фактов
В тексте программы факты можно включать в базу
![Включение в базу массива фактов В тексте программы факты можно включать в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-9.jpg)
не по одиночке, а целым массивом.
Для этого в CLIPS имеется команда deffacts.
(deffacts today
(today is Sunday)
(weather is warm) )
Выражение начинается с команды deffacts, затем приводится имя списка фактов, который необходимо определить (в нашем примере — today), а за ним следуют элементы списка, причем их количество не ограничивается.
Слайд 11Удаление массива фактов
Массив фактов можно удалить из базы командой undeffacts:
CLIPS> (undeffacts today)
![Удаление массива фактов Массив фактов можно удалить из базы командой undeffacts: CLIPS> (undeffacts today)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-10.jpg)
Слайд 12Загрузка фактов из файла
Выражение deffacts можно записать в текстовый файл с помощью
![Загрузка фактов из файла Выражение deffacts можно записать в текстовый файл с](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-11.jpg)
редактора CLIPS или любого другого текстового редактора.
Загрузить этот файл в дальнейшем можно с помощью команды в меню File либо из командной строки.
CLIPS> (load "my file")
Слайд 13Команда reset
Однако после загрузки файла факты не передаются сразу же в базу
![Команда reset Однако после загрузки файла факты не передаются сразу же в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-12.jpg)
фактов CLIPS.
Команда deffacts просто указывает интерпретатору, что существует массив today, который содержит множество фактов.
Собственно загрузка выполняется командой reset.
CLIPS> (reset)
Слайд 14Команда reset
Команда reset сначала очищает базу фактов, а затем включает в нее
![Команда reset Команда reset сначала очищает базу фактов, а затем включает в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-13.jpg)
факты из всех ранее загруженных массивов. Она также добавляет в базу единственный системно определенный факт:
f-0 (initial-fact)
Слайд 15Системно определенный факт
Добавление системно определенного факта делается по умолчанию, поскольку иногда имеет
![Системно определенный факт Добавление системно определенного факта делается по умолчанию, поскольку иногда](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-14.jpg)
смысл включить в программу правило start rule, которое может быть сопоставлено с этим фактом и позволит выполнить какие-либо нестандартные инициализирующие операции.
Слайд 16Режим слежения среды разработки
Можно проследить, как выполняется команда reset, если перед выполнением
![Режим слежения среды разработки Можно проследить, как выполняется команда reset, если перед](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041454/slide-15.jpg)
приведенных выше команд установить режим слежения среды разработки.
Для этого нужно вызвать команду Watch из меню Execution и установить в ней флажок Facts.