Разработка интеллектуального редактора базы знаний для создания экспертных систем в среде cups

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

8. Ершов А.Р., Хамисов О.В. Автоматическая глобальная оптимизация // Журн. Дискретный анализ и исследование операций. - 2004. - Т. 11, № 2. - С. 45-68.

9. Горнов А.Ю., Диваков А.О. Комплекс программ для численного решения задач оптимального управления. Руководство пользователя. - Иркутск, 1990. - 27 с.

10. Хайрер Э., Нерсетт С, Ваннер Г. Решение обыкновенных дифференциальных уравнений. Нежесткие задачи: Пер. с англ. - М.: Мир, 1990. - 512 с.

11. Тятюшкин А.И. Численные методы и программные средства оптимизации управляемых систем. -Новосибирск: Наука. Сиб. отд-ние, 1992. - 193 с.

12. Горнов А.Ю., Данеева А.В. Подход к исследованию невыпуклых задач оптимального управления с параллелепипедными ограничениями // Вестник Бурятского университета. Серия 13: Математика и информатика. Вып. 2. - Улан-Удэ: Изд-во Бурятского госуниверситета, 2005. - С. 125-131.

13. Батурин В.А., Урбанович Д.Е. Приближенные методы оптимального управления, основанные на принципе расширения. -Новосибирск: Наука. Сиб. предприятие РАН. 1997. -175 с.

14. Ащепков Л.Т. Оптимальное управление разрывными системами. - Новосибирск: Наука, 1987.-226 с.

Федоров В.В., Молчанова Е.И.

УДК 004.85

РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОГО РЕДАКТОРА БАЗЫ ЗНАНИЙ ДЛЯ СОЗДАНИЯ ЭКСПЕРТНЫХ СИСТЕМ В СРЕДЕ CUPS

Актуальность.

Анализ современного состояния рынка информационных систем (ИС) показывает устойчивую тенденцию роста спроса на ИС организационного управления. Причем спрос продолжает расти именно на интегрированные системы управления. Автоматизация отдельной функции, например, бухгалтерского учета или сбыта готовой продукции, считается уже пройденным -паном для многих предприятий. ИС специалистов - обеспечивают работу с данными и -знаниями, повышают продуктивность и производительность работы инженеров и проектировщиков. Одним из направлений таких ИС являются экспертные системы (ЭС), осуществляющие поддержку принятия решений. В ИрГУПС выполняется разработка экспертной системы для обучения инженера-методиста по рентгенофлуоресцентному анализу. Число потенциальных потребителей этой системы очень велико. Только отечественные рентгеновские спектрометры, выпущенные ЗАО «Научприбор», работают более

чем на 500 предприятиях металлургии, цементной и стекольной промышленности, в машиностроении и в научных учреждениях. Кроме того, многие заводские лаборатории оснащены аналитическими комплексами импортного производства. Проблемы, на решение которых направлен проект, сформулированы в Федеральной целевой программе - Национальная технологическая база - раздел VII (направление 78), раздел XVIII (направление 168).

Предлагаемые методы и подходы.

Осуществляемый проект отвечает требованиям, предъявляемым к программным комплексам нового поколения: имеет многослойную архитектуру, предусматривающую использование серверов приложений и серверов баз данных; ориентирован на работу в вычислительных сетях; имеет свойство расширяемости программного обеспечения (Рис.1).

В качестве среды разработки экспертной системы выбран Clips.Clips - С Language Integrated Production System (продукционная система, интегрируемая с языком С) [1].

©

УПРАВЛЕНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

Рис. 1. Структура экспертной системы

Clips представляет собой современный инструмент, предназначенный для создания экспертных систем (expert system tools, система управления экспертными системами, СУЭС). Clips состоит из интерактивной среды - экспертной оболочки со своим способом представления знаний, гибкого и мощного языка, а так же нескольких вспомогательных элементов.

Кроме того, данная СУЭС является плат-формонезависимой, т.е. устанавливается как на операционные системы семейства Unix, так и на системы Windows.

