Оболочка создания экспертной системы Clips Группа: Выполнила: Р-522 Ю. А. Осипова Понятие CLIPS CLIPS (С Language Integrated Production System) является одним из распространенных инструментальных средств разработки экспертных систем (ЭС). Представляя собой логически полную среду, содержащую встроенный редактор и средства отладки, CLIPS является оболочкой ЭС. Разработчиком CLIPS является Национальное Аэрокосмическое Агентство США. Классификация моделей представления знаний CLIPS использует продукционную модель представления знаний и поэтому содержит три основных элемента: 1. список фактов 2. базу знаний 3. блок вывода При формализации знаний существует проблема, затрудняющая использование традиционного математического аппарата. Это проблема описания понятий, оперирующих качественными характеристиками объектов (юность, зрелость, детство и т. п.). Эти характеристики обычно размыты, и не могут быть однозначно интерпретированы, однако содержат важную информацию (например, “одним из возможных признаков возраста является юность”). Нечёткие множества, определяющие значение переменной «возраст» Формирование нечётких множеств Преимущества Clips: • Полностью реализована на языке С, где • • исходные тексты ее программ опубликованы в сети Интернет В CLIPS используется оригинальный LIPSподобный язык программирования, ориентированный на разработку ЭС CLIPS поддерживает две парадигмы программирования: -объектно-ориентированную -процедурную Функцией в CLIPS Под функцией в CLIPS понимается фрагмент исполняемого кода, с которым связано уникальное имя и который возвращает полезное значение или имеет полезный побочный эффект (например, вывод информации на экран). Основные стандартные арифметические и математические функции: • • • • • • • • • • + Сложение - Вычитание * Умножение / Деление * * Возведение в степень Abs Определение абсолютного значения Sqrt Вычисление квадратного корня Mod Взятие по модулю Min Нахождение минимума Мах Нахождение максимума В CLIPS существует несколько описывающих конструкций: -defmodule, -defrule, -deffacts, -deftemplate, -defglobal, -deffunction, -defclass, -definstances, -Defgeneric, -defmessage-handler Факты Факты являются одной из основных форм представления информации в системе CLIPS. Каждый факт представляет фрагмент информации, который был помещен в текущий список фактов, называемый fact-list. Факт представляет собой основную единицу данных, используемую правилами. Факты Существует два основных вида фактов: 1. Статические 2. Неизменные Общая структура конструкции deftemplate такова: (deftemplate ) (slot-1) (slot-2) … (slot-N) имя слота или полей Правила Правило состоит из двух частей: 1. антицедента (условия), который является аналогом условия в if-then операторе и записывается слева 2. консеквента (заключения), который является аналогом then части этого оператора записывается справа. Переменные Как и в других языках программирования, в CLIPS для хранения значений используются переменные. В отличие от фактов, содержание переменной динамично и изменяется по мере того, как изменяется присвоенное ей значение. Идентификатор переменной всегда начинается с вопросительного знака, за которым следует ее имя. Заключение CLIPS предлагает аппарат для работы с нечёткими множествами, что может быть полезно для математиков, ведущих работу в области прогнозирования и оценки качества. В более широком смысле язык CLIPS можно использовать для построения экспертных систем, которые смогут заменить человека при принятии решений, основанных на логическом выводе, например, при постановке диагноза на основе базы симптомов.