для процедур диагностики, кластеризации, классификации и аппроксимации.
Для разделения исходного множества образцов на s классов была использована сеть Кохонена, которая состоит из s нейронов (ядер), каждый из которых вычисляет близость объекта к своему классу [1].
Для решения задачи отнесения исследуемого оцениваемого объекта к той или иной стоимостной группе использовалась сеть радиального базиса, поскольку базис проявляется естественным образом в виде кластеров.
После определения принадлежности оцениваемого объекта к некой группе нужно построить функцию для аппроксимации стоимостных характеристик данной группы на объект. Для этой цели была использована сеть GRNN (Generalized Regression Neural Network). После адаптации нейросеть способна по любому вектору входных параметров X выдавать оценку стоимости исследуемого образца. Поскольку используемые передаточные функции являются монотонными, ошибка аппроксимации определяется через расстояние до ближайшей базисной функции и выдается нейросетью в виде числа. Значения весовых множите-
лей сети Wjj определяют величину зависимости параметров, по которым проводится оценка, и могут использоваться для анализа и обоснования результатов.
Последовательное применение перечисленных алгоритмов, реализованных в виде программных модулей, объединенных интерфейсной оболочкой, образует интеллектуальную систему поддержки принятия решений [3] для диагностики и стоимостной оценки драгоценных камней. Данная система была разработана в среде MATLAB.
Выбор интегрированной системы MATLAB в качестве инструментального средства обусловлен наличием в ней языка программирования высокого уровня и модулей расширения, таких как Database Toolbox, Fuzzy Logic Toolbox, Neural Network Toolbox, Optimization Toolbox. Совместное использование этих инструментов, а также средств разработки графических приложений и визуализации расчетных данных, создания независимо исполняемых приложений позволяет создавать эффективные приложения с минимальными затратами времени. Кроме того, матричный процессор, реализуя механизм векторной обработки данных, обеспечивает высокую точность и скорость вычислений.
Рассмотренная ИСППР на основе нейросетевых алгоритмов является эффективным инструментом решения прикладных задач диагностики и стоимостной оценки драгоценных камней.
Список литературы
1. Медведев Б.С., Потемкин В.Г. Нейронные сети. MATLAB 6. - М.: ДИАЛОГ-МИФИ, 2002. - 396 с.
2. Искусственный интеллект: В 3 кн. Справочник /Под ред. Э.В. Попова, Д.А. Поспелова. - М.: Радио и связь, 1990.
3. Семенов Н.А., Ветров А.Н., Абу Суек Атия Ражаб Мо-хамед. Использование нейросетевых алгоритмов в интеллектуальных системах поддержки принятия решений // Программные продукты и системы. - 2003. - №4. - С.24-26.
ПОСТРОЕНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ РАСЧЕТОВ ДЛЯ КЛАСТЕРНОЙ МОДЕЛИ РАСПЛАВОВ ГАЛОГЕНИДОВ ЩЕЛОЧНЫХ МЕТАЛЛОВ
Д.В. Сидельников, В.Г. Кременецкий, В.Н. Богатиков, Б.В. Палюх
Целью данной работы является создание программного комплекса ChemObjects, позволяющего исследовать взаимодействие объектов химической природы. Объектами могут являться простые ионы, молекулы, комплексы, кластеры, фрагменты кристаллической решетки. Этот комплекс ориентирован на исследование модельных структур
расплавов галогенидов щелочных металлов МХ (М - щелочной металл, Х - атом галогена).
Входными параметрами программного комплекса являются типы атомов М и Х, тип модельной структуры, температура. Далее программа автоматически выбирает из заложенного в нее массива экспериментальных данных соответствую-
щий набор констант, необходимых для проведения расчетов.
Выходными данными являются равновесные геометрические и энергетические параметры модельной структуры, характеризующие внутреннюю структуру объектов и их взаимное положение.
Общее число варьируемых параметров в стандартных расчетах равно 15, но может значительно возрастать при сильном понижении внутренней симметрии кластеров.
Функциональные подсистемы
На данном этапе построенная автоматизированная система поддержки расчетов состоит из следующих автономных частей:
- приложение TChemistry.exe;
- библиотека VRF_Support.dll;
- библиотека VRF_Grapher.dll;
- приложение VRF_Grapher.exe.
Для расширения возможностей системы в ряде случаев в расчетах используется среда Mathcad 2000-2001.
Приложение TChemistry.exe - центральное звено в построенной системе. Оно содержит пять классов (на языке С++ [3]), реализующих химическую модель расплава, а также два класса по поддержке расчетов с вариацией по многим параметрам (многомерная вариация). В целом оно включает:
• диалоговый ввод-вывод и его логику (задания параметров модели для расчета, редактирование констант, просмотр доступных модулей импорта и экспорта и др.);
• прикладную логику обработки данных (расчет заданных функций модели, многомерная вариация по выбранным параметрам);
• логику управления данных (функции по управлению хранения данных модели, предварительные расчеты констант (до вариации), просмотр результатов расчета и т.д.);
• операции манипулирования VRF-файлами (создание, удаления, смены текущей директории расчета и т.д.).
Особенностью построенной системы являются так называемые модули-менеджеры импорта и экспорта. При запуске приложения они проверяют текущую (домашнюю для приложения) директорию на наличия там DLL-библиотек. После этого происходит проверка на принадлежность каждой DLL-библиотеки к классу служб сервиса. Динамически подключаемая библиотека является службой сервиса, если она содержит как минимум
три функции, прототипы которых на С++ можно записать так:
1) GetServiceClassName(LPSTR ServClass-Name);
2) GetServiceDescription(LPSTR ServDescr);
3) RunService(FARPROC ptrGetServResourse-Fun).
Если менеджеры не находят в библиотеке всех трех функций, то эта библиотека не считается службой сервиса. В противном случае, вызывая первую из указанных функций, они получают имя класса службы сервиса (в нашем варианте возможные имена классов - это строки "Export service DLL, for TChemistry" или "Import service DLL, for TChemistry"). Вызывая вторую функцию, они получают описание самой службы для пользователя.
Третья функция вызывается при выполнении экспорта или импорта пользователем из приложения TChemistry. Эта функция получает указатель на функцию, находящуюся в TChemistry.exe, которая предоставляет необходимую информацию для выполнения работы сервиса (экспорта или импорта).
Такая организация служб сервисов, позволяет их разрабатывать и добавлять к системе независимо от самого приложения TChemistry.
На рисунке 1 показано взаимодействие приложения TChemistry с другими частями системы (пунктирной стрелкой обозначена передача данных, а сплошной - передача управления).
TChemistry.exe
Модуль настройки системы Менеджер импорта Менеджер экспорта Модуль расчета Модуль представления
ImpServece_l.dll ImpServece_2.dll
ImpServece_N.dll
Т Т ExpServece_l.dll ExpServece_2.dll ExpServece_K.dll f 1
— VRFSup port.dll
J
INI-ф айл конф игураци
Файлы в других ф орматах, а также приложения
Файлы в формате VKF
Рис.
1. Взаимодействие приложения TChemistry с другими частями системы
Химическая модель, заложенная в ТСЬет181гу
Объектами в текущей рабочей версии программы являются кластеры М3- и Х3+, состоящие из 27 ионов, и внешнесферные ионы типа М+, Х -,
МХ, МХ - и ХМ +. Для характеристики взаимодействия ионов использован парный потенциал Полинга, согласно которому взаимодействие двух ионов сводится к сумме кулоновского взаимодействия и усредненного отталкивания электронных оболочек, зависящего от типа ионов. Число взаи-
модействующих ионов практически не ограничено и лимитируется в основном наличием свободного места на диске компьютера.
В настоящее время программа ChemObjects работает с массивом, содержащим около 200 ионов. Эти ионы объединены в кластеры M3" и X3+ и соответствующие им внешнесферные (ВС) ионы
противоположного заряда - ХМ + и МХ -. Кластеры M3" (центральный ион М+) и X3+ (центральный ион Х -) близки по форме к кубу с ионной решеткой типа ИаС1. Однако в отличие от правильного куба геометрия кластеров характеризуется не одним, а тремя параметрами, равновесные значения которых вычисляются в программном комплексе. В необходимых случаях внутренняя симметрия кластеров понижалась до уровня, характеризуемого 15 параметрами. ВС ионы могут рассматриваться как в качестве единого объекта, так и в диссоциированном состоянии:
ХМ + ^ М+ + МХ и МХ - ^ Х - + МХ.
Учет диссоциации ВС ионов оказался необходим для анализа эффектов вращения молекул МХ (свободное или заторможенное вращение, величины потенциальных барьеров и т.д.) и исследования влияния этого вращения на параметры модельных структур [1,2].
Библиотека VRF_Support.dll
Эта библиотека реализует в себе механизмы по поддержке файлов в формате УИР. Место этой библиотеки в разработанной системе при создании файла и сохранении в него результатов вариации можно видеть на рисунке 2. Библиотека логически разделена на два уровня - внешний и внутренний.
1. Внешний - совокупность экспортируемых функций и типов данных для использования УИР-файлов (создания, открытия для чтения, получения значения констант или варьируемых параметров и т.д.).
2. Внутренний - уровень буферов библиотеки, механизмов по реализации и поддержке, экспортируемых из БЬЬ-функций,
и по упрощению общения пользователя с этой библиотекой.
Библиотека VRF_Grapher.dll является автоматически подключаемой службой экспорта УИР файлов из TChemistry в УRF_Grapher.
Приложение VRF_Grapher.exe
На основе библиотеки yRF_Support.dll было создано приложение VRF_Grapher.exe, которое позволяет строить графики из УИР-файлов и экспортировать их в другие форматы, например для
переноса в Microsoft Excel или программу GRAPHER фирмы Golden Software.
Приложение VRF_Grapher.exe позволяет выбирать в качестве осей абсцисс один из варьируемых параметров, а в качестве осей ординат - одну из функций, которая была рассчитана и находится в данном VRF-файле. График, который строит программа, является сечением многомерной поверхности с выбранными осями абсцисс и ординат и фиксированными значениями остальных варьируемых параметров из VRF-файла.
Оставшиеся варьируемые параметры появляются для пользователя в качестве TrackBar' ов, которые при перемещении изменяют свое значение. А на графике можно видеть влияние этого параметра на выбранную функцию. Такая возможность существенно облегчает аналитическую работу с многомерными массивами результатов.
Данное приложение также позволяет просматривать информацию из VRF-файла, настраивать вид и стиль графиков. Все это возможно за счет использования библиотеки VRF_Support.dll, которая берет на себя большую часть трудоемкой работы по извлечению необходимой части результатов многомерной вариации системы (учет количества варьируемых параметров, точности и числа рассчитанных функций в каждом шаге многомерной вариации), выполняя ее достаточно быстро с точки зрения конечного пользователя.
Рис. 2. Место библиотеки VRF_Support.dll в модуле расчета
В качестве среды разработки и реализации всех исполняемых файлов и динамически подключаемых библиотек была использована среда
Borland C++ Builder 6.
Список литературы
1. Kremenetsky V. Proceed. of Molten salts XIII, USA. The Electrochem Soc., Inc., 19, 448 (2002).
2. Кременецкий В.Г. // Тез. докл. на XVII Менделеевском съезде по общей и прикладной химии. - Казань. - 2003. - Т.1. -С. 462.
3. Форд У., Топп У. Структуры данных в С++. - М.: ЗАО "Издательство Бином", 2000. - 816 с.