Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач Крутоверцев Константин Игоревич

Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач
<
Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач
>

Данный автореферат диссертации должен поступить в библиотеки в ближайшее время
Уведомить о поступлении

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - 240 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Крутоверцев Константин Игоревич. Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач : диссертация ... кандидата технических наук : 05.13.11.- Москва, 2003.- 121 с.: ил. РГБ ОД, 61 03-5/3519-6

Содержание к диссертации

Введение

Глава 1. Программное обеспечение для автоматизации программирования инженерных задач 12

1.1. Использование современных программно-математических пакетов для автоматизации программирования инженерных задач 12

1.2. Обзор средств автоматизации программирования, применяемых в объектно-ориентированных языках 19

1.3. Обзор моделей баз знаний экспертных систем 24

1.3.1. Фреймовая модель представления знаний 25

1.3.2. Модель представления знаний с использованием семантических сетей 26

1.3.3. Представление знаний с использованием продукционных правил 28

Выводы по главе 1 33

Глава 2. Разработка экспертной системы 35

2.1. Определение требований и стратегии разработки экспертной системы в соответствии со структурой алгоритмов методов решения систем нелинейных уравнений 35

2.2. Функциональный состав экспертной системы 42

2.3. Разработка структуры базы знаний 44

2.4. Разработка структуры базы данных для хранения тарировочных данных 50

2.5. Разработка механизма построения цепочек правил реализующего численные методы 51

2.6. Разработка блока объяснения полученных результатов 55

2.7. Разработка блока определения варьируемых параметров 56

2.8. Разработка генератора программного кода на Visual Basic Application для формирования процедур реализации составляющих правил базы знаний 59

2.9. Программная реализация экспертной системы 62

2.10. Описание интерфейса экспертной системы 67

Выводы по главе 2 73

Глава 3. Методика получения тарировочных данных датчиков сенсорного газоанализатора 75

3.1. Методика проведения эксперимента для получения тарировочных кривых датчиков газовой камеры 75

3.2. Методика расчета компонентов газовой смеси при определении тарировочных данных 79

3.3. Аппроксимация тарировочных данных в экспертной системе 84

Выводы по главе 3 87

Глава 4. Проведение исследований с помощью экспертной системы с использованием различных методов решения систем нелинейных уравнении 88

4.1. Методика проведения исследований с помощью экспертной системы 88

4.2. Применение метода покоординатного спуска 90

4.2.1. Использование метода аппроксимации прямой 92

4.2.2. Использование метода аппроксимации полиномом второго порядка 97

4.3. Применение метода поразрядного приближения 100

4.4. Сравнение полученных результатов с результатами метода нейронных сетей 101

Выводы по главе 4 103

Обзор средств автоматизации программирования, применяемых в объектно-ориентированных языках

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

Стоит отметить, что за последние 20 лет наблюдается тенденция развития инструментальных средств для автоматизации процесса разработки программного обеспечения [108, 109, 111-115]. Вероятно, что такая тенденция будет наблюдаться и в развитии программно-математического обеспечения.

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

Это безусловно является важным и необходимым достижением. К наиболее известным средствам автоматизации программирования относятся следующие:

- технология СОМ-объектов;

- макроязыки программирования;

- средства визуального программирования.

Технология СОМ-объектов

Приложения с каждым днем становятся все сложнее. В текстовые процессоры добавляются графические возможности, в электронные таблицы -средства построения диаграмм. Можно предположить, что пределом совершенствования программного обеспечения является некое большое приложение для решения всех задач. Однако СОМ-технологии представляют иной подход, который заключается в интеграции разных приложений. Задача СОМ-технологий - обеспечеить совместную работу приложений. При этом пользователю должно казаться, что он работает с одним документом, хотя на самом деле над разными частями такого документа совместно работают разные приложения [111,119-120].

Технология СОМ предоставляет основные механизмы, позволяющие одному элементу программного обеспечения предоставлять сервисы другому элементу через строго определенные интерфейсы, реализованные СОМ-объектами [15].

Программирование и использование СОМ-объектов является не совсем простой задачей для программиста, иными словами, чтобы использовать СОМ-объект разработчик должен написать несколько строк программного кода, что трудно назвать полноценной автоматизацией программирования. Поэтому для упрощения работы с СОМ-объектами был разработан интерфейс ActiveX, который представляет управляющие элементы (объекты).

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

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

Еще одна технология программирования, построенная на основе СОМ-технологий, является технология OLE. Это технология разделения объектов между программами. OLE-технология позволяет встраивать или связывать объект с составными документами, содержащими текст, графику, звуковые сообщения и т.п. Возможность перемещения данных из одной программы в другую и совместимость приложений для объединения разнородных данных (связывание и включение объектов - Object Linking and Embedding (OLE-технология)) позволяет пользователям достаточно просто подготавливать и редактировать документы, содержащие различные типы данных [119,120]. Однако OLE-технология - это лишь метод реализации внешней связи. Она не дает достаточно необходимых средств для разработки полноценного программного обеспечения, поэтому не может выступать в роли основной технологии автоматизации программирования.

