Программирование на языке CLIPS

Содержание

Слайд 2

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

Основные модули CLIPS

CLIPS включает
язык представления порождающих правил;
язык описания процедур.

Слайд 3

Основные компоненты языка описания правил Основными компонентами языка описания правил являются:

Основные компоненты языка описания правил

Основными компонентами языка описания правил являются:
база фактов

(fact base);
база правил (rule base).
На них возлагаются следующие функции:
база фактов представляет исходное состояние проблемы;
база правил содержит операторы, которые преобразуют состояние проблемы, приводя его к решению.
Слайд 4

Машина логического вывода CLIPS Машина логического вывода CLIPS циклически сопоставляет факты

Машина логического вывода CLIPS

Машина логического вывода CLIPS циклически сопоставляет факты и

правила и выясняет, какие из правил можно активизировать.
Каждый цикл состоит из трех шагов:
сопоставление фактов и правил;
выбор правила, подлежащего активизации;
выполнение действий, предписанных правилом.
Такой трехшаговый циклический процесс иногда называют "циклом распознавание— действие".
Слайд 5

Правила и функции в CLIPS 1.1. Факты

Правила и функции в CLIPS

1.1. Факты

Слайд 6

Включение в базу фактов Сразу после запуска CLIPS-приложения на выполнение на

Включение в базу фактов

Сразу после запуска CLIPS-приложения на выполнение на экране

появится приглашение, извещающее пользователя, что он работает с интерпретатором.
CLIPS>
В режиме интерпретатора пользователь может использовать множество команд
Слайд 7

Включение в базу фактов Факты можно включить в базу фактов прямо

Включение в базу фактов

Факты можно включить в базу фактов прямо из

командной строки с помощью команды assert, например:
CLIPS> (assert (today is Sunday))

CLIPS> (assert (weather is warm))

Слайд 8

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

Вывод списка фактов

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

facts:
CLIPS> (facts)
f-0 (today is Sunday)
f-1 (weather is warm)
В последних версиях CLIPS, в частности, в той, которая работает в операционной среде Windows, такие команды, как facts, можно вызывать с помощью меню.
Слайд 9

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

Удаление фактов из базы

Для удаления фактов из базы используется команда retract.
CLIPS>

(retract 1)
CLIPS> (facts)
f-0 (today is Sunday)
Слайд 10

Включение в базу массива фактов В тексте программы факты можно включать

Включение в базу массива фактов

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

базу не по одиночке, а целым массивом.
Для этого в CLIPS имеется команда deffacts.
(deffacts today
(today is Sunday)
(weather is warm) )
Выражение начинается с команды deffacts, затем приводится имя списка фактов, который необходимо определить (в нашем примере — today), а за ним следуют элементы списка, причем их количество не ограничивается.
Слайд 11

Удаление массива фактов Массив фактов можно удалить из базы командой undeffacts: CLIPS> (undeffacts today)

Удаление массива фактов

Массив фактов можно удалить из базы командой undeffacts:
CLIPS> (undeffacts

today)
Слайд 12

Загрузка фактов из файла Выражение deffacts можно записать в текстовый файл

Загрузка фактов из файла

Выражение deffacts можно записать в текстовый файл с

помощью редактора CLIPS или любого другого текстового редактора.
Загрузить этот файл в дальнейшем можно с помощью команды в меню File либо из командной строки.
CLIPS> (load "my file")
Слайд 13

Команда reset Однако после загрузки файла факты не передаются сразу же

Команда reset

Однако после загрузки файла факты не передаются сразу же в

базу фактов CLIPS.
Команда deffacts просто указывает интерпретатору, что существует массив today, который содержит множество фактов.
Собственно загрузка выполняется командой reset.
CLIPS> (reset)
Слайд 14

Команда reset Команда reset сначала очищает базу фактов, а затем включает

Команда reset

Команда reset сначала очищает базу фактов, а затем включает в

нее факты из всех ранее загруженных массивов. Она также добавляет в базу единственный системно определенный факт:
f-0 (initial-fact)
Слайд 15

Системно определенный факт Добавление системно определенного факта делается по умолчанию, поскольку

Системно определенный факт

Добавление системно определенного факта делается по умолчанию, поскольку иногда

имеет смысл включить в программу правило start rule, которое может быть сопоставлено с этим фактом и позволит выполнить какие-либо нестандартные инициализирующие операции.
Слайд 16

Режим слежения среды разработки Можно проследить, как выполняется команда reset, если

Режим слежения среды разработки

Можно проследить, как выполняется команда reset, если перед

выполнением приведенных выше команд установить режим слежения среды разработки.
Для этого нужно вызвать команду Watch из меню Execution и установить в ней флажок Facts.