Среда Clips позволяет создавать продукционные и фреймовые БЗ и требует от разработчика ЭС детального знания ее процедурного и объектно-ориентированного языка. При использовании стандартного интерпретатора команд, создание БЗ занимает очень много времени. В месте с тем, для описания отдельных разделов даже одной предметной области необходимо создавать отдельные базы знаний (БЗ). Процесс разработки ЭС можно существенно ускорить, создав универсальный инструмент, предоставляющий инженеру по знаниям визуальный интерфейс, содержащий набор шаблонов для заполнения БЗ.

Цель. Целью данной работы являлось создание интеллектуального редактора базы знаний для разработки экспертных систем в среде Clips.

Для достижения поставленной цели необходимо было решить следующие задачи:

- Выбрать программные средства для реализации редактора БЗ.

- Спроектировать структуру базы данных (БД), в которой будут храниться данные и знания в процессе заполнения БЗ.

- Разработать визуальные интерфейсы, соответствующие элементам процедурного и объектно-ориентированного языка Clips.

Проектирование структуры редактора базы знаний. База знаний Clips представляет

собой текстовый файл, содержащий команды интерпретирующего языка Clips, для структурирования знаний и запуска машины выводов. Процесс создания БЗ достаточно длительный и не может быть выполнен за один сеанс. В связи с чем, нами предложено хранить шаблоны элементов языка Clips, используемые для создания реальных БЗ в различных предметных областях, в реляционной базе данных. После завершения создания всех шаблонов выполняется команда генерации текстового файла в формате Clips.

Поскольку БЗ предназначена для использования в сети Интернет, в качестве реляционной СУБД выбран MySQL 5. Данная СУБД является платформо-независимой, не требует больших системных ресурсов, поддерживает создание связей между таблицами. Посредством Web-сервера Apache и языка серверных сценариев php, БД может быть доступна для наполнения и редактирования инженеру по знаниям, находящемуся в любой удаленной точке земного шара.

При проектировании схемы БД учитывали, что некоторые элементы языка Clips имеют сложную структуру. В связи с чем, выполнена декомпозиция сложных элементов языка Clips, таких как факты и классы на структурные составляющие. Например, шаблон для создания классов представлен таблицами Classes (имена классов), Classslot (слоты класса их грани и ограничения), Dmh (обработчики сообщений). Назначение таблиц в БД интеллектуального редактора БЗ для разработки экспертных систем в среде Clips представлено в табл. 1.

Последовательность заполнения БЗ представляет собой иерархию или дерево, согласно которому инженер по знаниям сначала определяет предметную область, затем создает новый или открывает ранее созданный проект. В каждом проекте содержится несколько модулей, с помощью которых можно группировать отдельные элементы базы знаний и управлять

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

Таблица 1

Назначение таблиц БД

Наименование таблицы Хранимая информация

1 2

Modul Программные модули

Project Перечень разрабатываемых проектов

Rooles Сформулированные правила

Fact slot Слоты фактов из таблицы Fact

Classes Сформулированные классы

Class slot Слоты классов из таблицы Classes

Dmh Сформулированные обработчики сообщений

Fact Сформулированные неупорядоченные факты, упорядоченные факты или шаблоны фактов

Func Сформулированные функции CLIPS

Rod Сформулированные родовые функции

Area Перечень предметных областей

Global Перечень глобальных переменных

процессом доступа к этим элементам во время решения задач. Каждый модуль, в зависимости от назначения, содержит в себе набор фактов, правил, обработчиков сообщений, функций или глобальных переменных.

Этой схеме заполнения БЗ соответствует логическая схема БД, представленная на рис.2 в виде сущностей и их ключевых атрибутов.

Разработка визуальных интерфейсов пользователя. Инженер по знаниям, разрабатывающий экспертную систему, не обязан владеть технологиями работы с реляционными БД, поэтому, ему необходимо предоставить визуальные Web-интерфейсы, позволяющие генерировать шаблоны БЗ. С этой целью разработаны соответствующие визуальные шаблоны в виде Web-форм для каждого отдельного элемента (переменная, функция, факт, класс, правило и т.д.) языка Clips. Сложные элементы были представлены в виде фрейма, слотами которого являлись атрибуты элемента [2, 3].