Стоит отметить, что использование СОМ-технологий автоматизирует только работу программистов при написании программ [18,119] и является бесполезным инструментом для пользователей, за исключением случаев использования OLE-объектов. Поэтому СОМ технологии не могут принести большой пользы в качестве инструмента разработки программ для решения инженерных задач.

Макроязыки

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

Макрокоманды (часто называемые макро или макрос) являются однострочными сокращениями для группы команд. Используя макрокоманду, программист по существу определяет одну "команду" для представления некоторой последовательности команд [119,120].

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

Однако у макроязыков существуют недостатки:

- пользователю довольно трудно освоить подобный язык в совершенстве;

- существующие сегодня макроязыки не имеют общего стандарта;

- у каждого приложения есть свой уникальный язык, что делает написание макроса сложным занятием;

- с одним конкретным приложением можно использовать только один макроязык.

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

Инструменты визуального программирования

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

Инструменты визуального программирования, имеют диалоговый интерфейс, выполненный в виде программы-мастера. Работа такой программы сводится к открытию нескольких экранных форм, в которых пользователю предлагается ответить на ряд вопросов связанных с предметной областью задачи [23]. После того как пользователь ответил на все вопросы, программа-мастер генерирует программный код [119] на языке объектно-ориентированного программирования.

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

Для реализации методов решения систем нелинейных уравнений был разработан алгоритм механизма построения цепочек правил [102]. На вход алгоритма подаются значения датчиков (рис.2.7.), и после проведения исследований на выходе алгоритма определяются значения искомых концентраций компонентов газовой смеси. Сам алгоритм имеет достаточно сложную схему работы (рис.2.8.).

Перед проведением исследований пользователь выбирает метод решения системы нелинейных уравнений, который он собирается использовать в исследованиях, при этом отбираются правила описывающие метод. Затем пользователь задает значения варьируемых параметров метода, после чего проводятся исследования [99-101, 118].

Как видно из блок-схемы алгоритма (рис.2.8.) в процессе исследований строятся цепочки правил. Переход от одного правила к другому осуществляется с помощью расчета математических формул описывающих составляющие правил, как было отмечено выше. При этом для расчета математических формул используется код сформированный генератором кода VBA. Блок-схема кода сформированного «генератором» представлена в правой части рис. 2.8. в пунктирной рамке.

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

Рассмотрим случай, анализа состава двухкомпонентной газовой смеси, при этом газоанализатор имеет два датчика. Для решения данной задачи в работе применяется метод покоординатного спуска.

В процессе проведения исследований на каждом шаге итерации системой проверялись неравенства (2.7), в результате чего формировалось заключение о верности направления поиска решения. Если текущие данные об исследованиях не удовлетворяют условиям (2.6), то решение считается неверным, и исследования продолжаются дальше. В противном случае найденное решение записывается в таблицу "Результаты исследований" и исследования прекращаются. Исследования прекращались в тот момент, когда уравнение (2.6) достигало своего минимального значения.

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

Блок-схему представленную на рис.2.9. можно объяснить следующим образом:

1. Существуют правила, результатом выполнения которых является новая точка. Такая точка получается при движении только по одной координате, так как это показано на рис.2.4.

2. Получив пробные точки, выбирается точка, отвечающая условиям (2.7), и в направлении соответствующей точке достигается минимум функции 2.5.

3. Правило, по которому была получена выбранная точка, запоминается в блоке объяснения цепочек правил.

4. Для получения следующей точки пункты 1,2,3 повторяются.

Рассчитав отклонения А ,Д" (разность координат которые представлены в формуле 2.6) выбранного направления, алгоритм ищет составляющие из таблицы составляющих правил базы знаний (табл. 2.3.), описание которых позволило получить точку. После чего формируется динамическое правило, в которое записывается точка-результат и исходная точка (табл. 2.2.).

Если А ,А" приобретают наименьшее значение, то решение считается найденным, если ситуация противоположная, то решение считается не найденным и поиск его продолжается дальше. Из рис.2.9. видно, что после определения переменных алгоритм формирует правила базы знаний, условная часть которых соответствует исходной точке, а констатирующая часть найденной точке в результате выполнения статического правила.

Методика проведения эксперимента для получения тарировочных кривых датчиков газовой камеры

Для получения тарировочных данных датчиков газоанализатора ИВГ-1 М была проведена серия экспериментов. В качестве компонентов газовой смеси использовались ацетон (СНЗ)2СО и этиловый спирт С2Н50Н в малых концентрациях. Схема экспериментальной установки изображена на рис.3.1.

Каждый блок изображенный на рис.3.1. имеет свое предназначение в проведении эксперимента.

Генератор газовых смесей - прибор, предназначенный для постоянной подкачки газа в магистраль;

Испаритель - стеклянная трубка, включаемая последовательно в магистраль (рис. 3.2.). Через испаритель пропускают газ носитель (технический воздух), и через специальный отросток в испарителе добавляют необходимый для смеси компонент с помощью медицинского шприца.

Мешок со смесью газов - пластиковый мешок из полиэтилена предназначен для хранения приготовленной газовой смеси на время эксперимента (рис. 3.3.).

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

