список литературы
1. Леонов М. В., Никитин А. Г. Эффективный алгоритм, реализующий замкнутый набор булевых операций над множествами многоугольников на плоскости / Препринт Института систем информатики СО РАН 1997. № 46. 20 с.
2. Препарата Ф., Шеймос М. Вычислительная геометрия: Введение / Пер. с англ. М.: Мир, 1989. 478 с.
3. Foley D. J., van Dam A., Feiner S. K., Hughes J. F. Computer graphics. Principles and practice. N.Y.: Addisson-Westey, 1991.
4. Holwerda K. Complete Boolean Description (http:// www.xs4all.nl/~kholwerd/bool.html)
5. Margalit A., Knott G. D. An algorithm for computing the union, intersection or difference of two polygons / /
Computers & Graphics. 1989. Vol. 13. №. 2. P. 167183.
6. O’Rourke J., Chien C.B., Olson T., Naddor D. A new linear algorithm for intersecting convex polygons // Computer Graphics and Image Processing. 1982. Vol.19. P. 384-391.
7. Schutte K. An edge labeling approach to concave polygon clipping // ACM Transactions on Graphics. 1995. P. 1-10.
8. Sutherland I. E., Hodgman G. W. Reentrant polygon clipping // CACM. 1983. Vol. 26. P. 868-877.
9. Weiler K., Atherton P. Hidden surface removing using polygon area sorting // Computer Graphics. 1977. Vol.11. P. 214-222.
10. Weiler K. Polygon comparison using graph representation // Computer Graphics. 1980. Vol. 14. P. 10-18.
УДК 681.322
нейросетевая реализация метода конечных элементов
В. и. ГОРБАЧЕНКО, Ю. Н. ЗЕМСКОВА Пензенский государственный педагогический университет им. В. Г. Белинского кафедра вычислительных систем и моделирования
Проанализировано применение нейронных сетей для решения дифференциальных уравнений в частных производных методом конечных элементов. Предложено использование радиально-базисных нейронных сетей для реализации метода конечных элементов.
Использование нейронных сетей для решения дифференциальных уравнений в частных производных основано на аппроксимационных и обобщающих свойствах нейронных сетей [7]. Можно выделить два основных подхода к использованию нейронных сетей в решении дифференциальных уравнений в частных производных [3].
Первый подход основан на совпадении нейросетевого вычислительного базиса с логическим базисом численных методов решения дифференциальных уравнений в частных производных, что обеспечивает эффективное распараллеливание вычислительного процесса. Следуя работе [1], назовем логическим базисом задачи основной набор операций, реализуемых в процессе выполнения алгоритма. Для разностных методов решения дифференциальных уравнений в частных производных таким базисом являются операции типа скалярного произведения: ^ а1х1 . Логическим базисом вычислительной системы является основная группа операций, реализуемых операционным устройством. В случае “классических” компьютеров, в том числе и суперкомпьютеров, логический базис вычислительной системы никак не связан с логическим базисом решаемых задач и требует применения сложного программного обеспечения. В случае нейрокомпьютеров логический базис вычислительной системы совпадает с логическим базисом численных методов решения дифференциальных уравнений в частных производных, что может обеспечить неалгоритмический характер процесса решения и максимальную производительность. Для решения дифференциальных уравнений в частных производных разностными методами наиболее перспективным представляется использование клеточных нейронных сетей [2]. Логический базис клеточных нейронных сетей совпадает с базисами различных методов решения систем линейных алгебраических уравнений. Большим достоинством клеточных сетей является учет разреженного характера матрицы решаемой системы алгебраических уравнений. Как правило, шаблон клеточной сети совпадает с конечно-разностным шаблоном, что упрощает сеть.
Второй подход основан на аппроксимации нейронной сетью решения краевой задачи как функции пространственных координат. Такой подход получил распространение при использовании радиально-базисных нейронных сетей [7] для решения дифференциальных уравнений в частных производных [4-5,10-11]. Подход основан на использовании в методе коллокаций радиально-базисных функций [8-9] и является бессеточным. Ра-
диально-базисные сети могут не только служить основой построения параллельных вычислительных систем, но и эффективно моделироваться на компьютерах традиционной архитектуры.
Реализация метода конечных элементов с использованием нейронных сетей
Метод конечных элементов (МКЭ) в настоящее время является одним из самых распространенных методов решения краевых задач. Метод отличается наглядностью, сравнительной простотой, применим для областей
сложной формы, позволяет получать решение в произвольных точках области решения. Метод применим даже
при отсутствии явного описания процессов в виде уравнений (конечные элементы можно описать исходя из физики процессов). Благодаря своим свойствам МКЭ широко используется во множестве коммерческих систем для прочностных расчетов, расчетов в гидродинамике, теплообмене и других областях.
Пусть дана стационарная дифференциальная задача:
Lu + p = 0 в О, (1)
Bu + г = 0 на Г, (2)
где L и B - дифференциальные операторы, p и г - известные функции.
В простейшем виде конечно-элементный метод Галеркина реализуется следующим образом [6].
1. Расчетная область О = О + Г разбивается на конечные элементы О; = О; + Г;. Для двумерных областей обычно используют треугольные элементы, для трехмерных областей - тетраэдры. Выделяют нумерованные узлы элементов (обычно это вершины треугольников или тетраэдров).
2. В нумерованных узлах фиксируются неизвестные решения задачи, подлежащие определению.
3. Каждому нумерованному узлу i расчетной области приписывается базисная функция N (х, у, z), равная единице в узле, которому она приписывается, и нулю в других узлах. Базисные функции для различных узлов являются линейно независимыми. Как правило, базисные функции являются линейными многочленами, например:
^ (х у,z)=а; + р;.г+уЧу+ье^.
Коэффициенты а;, в;, у‘, находятся из условия, что базисная функция N4 (х, у, z) равно единице в узле i и нулю в остальных узлах элемента.
4. Приближенное решение задачи находится как линейная комбинация базисных функций с коэффициентами, равными значениям искомого решения задачи в нумерованных узлах
м
и (л; y, z) И и (л; у, z) = £ и^т (л; ^ z) , (3)
т=1
где М - общее количество нумерованных узлов в области решения, ит - искомое решение в узле т .
Для отдельного элемента с узлами /, у, к,I решение (3) во внутренних точках элемента представляется с помощью функции элемента
и; (х,у, г) = и‘N4 (х,у, г) + (х,у, г) + иекЫек (х,у, г) + ые1Ые1 (х,у, г). (4)
5. Приближенное решение и подставляется в дифференциальную задачу (1)-(2), в результате чего рассчитываются невязки ЯО по расчетной области и по границе ЯГ .
6. Невязка минимизируется по всей расчетной области путем приравнивания нулю скалярного произведения невязки ЯО и ЯГ и весовой функции И,, 1,М. В методе Галеркина весовые функции совпадают с базисны-
ми функциями:
' м
ъ,-у +} И -КгйГ = | ИI X
О Г О Vт=
(5)
(И,яп ) = /И +1 И я^г = |И, I XUmLN)+ р
п г п Vт=
+\Й-[ХитВ N )+ Лг = 0, , = ЦМ.
Г V т=1
После интегрирования (5) получается система линейных алгебраических уравнений (СЛАУ) относительно решений в нумерованных узлах.
7. Система (5) может быть записана в векторно-матричной форме:
Ки = f, и = (м, и2 ... им+1 )Т , f = (/[ /2 ... /м+1 )Т , (6)
где К = \кт ], s, т = 1, М +1.
Определенные интегралы по всей расчетной области заменяются на суммы интегралов по конечным элементам, что приводит к ленточной матрице К . Элементы кт и компоненты / вычисляются таким образом, что для 5-й весовой функции Ж!,, 5 =1, М +1 перебираются все базисные функции Ит, т =1, М +1, после интегри-
рования образуется 5-я строка матрицы К и 5-й элемент в векторе f . В каждый коэффициент к т и компонент / делает вклад каждый конечный элемент расчетной области с использованием выражений:
Е Е
к =у к е, / =У /е,
т т
е=1 е=1
где коэффициент кет получается интегрированием уравнения в области О и на границе Г между нумерованными узлами хт и хт+1. Матрица элемента или матрица локальной жесткости образуется из коэффициентов к^. Матрица в (6) называется глобальной, она сформирована для всей расчетной области. Процесс суммирования локальных матриц жесткости, называется ансамблированием конечных элементов. Он осуществляется таким образом, чтобы каждая поэлементная составляющая коэффициента кт глобальной матрицы жесткости К была на своем месте.
8. В результате решения СЛАУ (6) получаются приближенны значения решения задачи (1)-(2) в узлах. С помощью функций элементов (4) решение может быть получено в любой точке любого конечного элемента.
В работах [12-14] для решения СЛАУ (6) предлагается использовать линейные многослойные нейронные сети. Рассмотрим подход, предложенный в [14]. Пусть имеется простая конечно-элементная модель с шестью узлами и четырьмя элементами (рис. 1).
6
Рис. 1. Простая модель метода конечных элементов
Если обозначить через K('’, u(e) и f', соответственно, матрицу жесткости, вектор узловых значений и вектор правой части, соответствующие ¿-му элементу, то нейронная сеть, реализующая модель рис. 1, показана на рис. 2.
Сеть содержит слои входных и выходных нейронов, а также подсети, моделирующие работу каждого конечного элемента. Нейроны выходного слоя вычисляют компоненты вектора невязки
',= (7)
а нейроны входного слоя корректируют компоненты вектора узловых значений
(xj) = xj -arj
v J 'new J J
где нижний индекс ( ) обозначает модифицированное значение, а - константа.
Каждая подсеть вычисляет произведение К (')u('). Процесс решения продолжается до тех пор, пока какая-либо норма вектора невязки (7) станет достаточно малой. Нетрудно увидеть, что рассмотренная нейросетевая реализация метода конечных элементов является частным случаем решения СЛАУ. Так как матрица жесткости К является симметричной и положительно определенной, то для решения СЛАУ (6) можно использовать предложенные в [2] нейросетевые реализации итерационных алгоритмов СЛАУ с положительно определенными матрицами.
Анализ возможностей использования радиально-базисных нейронных сетей
Радиально-базисная нейронная сеть представляет собой двухслойную сеть [7]. Первый слой осуществляет преобразование входного вектора x пространственных координат с использованием радиально-базисных функций (RBF). Практически используются различные радиально-базисные функции. В дальнейшем будем использовать наиболее часто употребляемую функцию - Гауссиан, имеющий вид для к -го нейрона:
Фк (x )= exp (- Г2/ ак 2), (8)
где x - входной вектор, гк - радиус rk =||x -с*|, с* - вектор центра RBF, а - параметр функции, называемый шириной.
Второй слой сети представляет линейный сумматор. Выход сети описывается выражением:
N
u=Z wk Фк (x), (9)
к=1
где wk - вес, связывающий выходной нейрон с k -ым нейроном первого слоя.
Выражение (9) представляет собой формулу метода коллокации для аппроксимации функций и решения дифференциальных уравнений. Рассмотрим суть метода коллокации, реализуемого с использованием RBF, на примере решения задачи (1)-(2). Зададим множество контрольных точек. Тогда решение в контрольной точке с координатами (x, у) имеет вид:
m
u (^ у )=Z ^Фк, (10)
к=1
где wk - вес, m - количество нейронов.
Обучение сети сводится к настройке весов, расположения центров и ширины нейронов, минимизирующих функционал качества (функционал ошибки):
где X - штрафной множитель, N и К - количество внутренних и граничных контрольных точек.
Представление решения в форме (10) и вид базисных функций (8) позволяют вычислить частные производные решения и градиенты функционала по весам, центрам и ширине. Корректировка весов, центров и ширины может производиться по известным градиентным алгоритмам. Принципиально важно, что множество контрольных точек х; является случайным. Стратегии выбора х; могут быть различными, например, можно проделать несколько циклов обучения на одном множестве х;. Случайный выбор точек коллокации и настройка параметров радиально-базисных функций в процессе обучения позволяют добиться большей точности, чем при использовании известных численных методов радиально-базисных функций [8].
Можно использовать радиально-базисные нейронные сети для реализации МКЭ. Для этого расположим центры в узлах сетки. Значение гауссиана (8) в узле равно единице. Радиально-базисная функция в соседних узлах может отличаться от нуля, но выбором ширины можно добиться малого значения функции в узле. кроме того, возможно построение компактно поддерживаемых RBF. Обучение каждого нейрона сводится к настройке весов и ширины по множеству контрольных точек, случайно расположенных в элементах, которым принадлежит центр нейрона. Целесообразно использовать двухшаговый алгоритм обучения, разделяя обучение линейной части сети (обучение весов) и нелинейной части (обучение ширины). Обучение линейной части сети гарантирует получение глобального минимума функционала (11) при зафиксированной ширине. Ширину можно не обучать, выбирая ее из условия близости к нулю значений RBF в соседних узлах.
Использование радиально-базисных нейронных сетей обеспечивает непрерывность производных решения и не требует перехода к слабой формулировке МКЭ как использованию кусочно-линейных базисных функций. кроме того, исключается трудоемкий процесс формирования матрицы жесткости.
Проведен анализ реализации метода конечных элементов с использованием многослойных линейных нейронных сетей, реализующих итерационное решение системы линейных алгебраических уравнений, порождаемой в методе конечных элементов. Предложено использовать радиально-базисные нейронные сети для реализации метода конечных элементов.
Работа поддержана грантом Российского фонда фундаментальных исследований (проект РФФИ 06-0789259 “Применениерадиально-базисных нейронных сетей для решения краевых задач”).
1. Галушкин А. И. Теория нейронных сетей. М.: ИПРЖР, 2000. 416 с.
2. Горбаченко В. И. Нейрокомпьютеры в решении краевых задач теории поля. М.: Радиотехника, 2003. 336 с.
3. Горбаченко В. И. Нейросетевые алгоритмы решения краевых задач теории поля // Нейрокомпьютеры: разработка, применение. 2007. № 8. С. 13-20.
4. Горбаченко В. И., Артюхина Е. В. Обучение радиально-базисных нейронных сетей при решении дифференциальных уравнений в частных производных // Нейрокомпьютеры: разработка, применение. 2007. № 9. С. 150-159.
5. Тархов Д. А. Нейронные сети. Модели и алгоритмы. М.: Радиотехника, 2005. 256 с.
6. Формалев В. Ф., Ревизников Д. Л. Численные методы. М.: ФИЗМАТЛИТ, 2004. 400 с.
7. Хайкин С. Нейронные сети: полный курс. М.: Вильямс, 2006. 1104 с.
8. Franke С., Schaback R. Solving Partial Differential Equations by Collocation using Radial Basis Functions // Applied Mathematics and Computation. 1998. № 93 (1). P. 73-82.
9. Kansa E. J. Motivation for using radial basis functions to solve PDEs // http://uahtitan.uah.edu/kansaweb.html
(11)
Заключение
СПИСОК ЛИТЕРАТУРЫ
10. Nam Mai-Duy, Thanh Tran-Cong. Numerical solution of differential equations using multiquadric radial basis function networks // Neural Networks. 2001. Vol 14. P. 185-199.
11. Li Jianyu, Luo Siwei, Qi Yingjiana, Huang Yapinga. Numerical solution of elliptic partial differential equation using radial basis function neural networks // Neural Networks. 2003. Vol. 16 № 5/6. P. 729-734.
12. Ramuhalli P., Udpa L., Udpa S. Finite Element Neural Networks for Modeling Electromagnetic Forward Problems // AIP Conference Proceedings. 2002. Vol. 615. P. 728-735.
13. Shuixiang Li. Global flexibility simulation and element stiffness simulation in finite element analysis with neural network // Computer methods in applied mechanics engineering. 2000. № 186. P. 101-108.
14. Takeuchi J., Kosugi Y. Neural Network Representation of Finite Element Method // Neural Networks. 1994. Vol. 7. № 2. P. 389-395.
УДК 681.3
МЕТОДЫ ФИЗИЧЕСКОЙ ОРГАНИЗАЦИИ ДАННЫХ, ПОДДЕРЖИВАЕМЫЕ СУЩЕСТВУЮЩИМИ СИСТЕМАМИ УПРАВЛЕНИЯ ДАННЫХ
В. В. ДРОЖДИН, А. М. ВОЛОДИН Пензенский государственный педагогический университет имени В. Г. Белинского кафедра прикладной математики и информатики
Рассматривается физическая организация баз данных (БД), создаваемая и поддерживаемая существующими системами управления базами данных (СУБД). Устанавливаются факторы, существенно влияющие на выбор способов организации данных. Определяются методы, позволяющие достичь высокой эффективности обработки данных. Анализируются особенности механизмов хранения данных, поддерживаемых СУБД MySQL.
для представления и обработки информации об объектах реального мира используются логические и физические структуры данных.
Логические структуры данных (ЛСД) ориентированы на адекватное отражение реального мира и удобное представление информации пользователям. ЛСД носят абстрактный характер (не учитывается их реализация на компьютере), хорошо формализованы и, как правило, имеют точное математическое описание.
Физические структуры данных (ФСД) описывают то, каким образом данные хранятся, как к ним осуществляется доступ и как реализуются операции обработки данных. Поэтому ФСД ориентированы, прежде всего, на эффективную обработку данных.
ЛСД и ФСД, содержащие одну и ту же информацию, часто не совпадают. Поэтому их соответствие осуществляется с помощью отображений “логический -физический” и “ физический - логический”. Наличие отображений делает ЛСД и ФСД достаточно независимыми и позволяют одну ЛСД реализовать различными ФСД и наоборот. Разница реализаций одной ЛСД различными ФСД заключается в различной эффективности обработки данных.
В данной работе рассматриваются ФСД, поддерживаемые существующими СУБД, и определяются факторы, существенно влияющие на выбор ФСД и эффективность обработки данных.
Для ФСД целесообразно различать логическую и физическую организацию данных. Логическая организация данных (ЛОД) ФСД отражает множество элементов данных и отношения между ними, а также способ реализации операций обработки данных. Физическая организация данных (ФОД) ФСД определяет представление и размещение данных в памяти,
метод доступа к данным и механизм реализации операций обработки данных.
на эффективность обработки ФСД существенное влияние оказывают как ЛОД, так и ФОД. Например, для ФСД, являющейся упорядоченным списком, ЛОД может быть задана в виде упорядоченной последовательности блоков, содержащей элементы данных в возрастающем или убывающем порядке, а ФОД -в виде цепочки блоков, связанной указателями, со значениями данных, сжатыми на основе некоторого метода сжатия. Для ФСД, являющейся В+-деревом, ЛОД определяет многоуровневый индекс и наличие реальных данных на нижнем уровне дерева. При этом в ФОД многоуровневый индекс может быть представлен сжатыми значениями данных, дескрипторами и даже хешированными структурами. Кроме этого ФОД может учитывать организацию и различные характеристики памяти, а также включать дополнительные (управляющие) подструктуры, способствующие повышению эффективности обработки данных. Разнообразие ФОД для оной ЛОД не влияет на логику обработки ФСД, а изменяет только эффективность обработки.
В настоящее время широко известны ФСД, рассмотренные в работах [1-3]. При выборе ФСД решающим фактором является эффективность обработки данных, причем согласно Дж. Мартину [3] в первую очередь обеспечение эффективности поиска, далее идут эффективность операций включения и удаления, а также обеспечение компактности данных. Кроме этого, необходимо учитывать такие факторы, как надежность, изменчивость, взаимосвязь данных, минимизацию избыточности, способность к восстановлению после сбоев и др.
При создании существующих систем разработчики вынуждены принимать компромиссные решения