Первые публикации
Программы и программные системы
Учебные программы
Студенческая
Общие проблемы инженерного образования
Инженер в современной России
Экобионика
Зарубежное образование
История технического прогресса
Будущий инженер
Вне рубрик
Расширеный поиск Подписаться на новости
ПОИСК
Ред.совет Специальности Рецензентам Авторам Архив
ВХОД
регистрация забыли пароль?
Электронное научно-техническое издание
НАУКА и ОБРАЗОВАНИЕ
_Эл № ФС 77 - 30569. Государственная регистрация №0420900025. ISSN 1994-0408
Численные методы построения области достижимости динамической системы
# 01, январь 2010
авторы: Воронов Е. ., Карпенко А. П., Козлова О. Г., Федин В. А.
УДК 519.6
МГТУ им. Н.Э.Баумана,
Введение
105005, Москва, 2-я Бауманская ул., д.5., [email protected]
1. Постановка задачи
Рассмотрим динамическую систему
Во многих приложениях, использующих модели исследуемых объектов в виде обыкновенных дифференциальных уравнений (ОДУ), возникает задача построения области достижимости соответствующей динамической системы. Например, такая задача возникает при решении проблемы траекторной безопасности летального аппарата [1], при решении близкой задачи о посадке вертолета на подвижный носитель [2]. Важной особенностью задачи построения области достижимости является то, что ее часто приходится решать в режиме реального времени.
Аналитическое построение области достижимости удается лишь в простейших случаях, не представляющих практического интереса. Поэтому для построения этой области приходится использовать численные методы.
Дискретную аппроксимацию области достижимости динамической системы можно построить путем многократного интегрирования модельной системы ОДУ при различных управлениях (метод мультифиниша). В практических задачах типичной является ситуация, когда основные вычислительные затраты при построении области достижимости этим методом обусловлены затратами на интегрирование указанной системы ОДУ. Поэтому ускорить вычисления можно за счет параллельного интегрирования этой системы ОДУ.
К параллельным методам интегрирования ОДУ относятся блочные методы, а также методы на основе геометрической схемы декомпозиции системы ОДУ.
Методы первого класса основаны на использовании одношаговых и многошаговых блочных формул интегрирования ОДУ, например, формулы Адамса-Башфорта [3]. В вычислительной практике обычно используются не более чем 4-х точечные блочные методы. Поэтому потенциальный параллелизм этой группы методов невелик.
Идея методов второго класса состоит в разбиении модельной системы ОДУ на подсистемы, количество которых равно количеству используемых процессоров вычислительной системы, и интегрировании каждой из подсистем на своем процессоре. В силу, как правило, относительно невысокой размерности вектора фазовых координат исследуемой динамической системы, данные методы также принципиально не могут обеспечить значительное ускорение.
Если не оговорено противное, в работе полагается, что, используемая многопроцессорная вычислительная система (МВС) представляет собой однородную И1ИР-систему с общей или распределенной памятью [4]. Поскольку метод мультифиниша использует интегрирование совокупности систем модельных ОДУ, естественным в данном случае является распараллеливание на основе разделения этой совокупности на наборы, количество которых равно количеству процессоров в используемой МВС. В работе рассматривается проблема балансировки загрузки МВС при распараллеливании метода мультифинаша по указанной схеме, получены оценки эффективности параллельных вычислений.
Даже при вычислениях на однопроцессорной ЭВМ значительное ускорение при построении области достижимости можно обеспечить на основе аппроксимации векторного поля модельной системы ОДУ [2]. При этом область допустимых значений вектор-функции, соответствующей правым частям системы ОДУ, покрывается некоторой сеткой. Предварительно во всех узлах этой сетки вычисляются значения указанной вектор-функции и сохраняются в оперативной памяти ЭВМ. При интегрировании модельной системы ОДУ используются эти значения или их подходящая аппроксимация. В работе получены оценки объема требуемой оперативной памяти, а также оценки ускорения данного метода.
Очевидной является идея использовать метод мультифиниша с заменой модельной системы ОДУ ее некоторой нейросетевой аппроксимацией. Поскольку диапазон начальных условий рассматриваемой динамической системы и ее управлений могут быть весьма широки, для обеспечения требуемой точности аппроксимации в данном случае может оказаться необходимым использование нескольких нейронных сетей. Кроме того, данный метод не дает кардинального сокращения времени построения области достижимости. Указанные обстоятельства не позволяют считать перспективным метод построения области достижимости на основе нейросетевой аппроксимации исследуемой динамической системы, и этот метод не рассматривается в работе.
В работе используется другой подход к построению области достижимости с использованием нейронных сетей - подход, основанный на построении нейронной сети, выходами которой являются непосредственно координаты точек, принадлежащие области достижимости или ее границе.
В качестве примера рассмотрена задача построения области достижимости для летального аппарата, описываемого системой ОДУ шестого порядка. Рассмотрено решение задачи с помощью метода мультифиниша, метода аппроксимации векторного поля этой системы ОДУ, а также нейросетевого метода.
В разделе 1 дана постановка задачи, в разделе 2 рассмотрены методы мультифиниша, в разделе 3 - методы на основе аппроксимации векторного поля, в разделе 4 - нейросетевые методы. Раздел 5 содержит пример использования указанных методов для построения границы области достижимости летального аппарата. В заключении сформулированы основные выводы.
(1)
СОБЫТИЯ
Восьмая открытая всероссийская конференция "Преподавание ИТ в России 2010"
17-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и информатика - 2010"
НОВОСТНАЯ ЛЕНТА
4.03.2010
II Всероссийская научно-практическая Интернет-конференция "Педагогические и технические аспекты применения технологий дистанционного обучения в учебном процессе вуза и школы "
6.02.2010
Студенческий командный чемпионат мира по программированию; российские университеты подтвердили лидерство отечественной школы программирования
27.01.2010
Конкурс работ на соискание премий Правительства Российской Федерации 2010 года в области науки и техники
25.01.2010 Программа Десятой международной научно-практической конференции "Новые информационные технологии в образовании
13.01.2010 Ректор МГТУ им. Н.Э. Баумана Игорь Федоров; Ищем тех, кто в детстве не наигрался в машинки
Пресс-релизы Библиотека Конференции Выставки оска объявлений рхив
Ассоциация технических Университетов Информация о проекте
весна
Логин
Авторы
Координационный совет
где Х = = (^(О^гСО.-"^©)7 - л-мерный вектор фазовых переменных системы,
^ — ^(0 ~ (ц®!^©!—^«(О) - т-мерный вектор управлений, ^ ~ (111131—1*1) - л-мерный
вектор начальных условий, ^ ^ . На вектор фазовых переменных X и вектор управления £/ наложены
ограничения
(2)
где - некоторое пространство т-мерных функций, определенных на интервале [Рэ^Ч,
пространство функций, интегрируемых с квадратом на этом интервале.
Для компактности записи используем векторную форму системы (1)
например,
где
X - Р&Х^Т) А'(О) = Х°
0 = „ мерная вектор функция
(3)
Среди фазовых переменных -^кэ^з»"-»^ выделим Н переменных. Не ограничивая общности, положим, что эти переменные образуют V-мepный вектор
......
Областью достижимости 1 системы (3) назовем множество всех возможных значений вектора
П' ), которые принимаются на решениях системы (3) при начальных условиях X" и выполнении ограничений (2).
Ставим следующую прямую задачу: при заданном векторе начальных условий
д
х°
и конечном времени
построить область достижимости У системы (3). Рассмотрим также обратную задачу: при заданных векторе начальных
условии
УеД
Х\
конечном времени
I и точке тт
принадлежащей области достижимости У, найти управление
О,
, переводящее систему (3) в эту точку.
Для решения прямой задачи, очевидно, достаточно построить границу ^"У области достижимости ^У . В некоторых
случаях удается наити множество допустимых управлении
. принадлежащих классу управлении
построению границы у .
которые приводят систему (3) на эту границу [1]. В этом случае прямая задача сводится к
Сделаем следующие допущения. Во всех случаях при интегрировании системы ОДУ (3) используется алгоритм с
т
постоянным шагом интегрирования Л , где " "V— I - количество шагов интегрирования. Каждый из шагов
интегрирования требуется í вычислений значения функции ^(^з^з^О, вычислительная сложность которой (количество арифметических операций, необходимых для однократного вычисления значения этой функции) не зависит от
/ у ТТ С
аргументов и равна * . Вычислительная сложность затрат на реализацию алгоритма интегрирования на одном
шаге интегрирования равна
2. Методы мультифиниша
2.1. Схема методов. Покроем множество ^в некоторой сеткой с узлами , где М - общее
количество узлов сетки. Поставим в соответствие системе (3) совокупность М систем ОДУ с указанными управлениями:
Ху = ь\1,хх,и^ххф) = х\
Хм = Р$,Хм,им\Хы{0) =х°.
Тогда схему приближенного решения прямой задачи методами мультифиниша можно представить в следующем виде.
(4)
1)
Путем интегрирования совокупности систем ОДУ (4) находим множество точек
представляющее собой дискретную аппроксимацию области У . 2) Запоминаем полученные наборы значений
3)
Во множестве
находим граничные точки
,
представляющие
собой дискретную аппроксимацию границы У области достижимости.
4)
5)
Запоминаем соответствующие наборы значений
На основе точек
строим подходящую непрерывную аппроксимацию
Гт
границы Т.
Задача построения дискретной или непрерывной аппроксимации границы I представляет собой классическую задачу вычислительной геометрии - задачу построения оболочки облака точек. Методы решения этой задачи хорошо разработаны (см., например, [5]), известно значительное количество программных систем, реализующих такие методы (см., например, [б]). Поэтому в данной работе рассматривается только шаг 1, приведенной схемы приближенного решения прямой задачи.
Обратная задача в методах мультифиниша может быть решена по следующей схеме.
1) Во множестве точек находим точку ближайшей к заданной точке reo
2) В качестве искомого управления принимаем управление, соответствующее точке . 2.2. Схема распараллеливания вычислений имеет следующий вид:
которая является в используемой метрике
1)
процессор
, * ё [1. №V] получаетот host - процессора векторы ^U-QpA^Ü-Qi»*"
- процессора векторы
2) интегрирует при этих управлениях систему ОДУ (3) - находит множество точек
ИО 1)/;+1,1/4
3)
передает координаты этих точек
host
процессору.
Здесь Nff - количество процессоров в используемой МВС; большего V.
М [лДгдеР
- символ ближайшего целого
При параллельном построении множества достижимости по указанной схеме в допущениях раздела 1 проблема балансировки загрузки МВС не возникает. При построении границы области достижимости ситуация может быть
иной. Рассмотрим для примера случай, когда класс функций представляет собой класс релейных функций с не
более чем одной точкой переключения. Положим, что одна из границ множества достижимости формируется управлениями этого класса, в которых все компоненты вектора управления, кроме одного, постоянны, а один из компонентов имеет одну точку переключения. Пусть, например,
i£(i) = <(0 =... = «iC0 = «mrf,
где
ts г [0,7 ]
<(0
[1].
- момент времени, когда происходит переключение управления 2.3. Равномерная декомпозиция точек переключения. Покроем интервал
т
равномерной сеткой с шагом
. . 4 . д^ к
М —<А1 5 _ = — = г
М и узлами г , ' J . Положим, что шаг ¿1 кратен шагу Af , так что At М
и узлами г , I 1. Положим, что шаг кратен шагу
т гГ ж гГ г тГ
Г - целое число. При этом множество управлений 1 » 2 естественно сформировать в виде
иг =
Таким образом, схема распараллеливания имеет вид, представленный на рисунке 1.
Рис. 1. Схема распараллеливания при равномерной декомпозиции точек переключения
В соответствии с этой схемой на процессоре 1 выполняется интегрирование системы ОДУ (3) при управлениях
р иг иг Р
р, на процессоре 2 - при управлениях и т.д. до процессора до, который выполняет
UT ...J7r
интегрирование при управлениях [MMJjhI* А
Вычисления на процессоре f организуем следующим образом.
-ЕГО
Шаг 0 (этап «разгона»). Исходя из начальных условии А. , выполняем интегрирование системы (3) при управлении
(jXXr-X)
от момента времени 0 до момента времени »»-• и запоминает значения компонентов векторов
где
Шаг 1. Исходя из начальных условий
, выполняем интегрирование системы (3) при управлении
от момента времени
CHIj«»
до момента времени .
)
Шаг 2. Исходя из начальных условий * 1М11»*", выполняем интегрирование системы (3) при управлении
(-IXX^-JÎ)
от момента времени
't^lptî
до момента времени .
Шаг Исходя из начальных условий , выполняем интегрирование системы (3) при управлении
от момента времени до момента времени Т. Замечание. В рассмотренной схеме каждый из последующих процессоров повторяет шаг 0 своего предыдущего процессора
Г^ г* 1
и только затем выполняет интегрирование системы (3) на «своем» интервале 1 СНИя' ч»^ . Если вычислительные затраты на интегрирование системы (3) велики, то может оказаться целесообразной более «тонкая» организация вычислений на
этапе разгона - однократное интегрирование системы (3) на интервале
[О,Г]
при управлении на одном процессоре и передача значений необходимых компонентов векторов ПО ПО.....ЧО остальным
процессорам вычислительной системы. Однако, если /''>'> что можно считать типичной ситуацией, выигрыш от такой организации вычислений не может быть существенным.
Оценим ускорение рассмотренной схемы распараллеливания. В сделанных допущениях время выполнения процессором
этапа «разгона» равно
время выполнения /-го шага, где
, можно оценить величиной
.
(5)
(6)
Таким образом, общее время решения задачи процессором г равно
¿0 ■ J—t-ij j-i
(7)
Здесь и далее erf - время выполнения арифметической операции на одном процессоре используемой МВС.
Р
Поскольку загрузка первого процессора 1 в данном случае, очевидно, максимальна, время параллельного решения задачи определяется выражением
_ т - зЖг + ci) <* t^iic, + С,)
M2
,
где учтено, что
M» 11
Аналогично, время последовательного решения задачи на одном процессоре оценим величиной
=tjHcr +c,it{M-o-i))«. U^riic,
.
Отсюда имеем
Утверждение 1. Ускорение jS параллельного метода на основе равномерной декомпозиции точек переключения
«Г (О
управления
оценивается величиной
NN
«Г (О
Из утверждения 1 следует, что равномерная декомпозиция точек переключения управления V/ не может обеспечить ускорение, превышающее 50% от максимального потенциально возможного ускорения, равного JWV\
Лучшей балансировки загрузки многопроцессорной вычислительной системы можно добиться за счет неравномерной декомпозиции точек переключения управления
2.4. Неравномерная декомпозиция точек переключения. Положим, что процессор г выполняется
интегрирование системы ОДУ (3) при управлениях
а процессор M - при управлениях
О М . Потребуем, чтобы времена решения задачи процессорами были равны, т.е. чтобы
выполнялось равенство выполнение равенства
Г, I G [1. ftff 1] Из ВЫражений (5) - (7) следует, что для этого необходимо
b + Î(M j) c+±{M-j)
или, что то же самое, равенства
2М-ф + а) 1М-{с+Щ Ь +-1-1ф-а) = с +-1--(с-Ь)
Отсюда вытекает квадратное уравнение для определения величины С при известных значениях величин
.
(9)
Если для процессора 1 задаться величинами
а — Оу— О Ъ — Ъх
то из выражения (9) легко найти
Р Р
последовательно управления, которые должны обрабатывать процессоры 3' S'""
Рассмотрим для примера случай ЛЯ. —
Ai = 1000 Л =100
Из (9) вытекает, что в данном случае можно обеспечить
Atf.
загрузку 6 процессоров (таблица 1). Отметим, что здесь количество точек переключения ^^в вычислено по остаточному принципу и не удовлетворяет уравнению (9).
Таблица 1. Пример неравномерной декомпозиции точек переключения
р Процессор г £ Î Af
0 100 100
101 212 111
213 342 129
Р4 343 504 151
505 756 251
757 1000 243
Оценим ускорение рассматриваемого метода. Положим, что в последовательном режиме задача решается по схеме, аналогичной рассмотренной выше (с этапом «разгона»). Тогда время последовательного решения задачи можно оценить величиной
" +С-(М~1 - + С,
XAf lXÎ + 0-5Af).
Поскольку в данном случае вычислительная загрузка всех используемых процессоров (исключая, быть может, последний процессор) примерно одинакова, оценка времени параллельного решения задачи следует из выражения (8) и равна
Таким образом, имеем
Утверждение 2. Ускорение jS параллельного метода на основе неравномерной декомпозиции точек переключения
«Г (О
управления
оценивается величинои
(Af-lXl + O^Af) А/3
Я =
.
Из утверждения 2 следует, что для рассмотренного выше примера ускорение равно
10003
»5.26
-
.
Заметное отличие ускорения от максимально возможного (равного 6) объясняется тем, что загрузка последнего процессора
далека от оптимальной загрузки. Рассмотрим другой пример. Пусть
= 129 Д^ =168 А/* = 405
равномерно, ускорение равно
à J-' _ QQ à J'1 _ | fUl
. Тогда по формуле (9) получим , ^^î — ,
Д^ =88
. Поскольку при этом все шесть процессоров загружены практически
Явное решение рекуррентного уравнения (8) не удается. Поэтому количество точек переключения
обрабатываемых процессором 1, приходится подбирать таким образом, чтобы вычислительная загрузка всех процессоров,
включая последний процессор, была примерно одинакова. При этом критерий окончания перебора удобно строить, исходя из
р
того, что при несбалансированности загрузки процессора ОТ корни уравнения (9) оказываются комплексными.
3. Методы на основе аппроксимации векторного поля системы ОДУ 3.1. Схема методов. Идея методов этой группы состоит в следующем.
1). Предварительно множество покрываем некоторой сеткой
С^зО; 1Е[1:п] *е[1:и1] Ье[1:ЛГх] с<=[
« = £«>*« А,}
с узлами
2). Предварительно во всех узлах указанной сетки вычисляем значения функции значения.
и запомним эти
3). Поочередно для
1 =
тем или иным методом численно интегрируем систему ОДУ (3) при управлении
соответствующие интерполяции или аппроксимации
^ 1, используя в качестве требуемых значений функции запомненных значений этой функции.
Ускорение вычислений в методах данного класса достигается из-за того, что этапы 1, 2 выполняются предварительно, а при выполнении этапа 3 не требуется вычислять значения правых частей системы ОДУ (3).
Для того чтобы использовать весь потенциал данных методов значения функции * в узлах сетки О
следует хранить в оперативной памяти компьютера. Примем, что длина вещественного числа равна 4 байтам. Тогда с
О равно "ДОС
учетом того факта, что общее количество узлов сетки равно
Утверждение 3. Требуемый объем памяти для хранения значений функции в узлах сетки О
V = байт.
равен
Из утверждения 3 следует, что если, например,
Рг = 4х5х109 = 2 х 10м байт я 20 Гбайт
п=5 т = 3 ^ = ^=^=10,
3.2. Кусочно-постоянная интерполяция функции . Рассмотрим прежде случай, когда в качестве
используется значение этой функции в ближайшем узле сетки П . Такая схема вычислений
О,
значения
применима при построении области в грубом приближении и означает использование кусочно-постоянной интерполяции функции
Оценим ускорение, которое обеспечивает метод в этом случае. Вычислительные затраты при численном интегрировании ОДУ состоят из затрат на вычисление значений функции ^(^з^з^О и затрат на реализацию собственно используемого алгоритма интегрирования. В допущениях раздела 1 время приближенного построения области путем интегрирования системы ОДУ (3) без предварительного вычисления значений функции может быть оценено
. Это же время при кусочно-постоянной интерполяции функции
г, = Г ХС.
величинои оценивается величиной
'X. Таким образом, имеет место
Утверждение 4. Ускорение 5 последовательного метода на основе кусочно-постоянной интерполяции функции
Пих,и) равно
(10) С »С
Поскольку обычно у /, из утверждения 4 следует, что ускорение в данном случае можно принять равным
Заметим, что оценка (10) получена в предположении, что при интегрировании системы ОДУ (3), как без
предварительного вычисления значений функции ^Х^з^з^О, так и с таким вычислением, применяется один и тот же метод интегрирования и с одним и тем же шагом интегрирования. Вообще говоря, из соображений обеспечения заданной
точности приближенного построения области , в первом случае можно было бы использовать больший шаг интегрирования. Однако аналитические оценки величины этого шага не удаются.
3.3. Кусочно-линейная интерполяция функции . При том же количестве узлов сетки о большую
то
точность вычислений можно обеспечить путем использования линейной интерполяции функции ~ у на узлах этой
сетки. При этом рассмотренная выше идея последовательных методов существенно изменяется. Дело в том, что построение интерполирующей функции, даже в том случае, когда она является линейной, требует значительных вычислительных затрат.
Поэтому в данном случае целесообразно хранить не значения функции
пихл)
в узлах сетки п , а заранее строить интерполирующие функции для каждой из ячеек этой сетки и хранить коэффициенты этих функций.
В ячейке "'-Г сетки О, ограниченной узлами ^О3 1 О Р +
У 1 построим линейную интерполирующую функцию
,
(11)
где ("л"-^/.мй} - (П+Ш + 1) вектор неизвестных коэффициентов,
^ — - такой же вектор аргументов функции ^(^з^з^О, )
произведения векторов. Коэффициенты алгебраических уравнений (СЛАУ)
символ скалярного при этом находятся из системы линейных
(12)
где ^ ^[1-И+Н1 + 2] -узлы ячейки ^.Г . Отметим, что общее количество узлов ячейки ^^ равно, очевидно,
2(и + т+1)
Утверждение 5. Объем памяти, необходимый для хранения коэффициентов Д./.01Д./.11Д./.11---зЛ./.«»1 линейной интерполяции функции на сетке п , равен
байт.
Из утверждения 5 следует, что если, например, П = 5 , 1И = 3 , N = 10, то V = 4X10X9 и 16X10 байт ж 16 Гбайт.
Ускорение последовательного метода на основе кусочно-линейной интерполяции функции ^"(^з^з^О так же, как в методе на основе кусочно-постоянной интерполяции - см. выражение (10).
определяется
Отметим,что функция
в общем случае не является непрерывной.
3.4. Кусочно-линейная аппроксимация функции . Известной проблемой интерполяции
многомерных функций является проблема невозможности использования произвольных сеток. Так для двумерной функции и интерполяции по трем узлам, для обеспечения невырожденности системы (12) эти узлы не могут быть расположены на одной прямой. Аналогично, при интерполяции той же функции по шести узлам, эти узлы не могут быть расположены на
одной кривой второго порядка и т.д. Поэтому в вычислительной практике при построении множества ^У целесообразно
использовать не интерполяцию функции ^Х^з^з^О, а ее аппроксимацию на основе метода наименьших квадратов (МНК).
Для кусочно-линейной аппроксимирующей функции в этом случае имеем следующую СЛАУ относительно неизвестных коэффициентов ■
В соответствии с методикой МНК, решение этой системы имеет вид
,
где (и + т + 2) векторыи (2(п + т+1)х2(и + т+1))
-матрица равны, соответственно,
Wj* : : jfx-jfj.y.-j......^■¿'.'(»'¡»¡чУ ■
VJJ - (МЛЯИ-AJ*И^г-^О1,
Важно, что кроме вырожденного случая, когда все точки
лежат в одной плоскости, решение СЛАУ (13) существует и единственно.
Объем памяти, необходимый для хранения коэффициентов кусочно-линейной
аппроксимации функции на сетке О, определяется утверждением 5. Ускорение последовательного метода
на основе кусочно-линейной аппроксимации функции определяется утверждением 4.
Отметим, что, как и в предыдущем пункте, функция , вообще говоря, не является
непрерывной.
3.5. Другие методы аппроксимация функции
FiUXJO)
. Большое
количество вариантов рассмотренного в
предыдущем пункте подхода к кусочно-линейной аппроксимации функции , можно получить с привлечением
результатов теории планирования эксперимента. Так каждый из узлов сетки О можно использовать в качестве центральной точки для построения регрессионного плана эксперимента первого порядка, удовлетворяющего критерию ¿-оптимальности, А-оптимальности, Е- оптимальности и т.д. [7]. СЛАУ (13) при этом сохраняет свою структуру.
Повысить точность аппроксимации функции
F(t,X,U)
можно за счет использования в пределах каждой из ячеек
^J квадратичной аппроксимации. При этом естественно ориентироваться на планы эксперимента второго порядка такие, как центрально-композиционные планы, композиционные планы Хартли и Вестлейка [8].
В алгоритмическом отношении для аппроксимации удобно использовать композицию одномерных полиномов (метод Брандона)[9].
3.6. Распараллеливание вычислений. Дальнейшего уменьшения времени решения задачи можно добиться путем организации параллельных вычислений. Схема распараллеливания при этом не отличается от схемы, рассмотренной в п. 2.4.
4. Нейросетевые методы
Для аппроксимации многомерных функций чаще всего используют многослойные нейронные сети прямого распространения (многослойные персептроны) [10]. В качестве аппроксиматора функций могут использоваться также радиальные нейронные сети. При прочих равных условиях аппроксимация этими сетям требуется на порядки больше нейронов, чем аппроксимация многослойными персептронами. Поэтому радиальные нейронные сети в работе не рассматриваются.
Для решения прямой и обратной задачи построения области достижимости используем нейронные сети HCl, НС2 соответственно. Входами нейронной сети HCl являются вектор начальных условий Х°, конечный момент времени Г и совокупность управлений , а выходами - вектор
ГСО
- см. рисунок 2а. Нейронная сеть НС2 имеет в , а в качестве выходов - вектор - см. рисунок 2б.
качестве входов величины
В случае, когда известно множество допустимых управлений
К^Цг,
приводящих систему (3) на границу области
достижимости I, можно использовать сети, аналогичные сетям HCl, НС2. Отличие состоит в том, что здесь управления
должны принадлежать множеству В, а вектор
rf 7(Т\ Г
" = ■«>"-■-«" ж v- J - границе Т . Кроме того, в случае сложной топологии
границы I может оказаться необходимым использование различных нейронных сетей для аппроксимации различных фрагментов этой границы.
Рис. 2. К нейросетевой аппроксимации области достижимости
5. Пример
5.1. Постановка задачи. Рассмотрим летальный аппарат, уравнения движения центра масс которого в нормальной земной системе координат ^Ч® описываются системой нелинейных дифференциальных уравнений
где V - скорость летательного аппарата, © -
угол наклона траектории
- угол поворота траектории,
летательного аппарата, "г - тангенциальная перегрузка, Н - нормальная перегрузка, Ус - скоростной угол крена ускорение свободного падения [1].
Управлениями летательного аппарата являются тангенциальная перегрузка, нормальная перегрузка и скоростной угол
ё
крена, так что
. На управления наложены ограничения
ПГ <11, <|£\ пГ =1.6, =0.6;
ГеР*-
В работе [1] показано, что дальняя, ближняя и боковая границы области достижимости системы (14) формируются управлениями, принадлежащими классу кусочно-постоянных управлений. Ограничимся рассмотрением дальней границы
области достижимости. Для каждого допустимого 7^(0 — структура управлений, формирующих эту границу,
представлена на рисунках За, 36 [1].
Рис. 3. Структура управлений, формирующих дальнюю границу области достижимости 5.2. Метод мультифиниша.
Для экспериментального исследования эффективности метода мультифиниша разработана МР1-программа [4], реализующая этот метод. Эксперименты выполнены на виртуальном кластере, созданном с помощью программной системы VMware [11] и функционирующим под управлением свободно распространяемой операционной системы иЬипШ [12]. Результаты экспериментов иллюстрирует рисунок 4, который показывает, что на числе процессоров от 2 до 10 достигается ускорение, близкое к расчетному.
высота
œ
Я;
10.00
9,00
8,00
7,00
0.00
5.00
JJ 4,00
3,00
2,00
1,00
0.00
9.02
3,
г, til 12
5 со
4,89
3,8 2
2,93
1,97
10
Число задействованных процессоров
Рис. 4. Ускорение метода мультифиниша Приведенные на рисунке 4 экспериментальные результаты получены при следующих значениях параметров задачи:
v(0) - 330,0 м/с в(0) 0 Ч'(0) 0 х(0) 0 у(0) -10000,0 м z(0) - 0 т=15
с.
5.3. Аппроксимация векторного поля системы ОДУ. Рассмотрим «плоскую» задачу (14), когда
^ . Время Г положим равным 30 с. Область фазового пространства ^X системы (14), положим, определяется
неравенствами
1 j6 -vj, < v(t)<1.9■ ve - 90° <в(9 <90", T(i) = 0, О < < 5500 м О < y(i) < 2700 м z(Q = 0
Здесь
=331,46
м/с- скорость звука в воздухе. Начальные условия летального аппарата примем следующими:
v(0) -132.584 н/ в(0) = О Т(0) = О х(0) = О _у(0) = 1000 z(0) = О Tt (0) 0
В соответствии с методикой, рассмотренной в разделе 3, покроем интервал времени
Л.
[О ,Т]
равномерной сеткой с 20
узлами. Указанную выше область ж фазового пространства системы (14) покроем равномерной сеткой так, что количество шагов этой сетки равно 18, 20, 20, 18 по измерениям V, 9, I, У соответственно. Наконец, в качестве ^ переключения управления Н рассмотрим = 30
моментов времени t переключения управления
[О,Л
(рисунок 3 а).
узлов равномерной сетки, покрывающей
интервал времени
на указанной
Численные эксперименты выполнены для кусочно-постоянной аппроксимации функции сетке (рисунок 5).
Эксперименты показали, что метод обеспечивает погрешность в определении расстояния от начала координат до границы области достижимости, не превышающую 4%. В качестве точного положения границы области достижимости принималось положение, полученное путем численного интегрирования системы (14) при соответствующем управлении.
Рис. 5. Дальняя граница области достижимости («плоская» задача): * - точная граница; + - приближенная граница
и начальные
5.4. Нейросетевая аппроксимация. В данном случае начальный угол поворота траектории
*(<>), № летательного аппарата полагаются равными нулю. Так что исходное положение
40) и начальным углом наклона траектории
в(0):
координаты
летательного аппарата определяется начальной скоростью
1.6-vB<v(0)<1.9v,
зг зг
<6(0)<
'ТО) 8
нормальной перегрузки И и значения скоростного угла крена
8 . Варьируемыми параметрами являются точки переключения * Ус. Полагается, что ^ е , где [5Д5] с;
поскольку область достижимости симметрична относительности плоскости полагается, что Ус ^
Для указанной задачи были построены нейронные сети НС 1, НС 2 (раздел 4). Во всех случаях обучающая выборка состояла из 4500 элементов, из которых 20% случайно выбранных точек использовались в качестве проверочных для определения момента окончания обучения. Начальные веса и пороговые значения нейронов слоя устанавливались в соответствии с алгоритмом инициализации Нгуен-Видроу (Nguyen-Widrow) [10]. Обучение каждой сети выполнялось в среднем 10 раз с различными начальными весами и пороговыми значениями, на основе чего выбиралась сеть с минимальным значением ошибки. Для исследования точности обученной сети использовалась тестовая выборка, содержащей более 20000 элементов. Все эксперименты выполнены в среде программной системы MatLab 6 [10].
Сеть HCJ. Входной слой сети НС1 состоит из пяти элементов, соответствующих величинам
v(0) 6(0) т ус
Í . Сеть содержит два скрытых слоя, содержащих одинаковое количество нейронов с функцией активации -гиперболический тангенс. Выходной слой сети состоит из трех нейронов с линейной функцией активации, соответствующих
ФХ уОХ *со
координатам
конечного положения летательного аппарата.
Исследование показало, что при количестве нейронов в сети, равном 22, максимальная относительная ошибка определения нейронной сетью НС 1 координат точек границы области достижимости не превышает 12%. С ростом количества нейронов эта ошибка быстро уменьшается и при 40 нейронах не превышает 4%. Результаты исследования иллюстрирует рисунок 6, на котором показана аппроксимация дальней границы области достижимости нейронной сетью HCl с 32
нейронами для случая ?= " с, v(0) =1Л ■ VB, 6(0) = */10 _
Сеть НС2 аналогична сети HCl. Входной слой сети НС2 состоит из пяти элементов, соответствующих величинам
, а., ß, где а., ß -углы, задающие требуемое направление в пространстве. Выходной слой состоит
t^ и значения скоростного угла крена Ус.
, где
из двух нейронов, соответствующих положению точки переключения
Рис. 6. Нейросетевая аппроксимация дальней границы области достижимости
Для оценки точности аппроксимации сети определяются координаты точек границы области
достижимости, соответствующие управлению, получаемому на выходе нейронной сети, и сравниваются с эталонными координатами этих точек, вычисленными с помощью интегрирования системы ОДУ (14), как показано на рисунке 7.
Исследование показало, что максимальная относительная ошибка определения нейронной сетью НС2 координат точек границы области достижимости при 22 нейронах в сети не превышает 9%, а при 40 нейронах - ~3%.
Детально результаты исследования метода нейросетевой аппроксимации границы области достижимости летального аппарата приведены в работах [13, 14].
Рис. 7. Схема определения точности аппроксимации нейронной сетью НС 2 Заключение
В работе рассмотрены три метода построения области достижимости динамической системы - метод мультифиниша, метод на основе аппроксимации векторного поля соответствующей системы ОДУ, а также метод на основе нейронных сетей. Предложены соответствующие последовательные и параллельные алгоритмы, последние из которых ориентированы на вычислительные системы класса И1МЮ. Эффективность указанных методов исследована на примере построения области достижимости летательного аппарата (точнее, границы этой области).
Проведенное исследование показало перспективность практического использования всех рассмотренных методов. Тот или иной метод могут быть рекомендованы в зависимости от вычислительной сложности правых частей системы ОДУ, описывающей исследуемую динамическую систему, а также от располагаемых вычислительных ресурсов.
Кроме рассмотренных методов, интерес представляет использование для приближенного построения области достижимости нечетких множеств. Отметим также целесообразность исследования метода, основная идея которого состоит в следующем: для представительного множества начальных условий динамической системы тем или иным образом строим совокупность областей достижимости; границу каждой из этих областей аппроксимируем подходящей функцией; функциональную зависимость коэффициентов этой функции от начальных условий аппроксимируем, например, с помощью нейронной сети. Можно ожидать, что такой метод позволит получить приемлемую точность аппроксимации множества достижимости для широкого набора начальных условий.
Авторы благодарят Трофимова А. Г. за идею использования нейронных сетей для аппроксимации непосредственно области достижимости, а также К.О. Вишневецкого и Д.С. Кулеша за проведение вычислений с использованием методов мультифиниша и аппроксимации векторного поля соответственно.
Литература
1. Воронов, Е.М. Алгоритм оценки границ области достижимости летательного аппарата с учетом тяги / Е.М.Воронов, А.А.Карпунин // Вестник МГТУ. Сер. Приборостроение.- 2007.- №4(69).- С. 81-99.
2. Гурман, В.И. Приближенные методы оптимизации управления летальным аппаратом / В.И.Гурман, В.И.Квоков, М.Ю.Ухин // Автоматика и телемеханика.- 2008.- №4.- С. 191-201.
3. Ортега, Дж. Введение в численные методы решения дифференциальных уравнений / Дж.Ортега, У.Пул: пер.с
англ.; под редакцией А.А.Абрамова - М.: Наука, 1986.- 288 с.
4. Воеводин, В.В. Параллельные вычисления / В.В.Воеводин.- СПб.: БХВ-Петербург, 2004.- 608 с.
5. Скворцов, А.В. Обзор алгоритмов построения триангуляции Делоне / А.В.Скворцов // Вычислительные методы и программирование.- 2002.- Т.3.- С. l4 - 39.
6. Directory of Computational Geometry Software [Электронный ресурс]. (//http://www.geom.uiuc.edu/software/cglist/).
7. Карпенко, А.П. Аппроксимация функции предпочтений лица, принимающего решения, в задаче многокритериальной оптимизации. 1. Методы на основе планов первого порядка [Электронный ресурс] / А.П.Карпенко, В.Г.Федорук // Электронное научно-техническое издание: наука и образование.- 2008.- №3.
(http://technomag.edu.ru/doc/82725.html).
8. Карпенко, А.П. Аппроксимация функции предпочтений лица, принимающего решения, в задаче многокритериальной оптимизации. 2. Методы на основе планов второго порядка [Электронный ресурс] / А.П.Карпенко, В.Г.Федорук // Электронное научно-техническое издание: наука и образование.- 2008.- №3. (http://technomag.edu.ru/doc/83356.html).
9. Хохлов, С.Ф. Применение метода Брандона для обработки экспериментальных данных / С. Ф.Хохлов, О. И. Школа // Вопросы химии и химической технологов.-1973.- Вып. 28.- с. 204—207.
10. Медведев, В.С. Нейронные сети. Matlab 6 // В.С.Медведев, В.Г.Потемкин.- М.: Диалог-МИФИ, 2001.- 496 с.
11. VM ware [Электронный ресурс]. (http://www.vmware.com/)
12. Ubuntu [Электронный ресурс]. (http://www.ubuntu.com/)
13. Козлова, О. Г. Нейросетевая аппроксимация границы области достижимости летательного аппарата [Электронный ресурс] / О.Г.Козлова // Электронное научно-техническое издание: наука и образование.- 2009.- №7. (http://technomag.edu.ru/doc/129990.html).
14. Козлова, О. Г. Нейросетевая аппроксимация границы области достижимости летательного аппарата. Трехмерный случай [Электронный ресурс] / О.Г.Козлова // Электронное научно-техническое издание: наука и образование.- 2009.- №8. (http://technomag.edu.ru/doc/130282.html).
Публикации с ключевыми словами: динамическая система, нейросетевая аппроксимация, область достижимости динамической системы
Публикации со словами: динамическая система, нейросетевая аппроксимация, область достижимости динамической системы
Смотри так же:
Нейросетевая аппроксимация границы области достижимости летательного аппарата. 2. Трехмерный случай Нейросетевая аппроксимация границы области достижимости летательного аппарата
Разработка математической модели двигателя внутреннего сгорания с использованием программного комплекса Р[[АР1Б
Тематические рубрики:
• Наука в образовании: Электронное научное издание
Ассоциация технических Университетов Вузы
Информационное агентство
Координационный совет Новости УМО Вузов
j ' | [email protected]
телефон (8499) 263-68-67 ¡J RSS
Q STACK GROUP
© 2003-2010 «Наука и образование: электронное научно-техническое издание»