Система управления базами измерительных знаний

№>52006

И.А. Брусакова, С.О. Мамаева

Система управления базами измерительных знаний

Управление знаниями — залог успешной деятельности современного предприятия. Приращение ценности результирующей деятельности предприятия, фирмы в условиях глобализации экономики обеспечивается при использовании параллельного инжиниринга ресурсов, в том числе и при сборе первичной измерительной информации о предметной области. Большинство измерительных задач, решаемых сложной информационной системой управления ресурсами предприятия, связано с получением и интерпретацией многочисленной и разнообразной по форме экспериментальной информации. Сложность формализации разнородной информации и трудоемкость процесса отторжения знаний, требования полноты, объективности, достоверности и высокой скорости получения результатов и значительные мощности технических средств получения, преобразования и отображения различного вида информации, реализованные процессорной базой — все это обусловило появление нового направления информационно-измерительной техники: интеллектуальных информационно-измерительных систем. Такой класс измерительных средств ориентирован на эффективное изучение свойств сложных объектов и среды взаимодействия этих объектов, выявление взаимосвязей между ними путем обобщения всех видов априорной и экспериментальной информации в целях генерации новых знаний.

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

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

Возможности поддержки пользовательского интерфейса, реорганизации данных, поддержку целостности и непротиворечивости знаний осуществляют системы управления базами данных (СУБД), в состав которых могут входить как средства обобщения и формализации данных (например, экспертные системы), так и средства отображения и визуального структурирования данных (например, семантические сети, продукционные модели представления данных).

Проектирование СУБД, ориентированных на определенный класс измерительных задач является важной областью исследований специалистов интеллектуальных информационно-измерительных систем.

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

Система управления базами измерительных знаний

Nb5 2006

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

Структурная схема СУБД

Ниже на рис. 1 представлена структурная схема СУБД измерительных знаний. Так как при работе с измерительными знаниями у исследователя нет возможности проконсультироваться со специалистами интересующей его области (предметной области), в состав СУБД была включена экспертная система. Данные предметной области хранятся в базах знаний и используются при решении задач экспертной системой.

Разработанная СУБД измерительных знаний представляет собой целый ком-

плекс взаимосвязанных модулей, которые позволяют системе эффективно и точно решать следующие поставленные задачи:

1. Формировать базу начальных измерительных знаний.

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

3. Хранить измерительные знания в базе данных (БД) для последующей экстракции (извлечения) и оптимизации по какому-либо критерию или параметру.

4. Обеспечивать организацию консультирующей системы, спроектированную в виде семантической сети.

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

Пролог система

V

V

Семантическая

сеть

Подсистема управления базами знаний

Дополнительные

модули

Экспертная V: —і/ Подсистема Генератор

система ги! Пролог-кода

Автогенерация кода

База данных

Microsoft SQL Server Microsoft Access MySQL

Рис. 1. СУБД измерительных знаний

№>52006

Рассмотрим основные модули системы.

Подсистема GUI

Подсистема графического интерфейса пользователя предназначена для общения с пользователем, консультации у экспертной системы, ввода/вывода измерительных данных в/из программы. Так как язык PROLOG не предназначен для реализации модуля GUI, в данном модуле используются стандартные средства быстрой разработки приложений RAD (Rapid Application Development) компании Borland — С/С++ или Delphi. Полученные данные и запросы передаются непосредственно на вход экспертной системы, реализованной в PROLOG.

Экспертная система

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

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

Экспертная система поддерживает три типа запросов.

Запрос типа 1:

<MAIN_OBJECT> <contains/defines/ includes> <SUB_OBJECT_1>, <SUB_ OBJECT_2>,...

или

<OBJECT> <contains/defines/includes> <PROPERTY_1>, <PROPERTY_2>, ...

Примерами запросов могут быть запросы вида:

<Чем определяется объект?>

<Что входит в состав объекта?>

<Какие есть связи между объектами, свойствами объектов?>

Объекты и свойства объектов для запросов задаются пользователем системы. По запросу выдается список объектов и/или свойств. Запросы могут быть вложенными.

Запрос типа 2:

<STATEMENT> IS TRUE / FALSE

STATEMENT — утверждение, заданное пользователем, в состав которого входят объекты и их свойства, связанные между собой.

По запросу пользователь системы получает однозначный ответ, верно ли заданное утверждение или нет.

Примерами запросов могут быть запросы вида:

<Правильно ли определено ...?> <Верно ли следующее ...?>

Запрос типа 3:

IF <STATEMENT_1> WHEN THERE IS <STATEMENT_2>

STATEMENT_1 —утверждение, заданное пользователем, в состав которого входят

И.А. Брусакова, С.О. Мамаева

Система управления базами измерительных знаний

Ив5 2006

объекты и их свойства, связанные между собой.

STATEMENT_2 — утверждение, выдаваемое пользователю по запросу на основании первого утверждения (STATEMENT_1).

Примерами запросов могут быть запросы вида:

