Запросы и наборы объектов
В дополнение к возможности использовать объекты в процессе сопоставления образцов правил, COOL поддерживает гибкую систему запросов, позволяющую использовать заданные пользователем критерии для выборки некоторого набора объектов и выполнения над ним определенных действий. Запросы позволяют объединять в наборы объекты самых разных классов. Запросы можно использовать, например, для проверки существования того или иного набора объектов, выполнения действий над набором или сохранения ссылки на набор для последующего использования. Подробное описание этой возможности COOL с примерами использования приведено в гл. 11.
ЧАСТЬ III.Основные конструкции CLIPS.
Глава 5.Факты.
Глава 6.Правила.
Глава 7.Глобальные переменные.
Глава 8.Функции.
Глава 9.Разработка экспертной системы AutoExpert.
ГЛАВА 5. Факты.
Для функционирования любой экспертной системы критически важным является наличие базы знаний. Об этом говорит даже тот факт, что в последнее время все чаще термин "система, основанная на знаниях" (knowledge-base system) употребляется в качестве синонима термина "экспертная система". Как правило, в любой экспертной системе знания представляются фактами и правилами, заданными на некотором языке описания знаний. CLIPS не является исключением и предоставляет возможности для приобретения, хранения и обработки фактов и правил. Данная глава посвящена способам работы с фактами в системе CLIPS. Работа с правилами будет описана в следующей главе.
Факты в CLIPS
Факты — одна из основных форм представления данных в CLIPS (существует также возможность представления данных в виде объектов и глобальных переменных, но об этом речь пойдет позже). Каждый факт представляет собой определенный набор данных, сохраняемый в текущем списке фактов — рабочей памяти системы. Список фактов представляет собой универсальное хранилище фактов и является частью базы знаний. Объем списка фактов ограничен только памятью вашего компьютера. Список фактов хранится в оперативной памяти компьютера, но CLIPS предоставляет возможность сохранять текущий список в файл и загружать список из ранее сохраненного файла.
В системе CLIPS фактом является список неделимых (или атомарных) значений примитивных типов данных. CLIPS поддерживает два типа фактов -упорядоченные факты (ordered facts) и неупорядоченные факты или шаблоны (non-ordered facts или template facts). Ссылаться на данные, содержащиеся в факте, можно либо используя строго заданную позицию значения в списке данных для упорядоченных фактов, либо указывая имя значения для шаблонов.
Факты можно добавлять, удалять, изменять и дублировать, вводя соответствующие команды с клавиатуры, либо из программы. Все соответствующие команды будут описаны в данной главе.
После добавления факта в список фактов ему присваивается целый уникальный идентификатор, называемый индексом факта (fact-index). Индекс первого факта равен нулю, в дальнейшем индекс увеличивается на единицу при добавлении каждого нового факта. CLIPS предоставляет команды, очищающие текущий список фактов или всю базу знаний, эти команды присваивают текущему значению индекса 0.
Некоторые команды, например изменения, удаления или дублирования фактов, требуют указания определенного факта. Факт можно задать либо индексом факта, либо его адресом. Адрес факта представляет собой переменную-указатель, хранящую индекс факта. Процесс создания адресов фактов будет описан ниже.
Упорядоченные факты состоят из поля, обязательно являющимся данным типа symbol и следующей за ним, возможно пустой, последовательности полей, разделенных пробелами. Ограничением факта служат круглые скобки.
Дата добавления: 2021-12-14; просмотров: 315;