Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
ш
Таким образом, в новой конструкции регулярной насадки, выполненной из гофрированных листов, создаются благоприятные условия для протекания процессов тепло- и массообмена между газом и жидкостью, и можно заключить, что предложенная насадка окажется конкурентоспособной в сравнении с насадками известных конструкций.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Бальчугов А. В., Васильев А. В., Кузора И. Е.
Регулярная насадка для тепло- и массообмен-
ных аппаратов // Заявка о выдаче патента № 2011107769.
2. Аксельрод Ю. В. Газожидкостные хемосорб-ционные процессы. - М. : Химия, 1989 -240 с.
3. Рамм В. М. Абсорбция газов. - М. : Химия, 1976. - 620 с.
4. Дж. Перри. Справочник инженера-химика. Т. 1. - Л. : Химия, 1969. - 640 с.
5. Павлов К. Ф., Романков П. Г., Носков А. А. Примеры и задачи по курсу процессов и аппаратов химической технологии. - Л. : Химия, 1976. - 552 с.
УДК 004.896(06) Молчанова Елена Ивановна,
д-р техн. наук, профессор, профессор кафедры информатики ИрГУПС,
e-mail: [email protected] Федоров Вячеслав Викторович, начальник отдела РиСПО ИрГУПС, e-mail: [email protected]
Щербаков Иван Вячеславович, аспирант, ИрГУПС, e-mail: [email protected]
МЕТОДИЧЕСКИЙ ПОДХОД К СОЗДАНИЮ ГИБРИДНЫХ ЭКСПЕРТНЫХ СИСТЕМ КАК WEB-ПРИЛОЖЕНИЙ
E.I. Molchanovа, V. V. Fedorov, I. V. Shcherbakov
METHODICAL APPROACH TO BUILDING HYBRID EXPERT SYSTEMS AS WEB-BASED APPLICATIONS
Аннотация. Предложен методический подход к созданию гибридных экспертных систем как web-приложений. Подход основан на разработке унифицированной модели базы знаний, не привязанной к онтологии предметной области. В качестве решателя используется система CLIPS, взаимодействие оболочки экспертной системы с пакетами прикладных программ осуществляется с помощью специально разработанной программы - демона CLIPS.
Ключевые слова: гибридная экспертная система, база знаний, база данных, механизм логического вывода, пакеты прикладных программ.
Abstract. We propose a methodological approach to the development of hybrid expert systems as web-based applications. The approach is based on developing a unified model of the knowledge base unattached to the domain ontology. System of CLIPS is used as a solver, the interaction of expert system shell with the application package is carried out by using a specially designed program - daemon CLIPS.
Keywords: hybrid expert system, knowledge base, database, inference, application packages.
Введение
В ИрГУПС выполняется разработка оболочки для создания гибридной экспертной системы (ЭС). Предметной областью разрабатываемой экспертной системы является рентгенофлуоресцент-ный метод анализа (РФА). Этот метод анализа химического состава вещества обладает развитой теорией и для решения своих задач традиционно привлекает аппарат математического моделирования, математическую статистику, теорию планирования эксперимента, системы управления базами данных. Создано множество пакетов прикладных программ (ППП) и специализированных программных комплексов (ПК), реализующих те или иные из перечисленных выше задач, например [1]. Вместе с тем, корректное применение разработанных программ является задачей высокопрофессиональной и требует привлечения экспертных знаний, что и обусловило необходимость выполняемой разработки.
Экспертная система обучения основам использования математических моделей возбуждения интенсивности рентгеновской флуоресценции через сеть Интернет может быть использована
иркутским государственный университет путей сообщения
сотнями специалистов на предприятиях промышленности при разработке методик анализа. Только отечественные рентгеновские спектрометры, выпущенные ЗАО «Научприбор», работают более чем на 500 предприятиях металлургии, цементной и стекольной промышленности, в машиностроении и в научных учреждениях. Кроме того, многие заводские лаборатории оснащены аналитическими комплексами импортного производства.
Таким образом, проектируемая ЭС является гибридной и представляет собой ПК, агрегирующий средства манипулирования знаниями и пакеты прикладных программ. Разработка таких систем являет собой задачу на порядок более сложную, чем разработка автономной ЭС. Здесь требуется разработать средства взаимодействия не просто разных пакетов, а различных методологий, что порождает целый комплекс теоретических и практических трудностей. В связи с этим, нам придется использовать симбиоз языков представления знаний: фреймы + ассоциативные сети + полный набор возможностей языка исчисления предикатов [2].
Постановка задачи
Обобщенная структура экспертной системы представлена на рис. 1. Реальные ЭС могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой из них, поскольку представляют собой стандарт де-факто структуры современной ЭС [3]. Процесс функционирования ЭС можно представить следующим образом: пользователь, желающий получить необходимую информацию, через пользовательский интерфейс посылает запрос к ЭС; решатель, пользуясь базой знаний, генерирует и выдает пользователю подходящую рекомендацию, объясняя ход своих рассуждений при помощи подсистемы объяснений.
Рис. 1. Структура экспертной системы
Целью настоящих исследований является разработка методического подхода к созданию гибридной экспертной системы, предназначенной для работы в сети Интернет. В процессе анализа структуры проектируемой ЭС выделено пять подсистем: подсистема средств логического вывода (решатель), подсистема формализма представле-
ния знаний (БЗ), подсистема интеллектуального web-интерфейса с пользователем, подсистема интерфейса с ППП и подсистема объяснений.
Предлагаемые методы и подходы
Подсистема «решатель». Среди сложившихся подходов к построению средств вывода можно выделить следующие: от прикладной задачи, от модели или формализма представления знаний, от способа рассуждений экспертов, от класса задач или типов проблемных областей (ПрО), от вида обрабатываемых знаний и др. [4].
В ранних ЭС, широко описанных в литературе, например в [5], ориентированных на работу в конкретной ПрО, использовался подход «от прикладной задачи», позволявший наиболее точно учитывать специфику ПрО при реализации средств вывода. С появлением оболочек ЭС (первых инструментальных средств для построения ЭС) неявно декларировалось, что средства вывода, реализованные в них, и выбранная модель представления знаний одинаково хорошо подходят для решения уже целого класса неформализованных задач (НФ-задач) [4].
Создание специализированных инструментальных средств позволило строить ЭС, ориентированные как на конкретные классы НФ-задач, так и на определенные типы ПрО [4].
С усилением тенденций к интеграции различных систем и ЭС и гибридизации распространенных моделей представления знаний (фреймы, продукционные модели, нейронные сети и др.) соответственно усложнялись и средства вывода в составе прикладных ЭС [4]. Позднее наметилась тенденция к интеграции с подходами классического (императивного) программирования. Сближение парадигм традиционного программирования и искусственного интеллекта хорошо иллюстрируется разработкой языка R++ (С++ с добавлением правил) [6] и системы CLIPS (продукционная модель с добавлением объектно-ориентированных концепций) [7]. CLIPS (C Language Integrated Production System) - это инструмент разработки ЭС, созданный отделом программного обеспечения космического агентства NASA в Лондонском космическом центре имени Б. Джонсона.
Естественным развитием указанных тенденций явилось появление систем [8], в архитектурах которых к традиционным компонентам ЭС добавляется все разнообразие программных компонентов, реализующих методы прикладной математики и информационных систем. Предложенная в [9] задачно-ориентированная методология (ЗОМ) построения ЭС предполагает, что разработанные на ее основе системы поддерживают все этапы жизненного цикла в рамках единого системного под-
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
хода. Для удовлетворения описанным выше требованиям средства вывода в составе ИС должны, с одной стороны, сочетать в себе множество методов обработки знаний разного вида, а с другой -без вмешательства разработчика ИС позволять вносить изменения в алгоритмы вывода, обеспечивая достаточную гибкость и обладая разумной сложностью внесения изменений. Однако очевидно, как отмечают сами авторы работ [4, 9], что интеграция всех известных методов обработки знаний в рамках одной инструментальной среды невозможна ввиду их многообразия и гетерогенности. В текущей версии инструментального комплекса АТ-ТЕХНОЛОГИЯ [10], реализующего ЗОМ, средства вывода согласно концепции быстрого прототипирования оформлены в виде повторно используемого компонента (ПИК) - «универсальный решатель» (УР). На сегодняшний день УР может обрабатывать широкий спектр как достоверных, так и недостоверных знаний [9], однако выбор алгоритмов обработки знаний остается за разработчиком. Поскольку априори нельзя сказать, какой алгоритм больше подходит для конкретной задачи (скорее это можно выяснить только эмпирическим путем), то основной проблемой при формировании средств вывода становится невозможность быстрого внесения изменений в алгоритмы обработки знаний без перепрограммирования.
Таким образом, обсуждаемый выше подход, несмотря на всю сложность, трудно признать универсальным. В то же время, по требованиям к данной разработке, ЭС ориентирована на использование в сети Интернет, т. е. остается актуальной другая проблема - необходимость эксплуатации программного продукта с использованием весьма разнообразного перечня аппаратных средств. С этой точки зрения наиболее перспективным остается подход, реализованный в языке CLIPS. Хотя здесь не предусмотрена выработка байт-кодов, но предоставляется возможность создания готовой версии экспертной системы на стандартном языке С. Готовая версия может быть откомпилирована с помощью стандартного компилятора С для конкретной аппаратной платформы, после чего полученный исполняемый файл развертывается для эксплуатации на данной конкретной платформе. Это означает, что какая-либо «виртуальная машина CLIPS» не требуется. Одной из первоначальных целей проекта создания языка CLIPS была реализация использования этого языка для формирования экспертных систем, которые могут быть легко развернуты с применением любых новых аппаратных средств, которые когда-либо будут созданы [7].
Вторым безусловным преимуществом
CLIPS является возможность интеграции экспертной системы с другими существующими программами. Это означает, что приходится учитывать необходимость обеспечения связи и координации входных и выходных потоков данных экспертной системы с указанными программами. Программы на языке CLIPS допускают полноценную эксплуатацию в качестве вызывающих или вызываемых программных модулей. Еще один вариант состоит в том, что можно использовать или модифицировать исходный код на языке CLIPS и встроить этот код в свое приложение, а затем откомпилировать полученное программное обеспечение и подготовить для развертывания новое приложение.
Подсистема формализма представления знаний. Проектирование подсистемы, управляющей работой БЗ, зависит от выбранной методологии моделирования предметной области. Под моделью предметной области понимается некоторая система, имитирующая структуру или функционирование исследуемой предметной области и отвечающая основному требованию -быть адекватной этой области [11]. При создании очень крупных систем, состоящих из тысяч правил, практически невозможно обойтись без онто-логий. Онтология - это полное описание проблемной области, представленное с помощью формализованного способа [7].
Воспользуемся определением онтологии, предложенным в работе [12]. Онтология - набор определений фрагмента декларативных знаний на формальном языке, которые ориентированы на совместное многократное использование различными пользователями в своих приложениях:
O1 = {CI,RI,DI,DVI,DTI, AI,PI,RapI,RdvI}, (1) где C1 = {c1, ... , cn} - конечное множество концептов (под концептом будем понимать конструкцию, состоящую из объектов одного класса); R1 = Г..., r,}, R1 с C1 х C1, R1 = Rc1 ^ R1 ^ Rj -конечное множество бинарных отношений ri(cx, cy) между концептами;
Rc! с C1 х C1, R1 с R1 - бинарное отношение наследования, являющееся отношением частичного порядка множества концептов C;
R1 с {rT i, cx, ех } с C1 х C1, Rj с R1 - бинарное отношение «часть - целое»;
Rj с C1 х C1, Rj с R1 - конечное множество ассоциативных отношений; D = (dj, ... , dq} - конечное множество доменов; DV = (dvj, ... , dvu} - конечное множество конкретных значений стандартного типа, включенных в некоторый домен;
иркутским государственный университет путей сообщения
A' ={al,..., aw}, A' с< атрибутов,
т.
TD1 = D1 ^ {srting, boolen, integer, symbol, lexeme, float, number, instance - name, instance, byte, word, text...}
- множество типов данных, включающих множество доменов;
1С" х TD',
- конечное множество
[Я' х TD' е. бинарных отношений ai(cx, tdy) или ai(rx, tdy);
P = {p1, ... , pt} - конечное множество конкретных свойств атрибута;
Я^1 с A1 х P1 - бинарное отношение инцендент-ности между множествами атрибутов A и свойств атрибутов P;
ЯВу с D' х DV' - бинарное отношение инцен-дентности между множествами доменов D и доменных значений DV.
Верхний индекс I указывает на предметную область.
В работах научных школ ИСИ СО РАН (Новосибирск) [12], ИСЭМ СО РАН (Иркутск) [1315], РГГУ (Москва) [16] при проектировании БЗ онтология используется в качестве схемы хранилища данных. В этом случае схема базы данных повторяет структуру предметной области, а это означает, что при создании базы знаний для различных предметных областей приходится создавать различные базы данных (свою БД для каждой предметной области). Такой подход является не очень удобным, т. к. при разработке ЭС в новой предметной области потребуется каждый раз проектировать новую схему БД и разрабатывать соответствующий программный код, кроме того, каждая из созданных БД нуждается в администрировании. Здесь предлагается другой подход - использовать одну унифицированную схему БД для всех предметных областей. Результатом создания БЗ в среде CLIPS является текстовый файл, содержащий интерпретируемые команды. С этой целью разработана система шаблонов элементов языка CLIPS в виде иерархической комбинации фреймовых субиерархий. В процессе наполнения БЗ шаблоны хранятся в таблицах БД, а после завершения этого процесса генерируется результирующий текстовый файл. Для этого последовательно выполнено отображение онтологии предметной области в онтологию элементов языка CLIPS, а онтологию элементов языка CLIPS в онтологию реляционных отношений (рис. 2). Отношение - фундаментальное понятие реляционной модели данных. По этой причине модель и называется реляционной (от английского relation - отношение).
Рис. 2. Отображение онтологий
^-арным отношением R, или отношением R степени n, называют подмножество декартова произведения множеств, не обязательно различных. Исходные множества D1, D2, ..., Dn называют в модели доменами (в СУБД используется понятие «тип данных»).
Отношение имеет простую графическую интерпретацию, оно может быть представлено в виде таблицы, столбцы (поля, атрибуты) которой соответствуют вхождениям доменов в отношение, а строки (записи) — наборам из n значений, взятых из исходных доменов. Число строк (кортежей) называют кардинальным числом отношения (кардинальностью) или мощностью отношения.
Представим онтологию элементов языка CLIPS в виде иерархии (рис. 3).
Обяаатепыные параметры Дсйстпия
Рис. 3. Онтология элементов CLIPS
В предшествовавших исследованиях предложено каждый из элементов (концептов) CLIPS (уровень 2) представить в виде фрейма [17]. М. Минский определил фрейм как «структуру данных для представления стереотипных ситуаций» [18]. Фрейм служит средством, которое свя-
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
зывает декларативные и процедурные знания о некоторой сущности в структуру записей, которая состоит из слотов и наполнителей (filler). Структура фрейма представляется в виде:
N:(<Sj, Vj.Pj>,...,<Sk, Vk,Pk>,...,<Sn, Vn,Pn>}, (2) где N - имя фрейма; <Sh Vh Pk> (k = 1, ..., n) -слот; Sk - имя слота; Vk - значение слота; Pk - процедура.
Слоты - это структурные элементы фрейма, заполнение которых приводит к тому, что фрейм ставится в соответствие некоторой ситуации, явлению, объекту или процессу. Параметрами слота являются уникальное имя, значение, тип данных и наследование. Наследование определяет, какую информацию наследует данный слот из одноименного слота во фрейме верхнего уровня.
Имена фреймов и слотов обеспечивают интерпретируемость хранящихся во фреймах значений. Фреймы имеют свойство вложенности, т.к. значениями слота могут быть имена слотов более глубокого уровня. Значениями слотов могут быть приказы вызова процедур для активизации программ на основе имеющихся значений.
Таким образом, онтологию CLIPS можно определить как:
O = (P1, M11, Cf, Co11, R1, F1, Fn11}, (3) где верхний индекс II - указывает на онтологию языка CLIPS;
P1=(pj, ..., pk} - конечное множество проектов; определение проектов
M11 = {щ,...,щ },M11 с Pn - конечное множество
модулей, составляющих проект;
Cl11 = {cl...,cl },Cl11 сM11,
3 - конечное
Cl = {SK ,VK, P, RoK, Af, Cs, G, Scl}
множество классов, составляющих модуль, где (k = 1, ..., j) - слот; Sk - имя слота; Vk - значение слота; Pk- процедура (обработчик сообщений), Rok -роль, Ak - активность; C = (csj, ... , csz} - конечное множество ограничений; G = (gj, ... , g8} - восемь граней класса; Scl — супер-класс; Co11 = {o,..., cox }, Co11 с M, Co = {S^ V } - конечное множество постоянных, составляющих модуль, где (k=1,...,x) - слот; Sk - имя слота; Vk - значение слота;
R11 = {rl..., rlt}, R11 с M11, R = {Sr ,P^, SlK } -
конечное множество правил, составляющих модуль, где (k = 1,...,t) - слот; Sk - имя слота; Prk -предпосылки; Slk- следствия; Fn = {fx-, f},Fu сM11,F = {SK,VK,PK,Cs} -конечное множество фактов, составляющих модуль, где (k = 1, ... , h) - слот; Sk - имя слота; Vk -
значение слота; Pk- процедура; Cs = {cs1, ... , csk} - конечное множество ограничений. Fn11 = f..., fnn}, Fn11 с M", Fn = {SK ,VzK ,Re zx }. Конечное множество функций, составляющих модуль, где (k = 1 ,..., n) - слот; Sk - имя слота; Vzk -входные значения; Rezk- результат.
Между концептами могут существовать три типа отношений: агрегация, ассоциация, наследование. Отношения агрегации и наследования между концептами заложены в иерархии элементов языка CLIPS, представленных выше в виде фреймов. Кроме того, эти же отношения могут быть использованы при построении правил и обработчиков сообщений.
Под интеграцией понимаем процесс поиска связей между онтологиями [19].
Функция преобразования одной онтологии O1 = {C1, R1, D1, DV1, DT1, A1, P1, Rap1, R^1} к другой O11 = {P11, M11, Cl11, Co11, R11, F11, Fn11} называется отображением онтологии [19] F: niO1 ^O11.
Отображение может быть частичным в том смысле, что не для каждого понятия в исходной онтологии имеется эквивалент в другой онтологии. Полное отображение предполагает, что интерпретации, верные для онтологии O11, верны и для онтологии О1. Мы будем использовать полное отображение.
Чтобы определить схему реляционной БД для хранения БЗ, выполним декомпозицию элементов языка CLIPS, для чего используем реляционную операцию «проекция». Проекция происходит следующим образом: каждый концепт языка CLIPS уровней 0, 1 (рис. 3) выделен в самостоятельную сущность, элементы уровня 2 будут выделены в сущность с атрибутами уровня 3. Так же в сущности будут выделены те элементы уровня 3, которые имеют распространения на уровень 4.
Результатом будет онтология реляционных отношений БД, которую можно представить как:
O111 = {P111, Мш, Cl111, Cls111, Co111, Rm, F111, Fs111, Fn111, Os111}, здесь:
P111 - отношение проект;
Мш - отношение модуль;
Cl111 - отношение класс;
Cls111 - отношение слоты класса;
Co111 - отношение константы;
R111 - отношение правила;
F111 - отношение факты;
Fs111 - отношение слоты фактов;
Fn111 - отношение функция;
Os111 - отношение обработчик сообщений, где индекс III указывает на онтологию реляционной базы данных.
иркутский государственный университет путей сообщения
Таким образом, нами выполнено последовательное отображение онтологий: Б: п:01 ^0::, Бп ш:011 Отображение элементов онтологий представлено на рис. 4.
Рис. 4. Отображение элементов онтологий
Полученное на третьем уровне отображение онтологии предметной области соответствует логической модели БД, которая будет использоваться для хранения БЗ ЭС. Эта модель является унифицированной и подходит для широкого круга предметных областей в той мере, в которой их концептуальная структура может быть представлена с помощью онтологии, а отношения между концептами могут быть воспроизведены средствами языка CLIPS, с привлечением внешних функций из пакетов прикладных программ.
В качестве СУБД выбран MySQL5. Данный выбор обуславливается тем, что эта СУБД является платформонезависимой, не требует больших системных ресурсов, является свободно распространяемой, поддерживает создание связей между таблицами. Посредством web-сервера Apache и языка серверных сценариев php, БД может быть доступна инженеру по знаниям, а также пользователям ЭС, находящимся в любой удаленной точке земного шара.
Подсистема интеллектуального web-интерфейса с пользователем. Система CLIPS не обладает платформонезависимым графическим интерфейсом. Одним из инструментальных средств, результаты применения которого оказались очень успешными, является Protege -редактор онтологий и баз знаний. Это чрезвычайно сложное инструментальное средство предоставляется бесплатно Станфордским университетом. Система Protege используется вместе с TixCLIPS - интегрированной средой разработки для языка CLIPS, однако эта система не предназначена для многопользовательского доступа посредством web-технологий [7]. Поскольку разрабатываемая ЭС предназначена для обучения или
поддержки принятия решений пользователем посредством web, эксперты и пользователи могут находиться на значительном расстоянии друг от друга. В связи с этим, впервые предложено реализовать двухуровневое управление данными БД и БЗ. Первый уровень представлен подсистемой «Редактор БЗ CLIPS». Редактор используется экспертом и инженером по знаниям для формирования БЗ в виде фреймовых шаблонов элементов языка CLIPS [17]. Второй уровень представлен подсистемой «Обозреватель БЗ CLIPS». С помощью этой подсистемы шаблоны БЗ активируются данными, вводимыми пользователем, являющимися специфичными для конкретной задачи. Обе эти подсистемы и составляют интеллектуальный web-интерфейс с пользователем, реализованный с помощью языка серверных сценариев php. Функции подсистемы объяснений выполняет подсистема «Обозреватель БЗ CLIPS».
Подсистема интерфейса с пакетами прикладных программ. В языке CLIPS предусмотрены средства процедурного программирования, аналогичные C и Pascal. Данные средства представляют собой пользовательские функции, написанные на языке C. Использование пользовательских функций для реализации интерфейса с ППП накладывает существенные ограничения на гибридную экспертную систему - при добавлении нового ППП требуется компилировать систему CLIPS заново. Такой подход затрудняет создание ЭС в сети Интернет. Другим подходом к реализации интерфейса является создание внешней программы-демона CLIPS. В этом случае все аналитические функции для реализации интерфейса выполняются программой-демоном на объектно-ориентированном языке программирования ОО-ЯП, а пользовательские функции отвечают за обмен информацией между CLIPS и демоном. Демон реализован в качестве многопоточного приложения на платформонезависимом языке Java и позволяет обслуживать запросы от удаленных ЭС с использованием сокетов [20]. В качестве протокола обмена данными служит язык XML. Для реализации запуска ППП, написанных под DOS, используется виртуальная машина DosBox. Применение языка Java позволяет расширять функционал, не прибегая к перекомпиляции системы CLIPS.
Методы управления программным обеспечением. Перейдем к анализу методов управления программным обеспечением. В ходе анализа все взаимодействия представляются в виде событий. Существует два класса методов управления программным обеспечением: методы внешнего управления и методы внутреннего управления.
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
Известны три метода внешнего управления: последовательное управление процедурами; последовательное управление событиями; параллельное асинхронное управление. При последовательном управлении процедурами в каждый момент времени действует одна из процедур; это наиболее легко реализуемый способ управления. При последовательном управлении событиями управлением занимается монитор (диспетчер). При параллельном асинхронном управлении этим заведует несколько управляющих объектов (мониторов). Разрабатываемая нами оболочка для создания ЭС имеет интерактивный интерфейс и, следовательно, является системой, управляемой внешними воздействиями.
Построение гибридной ЭС как web-приложения предполагает использование параллельных процессов для обслуживания запросов, поступающих от удаленных пользователей.
Компонентами гибридной ЭС являются:
• «Обозреватель БЗ CLIPS» - позволяет просматривать и редактировать БЗ.
• «Редактор БЗ CLIPS» - позволяет создавать и редактировать экспертные системы, факты, правила, классы и т. д.
• БЗ - текстовый файл в формате CLIPS, предназначенный для хранения фактов, правил, классов и др. элементов языка.
• БД - предназначена для хранения информации из БЗ в структурированном виде.
• «Машина логического вывода CLIPS» - выполняет поиск решения.
• Демон «CLIPS» - подключает внешние прикладные программные продукты для реализации аналитических вычислений [20].
• Web-сервер - реализует механизмы взаимодействия между «Обозревателем БЗ CLIPS», «Редактором БЗ CLIPS» и клиентским приложением.
• Клиентское приложение - обеспечивает взаимодействие пользователя с гибридной экспертной системой (web-браузер).
• Внешняя программа для выполнения аналитических вычислений.
Данные компоненты представляют трехуровневую архитектуру гибридной ЭС (рис. 5).
Источником заявок служит пользователь. Заявки поступают по протоколу HTTP в очередь на web-сервер, который на основе информации об авторизации пользователя принимает решение, какому компоненту отправить заявку. Если пользователь не является экспертом по знаниям, то его заявка попадает в Обозреватель БЗ CLIPS. Обозреватель БЗ CLIPS обрабатывает запрос. Если
пользователю необходим запуск решателя, то в системе формируется новая заявка и отправляется в машину вывода CLIPS.
Если в процессе поиска решения необходим запуск внешней программы, то CLIPS формирует новую заявку, которая попадает в очередь заявок Демона CLIPS. Если ресурс свободен, то заявка покидает очередь, происходит обработка заявки и запускается внешняя программа. После ее завершения полученные данные обрабатываются Демоном CLIPS и передаются в машину выводов CLIPS, продолжается поиск решения. Когда решение найдено, полученные в результате поиска данные отправляются в Обозреватель БЗ CLIPS, который формирует web-страницу для отображения пользователю. Если запуск решателя не выполняется, то происходит извлечение или запись данных в БЗ, физически расположенную на сервере БД. После этого, Обозреватель БЗ CLIPS формирует web-страницу, которая выдается пользователю посредством web-сервера.
Гибридная экспертная система
1 1 к Web-i В 1аузер
f WeD-oepaep |
| ш CL j PS Iji Обозреватель базы знаний CL PS вы m Машина ас да Clips Демон CLIPS Внешняя программа
*l
i 1 8 энных База знание
Рис. 5. Трехуровневая архитектура гибридной экспертной системы
Результаты и обсуждение
Предложенный методический подход к созданию гибридных экспертных систем как web-приложений испытали при разработке «быстрого прототипа» ЭС по выбору модели матричной коррекции в РФА. Концепция «быстрого прототипа» заключается в том, что создается не экспертная система, а ее прототип, который должен решать типичные задачи и требовать на свою разработку незначительное время [7]. Этот прототип на стадии тестирования подтвердил пригодность методов разработки ЭС для данной области знаний.
иркутским государственный университет путей сообщения
Поскольку тестируемая модель БЗ не привязана к онтологии конкретной предметной области, можно ожидать, что подход применим для широкого круга задач создания гибридных ЭС, предназначенных для использования в сети Интернет.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Молчанова Е. И., Смагунова А. Н., Прекина И. М. Программная оболочка для проведения РФА на аналитическом комплексе СРМ-25-1ВМ // Аналитика и контроль. - 1999. - № 2. -С.38-43.
2. Молчанова Е. И., Носков С. И., Китов Б. И. Проектирование и создание экспертной системы для описания процессов взаимодействия рентгеновского излучения с веществом // Компьютерное моделирование 2005 : тр. VI Меж-дунар. науч.-техн конф. - СПб. : Изд-во Поли-техн. ун-та, 2005. - С. 310-314.
3. Частиков А. П., Гаврилова Т. А., Белов Д. Л. Разработка экспертных систем. Среда CLIPS. -СПб. : БХВ - Петербург, 2003. - 608 с.
4. Рыбина Г. В., Демидов Д. В. Методы построения средств вывода для интегрированных экспертных систем // Интеллектуальные системы и технологии : науч. сессия МИФИ. - 2006. - Т. 3. - С. 1-5.
5. Джексон П. Введение в экспертные системы. -М. : Вильямс, 2001. - 624 с.
6. Litman D., Patel-Schneider P. F., Mishra A., Crawford J., Dvorak D. R++: Adding Path-based rules to C++ // IEEE Transactions on Knowledge and Data Engineering, - 2002. - Vol. 14, No.3.-P. 638-658.
7. Джарратано Д., Райли Г. Экспертные системы: принципы разработки и программирование, 4-е изд. : пер. с англ. - М. : Вильямс, 2007. - 1152 с.
8. Рыбина Г. В., Душкин Р. В., Демидов Д. В. Модели и методы обработки недостоверных знаний в инструментальном комплексе АТ-ТЕХНОЛОГИЯ // Интегрированные модели и мягкие вычисления в искусственном интеллекте : сб. науч. тр. - М. : Физматлит, 2003. - C. 401-407.
9. Рыбина Г. В. Задачно-ориентированная методология автоматизированного построения интегрированных экспертных систем для статических проблемных областей // Изв. РАН. Теория и системы управления. - 1997. - № 5. - C. 129-137.
10. Рыбина Г. В. Инструментальные средства нового поколения для построения прикладных интеллектуальных систем // Авиакосмическое приборостроение. - 2004. - № 10. - С. 14-23.
11. Спецификация функциональных требований к ИС [Электронный ресурс]. - URL :
http: //www.intuit. ru/ department/se/devis/6/1 .html. (дата обращения 09.11.2010)
12. Сидорова Е. А. Методы и программные средства для анализа документов на основе модели предметной области : дис. ... канд. физ.-мат. наук. - Новосибирск, 2006 - 125 с.
13. Массель А. Г. Интеллектуальная поддержка принятия решений в исследованиях и обеспечение энергетической безопасности России и ее регионов : дис. ... канд. техн. наук. - Иркутск, 2011. - 130 с.
14. Подкаменный Д. В. Методика и инструментальные средства анализа и реинжениринга унаследованного программного обеспечения в области энергетики : дис. ... канд. техн. наук. -Иркутск, 2011. - 125 с.
15. Осама Ель Сайед Ахмед Мохамед Шета. Методика и инструментальные средства построения хранилища данных и знаний для поддержки исследований в энергетике : дис. ... канд. техн. наук. - Иркутск, 2010. - 137 с.
16. Передеряев И. И. Разработка моделей и средств информационной поддержки процессов подготовки и аттестации научных кадров : дисс... канд. техн. наук. - М., 2007. - 134 с.
17. Федоров В. В., Молчанова Е. И. Редактор базы знаний для создания экспертных систем в среде CLIPS. // Современные технологии. Системный анализ. Моделирование. - 2008 - Вып. 3. - С. 76-79.
18. Минский М. Фреймы для представления знаний. - М., 1979. - 152 с.
19. Введение в базы данных [Электронный ресурс] - URL : www.mstu.edu.ru/study/materialz/zelen-kov. (дата обращения 25.03.2011).
20.Щербаков И. В., Молчанова Е. И. Разработка объектно-ориентированного расширения языка среды разработки экспертных систем CLIPS // Современные проблемы и пути их решения в науке, транспорте, производстве и образование 2010 : сб. науч. тр. по материалам междунар. науч.-практич. конф., 20-27 дек. - Одесса : Черноморье, 2010. - Т. 4 : Технические науки. -С. 3-12.