<Если положить, что Утверждение_1 ..., то какие возможны варианты (Утвержде-ние_2)?>

Семантическая сеть

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

Генератора PROLOG-кода, основываясь на базах начальных знаний.

Приведем фрагмент простейшей семантической сети для одного объекта (рис. 2), в которой vjи=1 7) — узлы графа, интерпретирующие свойства объекта; rkI (k=1 6 ,=2 7) — дуги графа, интерпретирующие взаимосвязи между свойствами объекта.

Подсистема управления базами знаний

Подсистема управления базами знаний, реализованная на языке PROLOG, организует доступ к измерительным знаниям, хранящимся в БД посредством интерфейса ODBC (Open Database Connectivity). Это один из немногих случаев, когда такой модуль полностью реализован на языке PROLOG, что позволяет значительно ускорить обработку измерительных данных. При этом сами БД могут храниться как в Microsoft Access, так и на Microsoft SQL Server.

Входные данные СУБД

На вход данной системы подаются кортежи данных. Под кортежем понимается совокупность данных вида {vm}^, где {vm}^ — свойства объекта.

Каждое свойство представляется множеством значений свойств {vi}.

Приведем пример 1 простейшего кортежа (для метрологического анализа).

Нв5 2006

Пример 1.

Модель_меры_метрологической_достоверности{Входное_воздействие; Физическая_приро-да_сигнала{Звуковая_волна, Световая_волна, Электромагнитная_волна}; Математическая_структу-ра_сигнала{Частота_сигнала, Вид_функции, Вид_распределения}};

Модель_процедуры_преобразования {Тип_процедуры{Тип1.. .Тип32}; Вид_МХ{Линейная, Нелинейная}; Номенклатура_модуля{Модули_фильтрации{Преобразование_по_Фурье, Обрезание_час-тот, Обратное_преобразование_по_Фурье}; Модули_квантования{Дискретизация, Квантование, Считывание, Преобразование, Масштабирование, Перенос}}};

Модель метода оценки достоверности{Тип_метода{Имитационное_моделирование, Метроло-гический_эксперимент, Аналитический_расчет}};

Модель_последовательности_преобразований{Вид_полной_погрешности; Вид_методиче-ской_погрешности; Уравнение_измерений; АЗ_о_виде_измерений{Форма_преобразования_F{Ана-логовая, Цифровая}; Преобразование_нормализации{Обратное, Прямое}}};

Модель_условий_измерений{Время_ измерения{Время_ацпирования, Время_фильтрации}};

Модель_оценки_достоверности{Метрологическая_характеристика_результата{Математиче-ское_ожидание_оценки_результата, Среднеквадратическое_отклонение_оценки_результата, Плот-

ность_вероятности_оценки_результата}}.

Взаимосвязи между объектами также формируются в качестве кортежей вида:

<Объект/Свойство1> <тип связи (типы связей предустановленны (is part of, contains и т.д.) > < Объект/Свойство2> ...

Такие кортежи носят названия правил, которые лежат в основе кода PROLOG.

Реализация СУБД программными средствами

Система реализуется на основе программных языков нескольких компаний.

За основу интерпретатора PROLOG взят SWI-PROLOG, который отличается качественностью проработки и наличием интерфейса доступа к БД. На языке PROLOG реализуется семантическая сеть, экспертная система и модуль доступа к БД.

Другое звено системы реализуется на Borland C++ Builder (среде RAD разработки) с применением ODBC-доступа к правилам в БД. Для построения диаграмм семантических сетей используется система DOT из системы Graphviz (Graph Visualization Software), при использовании которой данные представляются в виде графов.

Программа на языке C++ предназначена для организации диалога с пользователем,

редактирования правил, просмотра диаграмм DOT и подачи запросов к PROLOG-программе.

Литература

1. Брусакова И.А. Модели представления измерительных знаний в информационно-измерительных технологиях. Учебное пособие. СПб.: Издательство СПбГЭТУ «ЛЭТИ», 2002.

2. Брусакова И.А., Цветков Э.И. Концепция применения информационных технологий в измерительной технике//Проблемы проектирования измерительных систем. СПб., 1996. С. 9-11.

3. Романов В.Н., Соболев В.С., Цветков Э.И. Интеллектуальные средства измерений. М.: РИЦ «Татьянин день», 1994.

4. ЛюгерДж. Искусственный интеллект: стратегии и методы решения сложных проблем. Изд. 4. М.: Вильямс, 2003.

5. Мамаева С.О. Модели представления априорных знаний для задач метрологического анализа с использованием языка программирования PROLOG// Тезисы доклада на международной конференции SCM2005 «Мягкие вычисления и измерения». СПб., 2005.

6. Graphviz — Graph Visualization Software. Способ доступа URL, 2006; http://www.graphviz.org.

7. What is SWI-PROLOG. Способ доступа URL, 2006; http://www.graphviz.org.

И.А. Брусакова, С.О. Мамаева