Например, чтобы создать неупорядоченный факт с помощью конструктора языка Clips deftemplate, необходимо задать имя факта и описать входящие в него слоты (один или несколько). При создании слота указывается его имя, тип и значение по умолчанию (DEFAULT), если это необходимо (рис. 3.). Аналогично выполняется описание слотов классов. Так класс Химический элемент, используемый в БЗ по рентгенофлуоресцентно-му анализу, можно представить слотами Сим-

вол, Порядковый номер, Атомный вес и муль-тислотами Края поглощения и Линии спектра флуоресценции.

Класс Анализируемый материал определяется слотами Тип материала, Наименование продукта, Элемент - основа, Сумма содержаний (включая основу), Фазовый состав, муль-тислотом Элемент, который наследует символы элементов от класса Химический элемент, а также мульти слотами Химическое соединение, и Доля элемента.

В процессе работы интерпретатора Clips активация конструктора приводит к появлению в текущей базе знаний CUPS информации о шаблоне факта, с помощью которого в систему в дальнейшем можно будет добавлять факты, соответствующие данному шаблону.

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

Правила состоят из предпосылок и следствия (рис. 4).

Предпосылки называются так же ЕСЛИ -частью правила, левой частью правила или LHS правила (left-hand side of rule). Предпосылки правила представляют собой набор условий (или условных элементов), которые должны удовлетворяются, для того чтобы пра-

УПРАВЛЕНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

Рис. 2. Логическая схема базы данных

Рис. 3. Фрейм неупорядоченный факт

Рис. 4. Фрейм правило

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

вило выполнилось. Предпосылки правил удовлетворяются в зависимости от наличия или отсутствия некоторых заданных фактов в списке фактов или некоторых созданных объектов, являющихся экземплярами классов, определенных пользователем. Один из наиболее распространенных типов выражений в CLIPS - образцы. Образцы состоят из набора ограничений, которые используются для определения того, удовлетворяет некоторый факт или объект условному элементу. Следствие называется ТО - частью правила, правой частью или 11HS правила (right-hand side of rule). Следствие правила представляется набором некоторых действий, которые необходимо выполнить, в случае если правило применимо к текущей ситуации.

В нашем примере создания БЗ для разработки методики РФА выбор переменных (содержания С или интенсивности флуоресценции I влияющих элементов) в уравнении связи осуществляется проверкой значений слотов Сумма содержаний (summa) и Фазовый состав (phases) объекта Анализируемый материал (material). Для этого используются. например, правила:

(defrule Select_variable_C

(object (is-a material) (summa 1) (phases

homogeneous)) =>

(or (not (phases homogeneous))) =>

В качестве инструмента для заполнения слотов фреймов функций пользователя, родовых функций, обработчиков сообщений и правил был разработан фрейм - построитель (Builder), который позволяет составлять сложные выражения из существующих слотов фактов и классов, внутренних и внешних функций (рис. 5). Каждый фрейм, соответствующий элементу языка Clips, в окне построителя представлен комбинированным списком. Значения строк списка формируются из данных таблиц БД.

При разработке построителя использовался язык программирования Java Scripts, благодаря чему при выборе из списка любой функции, факта, правила, слота объект автоматически передается в формируемое выражение. Это позволяет реализовать собственный механизм наследования от структур, данных и знаний, хранящихся в БД.

Выводы

Разработан редактор БЗ, позволяющий визуальными средствами создавать элементы представления данных и знаний для их последующей интерпретации машиной выводов Clips, что позволяет унифицировать и ускорить процесс разработки экспертных систем. Элементы языка Clips представлены в виде фреймов. Предложен специальный фрейм -построитель для заполнения слотов функций пользователя, родовых функций, обработчиков сообщений и правил.

БИБЛИОГРАФИЯ

1. Частиков А.П. Разработка экспертных систем в среде CLIPS // М.: БХВ. 2003. 606 с.

2. Гома X. UML проектирование систем реального времени, параллельных и распределенных приложений // М.: ДМК. 2002. 698 с.

3. Минский, М. Фреймы для представления знаний // М. Минский; пер. с англ. М.: Энергия, 1979 - 151 с.

Рис. 5. Фрейм «построитель»