Измерительная камера - проточная камера, в которую монтируются газовые сенсоры. Во время исследований и эксперимента камера должна быть подключенной к цифровому многоканальному прибору ИВГ-1 М, причем каждый датчик подключается к отдельному каналу прибора.

Каждый эксперимент проводился по специально отработанной методике. Для проведения эксперимента необходимо выполнять последовательность действий:

1. Установить сенсоры в измерительную камеру. В данном состоянии оставить сенсоры на 24 часа (необходимо для подготовки поверхности чувствительного слоя к взаимодействия с активной газовой средой).

2. Заполнить целлофановый мешок 20-ю литрами воздуха посредством генератора газовых смесей.

3. Соединить измерительную камеру и целлофановый мешок газовой трубкой. В процессе всех измерений давление на целлофановый мешок производить одним и тем же плоским предметом. По истечении 10 минут произвести запись показаний прибора - измерителя влажности газов ИВГ-1 М.

4. Соединить измерительную камеру с генератором газовых смесей и продувать измерительную камеру в течении 15 минут.

5. Соединить с помощью газовой трубки испаритель с генератором газовых смесей и целлофановым мешком. С помощью пипетки набрать 0,13 мл дистиллированной воды и залить в испаритель через специальный вход. Закрыть данный вход в испаритель. Включить источник питания постоянного тока и подать на испаритель 20В и ОДА. При этом на стенках испарителя установится температура 200С. Включить генератор газовых смесей. После наполнения мешка воздухом с испаренной дистиллированной водой соединить целлофановый мешок с измерительной камерой. Произвести давление на мешок.

6. По истечении 10 минут произвести запись показаний прибора ИВГ-1 М.

7. Соединить измерительную камеру с генератором газовых смесей и продувать камеру в течение 15 минут.

8. Соединить с помощью газовой трубки испаритель с генератором газовых смесей и целлофановым мешком. С помощью пипетки набрать 0,13 мл раствора Р и залить в испаритель через специальный вход. Закрыть данный вход в испаритель. Включить источник питания постоянного тока и подать на испаритель 20В и ОДА. При этом на стенках испарителя установится температура 200С. Включить генератор газовых смесей. После наполнения мешка воздухом с испаренным раствором ацетона соединить целлофановый мешок с измерительной камерой.

9. По истечении 10 минут произвести запись показаний прибора ИВГ-1 М.

10. Соединить измерительную камеру с генератором газовых смесей и продувать камеру в течении 15 минут.

При проведении эксперимента погрешность эксперимента составила 3.2%, погрешность прибора регистрирующего показания датчиков составила 8,2 %.

Для добавления некоторых компонентов (ацетон, спирт) в газовую смесь необходимо подготовить специальный раствор. Поэтому далее описана методика приготовления раствора на примере раствора ацетона.

Использование метода аппроксимации прямой

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

Результаты использования шага приращения = 1 ррт по данным тарировочных кривых отображены на рис.4.4., при этом в предел функционала (2.6) равен 0,01 ррт.

На рис.4.4. изображено изменение разницы между соответствующими координатами ((xl-x2) - концентрации ацетона (СНЗ)2СО, (yl-y2) -концентрации спирта С2Н50Н) для полученных сопротивлений датчиков в ходе исследований. Видно, что на 4-м шаге полученная разница (xl-x2) сводится к минимуму 1,1 ррт, однако погрешность отклонения при этом еще достаточно большая.

Не получив точного результата шаг приращения уменьшался и уже значение шага = 0,1 дало более точный результат, при этом изменение разницы координат изображено на рис.4.5. Как видно из рис.4.5. число шагов заметно увеличилось до 43-х, и это привело к нахождению более точного результата.

При значении шага приращения = 0,05 (рис.4.6) был получен наиболее точный результат, который обеспечивал погрешность отклонения = 3%. При этом в исследованиях было выполнено 211 итераций ( в построенной цепочке находится 211 правил), а время исследований составило 20,52 сек.

При проведении исследований были получены зависимости времени исследований от значения шага приращения (рис.4.7.). Как видно из графика с увеличением шага приращения время исследований убывает, и для самого малого шага приращения=0,01 время исследований составляет 40 сек., что вполне приемлемо для использования экспертной системы для анализа состава газовых смесей, где компоненты смеси имеют постоянные концентрации. Также была построена зависимость количества правил в цепочке исследований от значения шага приращения (рис.4.8.). Как видно из графика, число правил в цепочке также убывает с увеличением шага приращения, что вполне естественно.

Значимой является зависимость погрешности отклонения результата от значения шага приращения (рис.4.9.). Как видно из графика, наиболее точный результат получается при малых значениях шага приращения, при значении шага 0,02 достигается наилучший результат с наименьшей погрешностью. При больших значениях шага, погрешность заметно увеличивается, однако при некоторых малых значениях шага погрешность отклонения начинает незначительно расти, как например при шаге приращения = 0,01. Поэтому необходимо определение исследователем шага приращения, при котором достигается наилучший результат.

Похожие диссертации на Разработка программного обеспечения специализированной базы знаний для автоматизации решения инженерных задач