УДК 519.6
О СХОДИМОСТИ МАСШТАБИРУЕМОГО АЛГОРИТМА ПОСТРОЕНИЯ ПСЕВДОПРОЕКЦИИ НА ВЫПУКЛОЕ ЗАМКНУТОЕ МНОЖЕСТВО
А.В. Ершова, И.М. Соколинская
ABOUT CONVERGENCE OF SCALABLE ALGORITHM OF CONSTRUCTION PSEUDOPROJECTION ON CONVEX CLOSED SET
A.V. Ershova, I.M. Sokolinskaya
Доказывается теорема сходимости для алгоритма построения псевдопроекции на выпуклое замкнутое множество. Данный алгоритм является основной частью итерационного метода решения задачи сильной отделимости и допускает эффективное распараллеливание на большом количестве процессоров.
Ключевые слова: Фейеровское отображение, задача сильной отделимости, итерационный метод, псевдопроекция точки.
The convergence theorem for the algorithm of construction pseudoprojection on convex closed set is proved. This algorithm is main part of the iterative method for solving strong separability problem, also it let effective paralleling for a lot of processors.
Keywords: Fejer’s mapping, problem of strong separating, iterative method, pseudoprojection of point.
Введение
В распознавании образов имеет большое значение задача сильной отделимости, которая состоит в нахождении слоя наибольшей толщины, разделяющего два выпуклых непересека-ющихся многогранника. Такая задача может быть решена с помощью итерационного метода, использующего операцию проектирования. Однако на практике применение этого метода существенно ограничивается тем, что далеко не всегда удается построить конструктивную формулу для вычисления проекции точки на выпуклое множество. Поэтому целесообразно заменить операцию проектирования последовательностью фейеровских отображений [1]. Указанный метод был описан в работе [2].
При решении практических задач экономико-математического моделирования часто встречаются задачи с большим количеством переменных и ограничений. Подобные задачи при решении требуют значительных вычислительных мощностей. В связи с этим актуальной является задача разработки параллельного алгоритма разделения выпуклых многогранников с помощью фейеровских отображений, допускающего эффективную реализацию на многопроцессорных системах с массовым параллелизмом. В методе решения задачи сильной отделимости на базе фейеровских отображений наиболее ресурсоемкой частью является алгоритм вычисления псевдопроекций на многогранник. В данной работе предлагается новый масштабируемый алгоритм построения псевдопроекции на выпуклое замкнутое множество и доказывается его сходимость.
Статья состоит из трех частей. В первой части описывается численный метод решения задачи сильной отделимости на базе фейеровских отображений. Во второй части приводится новый масштабируемый алгоритм построения псевдопроекции на многогранник. В третьей части доказывается сходимость предложенного алгоритма.
1. Численный метод решения задачи сильной отделимости на базе фейеровских отображений
Пусть даны два выпуклых непересекающихся многогранника М С К” и N С К”, заданные системами линейных неравенств:
М = {х|Ах < Ь} = 0;
N = {х|Вх < й} = 0; (1)
М П N = 0.
Задача сильной отделимости - это задача нахождения слоя наибольшей толщины (п-слоя), разделяющего М и N. Сильная отделимость, по существу, эквивалентна задаче отыскания расстояния между М и N в смысле метрики
р(М, N = шт{||х — у|||х € М,у € N}. (2)
Если X € М и у € N являются ащ-точками задачи (2), то есть р(М, N) = ||Х — у||, то слоем наибольшей толщины, разделяющим множества М и N, является Р = {х | х € Р\ П Р2}, где Р\ и Р2 - полупространства, задаваемые линейными неравенствами
(х — X, X — у) < 0 и (у — у, X — у) > 0 .
Задача сильной отделимости может быть решена с помощью известного итерационного метода последовательного проектирования [2].
Если множества М и N достаточно просты в смысле простоты реализации операции проектирования точек на них, то такой метод решения задачи сильной отделимости может быть использован на практике. Но если М и N - произвольные многогранники, то такой подход не может быть признан эффективным, так как не известен универсальный конструктивный метод построения проекции точки на многогранник. Ситуацию можно исправить, если вместо операции проектирования использовать фейеровские отображения.
Рассмотрим итерационный метод решения задачи сильной отделимости на базе фейеровских отображений.
Дадим определение фейеровского отображения. Пусть ^ € {К” ^ К”}. Отображение называется М-фейеровским, если выполняются следующие два условия:
^(у) = у, Уу € М;
||^>(х) — у|| < ||х — у||, Уу € М, Ух € М.
Сконструируем М-фейеровское отображение, следуя работе [3]. Представим систему линейных неравенств, задающих многогранник М, в следующем виде:
Ах < Ь : ^ (х) = (а, х) — Ь^, ] = 1,..., т, (3)
где aj = 0 для любого ^. Определим 1+ (х) следующим образом:
1+(х) = шах{1^(х),0}, ] = 1,...,т. (4)
Тогда отображение вида
m l+(x)
р(ж) = x — ¿^аXjT—Ü2aj (5)
j=1 llaj 11
будет M-фейеровским для любой системы положительных коэффициентов {aj > 0},
m
j = 1,..., m, таких, что ^ aj = 1 и коэффициентов релаксации 0 < Aj < 2. Аналогичным
j=1
образом сконструируем N-фейеровское отображение ^. Используя отображения ^ и мы можем построить следующий алгоритм F, решающий задачу сильной отделимости с использованием фейеровских отображений.
Алгоритм F. Пусть задано произвольное начальное приближение zo Є Rn. Зафиксируем положительное вещественное число є. Алгоритм состоит из следующих шагов:
Шаг 0. k := 0.
Шаг 1. Жк+i := lim ^>u(zk).
Шаг 2. yfc+i := lim ^u(zfc).
Шаг 3. zfc+i := xk+1+yk+1.
Шаг 4. k := k + 1.
Шаг 5. Если min{||xk+i — Жк||, ||ук+1 — УкУ} > є, перейти на шаг 1.
Шаг 6. Стоп.
Алгоритм F был исследован в работе [4]. Проведенные вычислительные эксперименты на модельных и случайных задачах подтвердили его эффективность. Однако, для больших размерностей работа алгоритма F требовала значительного времени. Например, при размерности задачи n = 512 время счета на одном процессорном ядре составило 16 часов. В связи с этим возникла необходимость разработки параллельной версии этого алгоритма для многопроцессорных систем с массовым параллелизмом. Очевидно, что в алгоритме F ресурсоемкими являются шаги 1 и 2. На каждом из этих шагов реализуется последовательный фейеровский процесс, в результате которого мы получаем псевдопроекцию точки на многогранник. Многогранник, задаваемый системой линейных неравенств, всегда является выпуклым замкнутым множеством. В следующем разделе мы предложим новый масштабируемый алгоритм построения псевдопроекции точки на выпуклое замкнутое множество с использованием фейеровских отображений, который допускает эффективное распараллеливание на большом количестве процессоров.
2. Масштабируемый алгоритм S построения псевдопроекции
В основе масштабируемого алгоритма построения псевдопроекции на выпуклое замкнутое множество лежит метод разбиения вектора на подвекторы. Для каждого подвектора организуется независимый фейеровский процесс. Через каждые s шагов результаты, полученные на подвекторах, соединяются в один вектор, для которого считается невязка. Если значение невязки меньше заданного положительного числа є, то полученный вектор принимается в качестве псевдопроекции. В противном случае вычисления продолжаются.
Дадим формальное описание алгоритма построения псевдопроекции на выпуклое замкнутое множество с помощью фейеровских отображений, допускающего эффективное распараллеливание на большом количестве процессорных узлов.
Введем следующие обозначения. Для произвольного линейного подпространства P С Rn через пр(ж) будем обозначать ортогональную проекцию ж Є Rn на линейное подпространство P. Везде далее линейное подпространство мы будем называть просто подпространством.
Через p(P, ж) := min ||p — ж|| будем обозначать расстояние от точки ж до подпространства P. p€P
Пусть линейное многообразие L получается из Р сдвигом на некоторый вектор z: L = Р + z. Через пь(ж) будем обозначать ортогональную проекцию ж Є К” на линейное многообразие L:
пЦж) = пр(ж) + z. (6)
Теперь мы готовы к формальному описанию алгоритма.
Алгоритм S. Пусть задано однозначное M-фейеровское отображение <р Є {К” ^ К”},
M-выпукло и замкнуто. Зададим разбиение пространства К” в прямую сумму ортогональных подпространств: К” = Pi ф ... ф Pr, Pj ± Pj при i = j. Для каждого подпро-
странства Pi (i = 1,..., r) построим линейное многообразие Lj следующим образом. Пусть жг Є Arg min p(Pj, ж). Положим zj = (жг) Є P^. Здесь P^ обозначает ортогональное
жЄМ і
дополнение к подпространству Pi. Построим линейное многообразие Li путем сдвига подпространства Pj на вектор zj:
Lj = Pj + zj. (7)
Для каждого i Є {1,..., r} определим отображение
<^(ж) = nL;(<^(nL; (ж))) . (8)
Зафиксируем некоторое натуральное число s и положительное вещественное число є. Зададим произвольное начальное приближение жо Є К”. Алгоритм состоит из следующих шагов: Шаг 0. k := 0.
Г
Шаг 1. жк+i := Е (^!(жк) — zj).
j=1
m
Шаг 2. d := £] 1+(жк+і). j=1
Шаг 3. k := k + 1.
Шаг 4. Если d > є и ||жк+і — жк|| = 0, перейти на шаг 1.
Шаг 5. Стоп.
На шаге 2 вычисляется невязка d, которая определяет степень близости точки жк+i к выпуклому замкнутому множеству M.
3. Сходимость алгоритма S
Для доказательства сходимости нам понадобится следующая теорема, показывающая, что каждое отображение ^ Є {Lj ^ Lj}, строящееся в алгоритме S, является фейеровским относительно множества Lj П M.
Теорема 1.
Пусть задано выпуклое замкнутое множество M С К” и однозначное M-фейеровское отображение <р Є {К” ^ К”}. Пусть P - некоторое собственное линейное подпространство в пространстве К”, T = P^ - ортогональное дополнение к подпространству P. Пусть ж Є Arg min p(P, ж). Представим ж в виде суммы ортогональных векторов из под-
жЄМ
пространств P и T: ж = пр(ж) + пт(ж). Обозначим z = пт(ж) Є T. Построим линейное многообразие L путем, сдвига подпространства P на вектор z: L = P + z. Определим отображение Є {L ^ L} следующим образом:
^ь(ж) = ^(пь(ж))) . (9)
Положим,
Мь = Ь П М. (10)
Тогда отображение р£ является М^-фейеровским.
Доказательство. Сначала покажем, что
Ыу) = У, Уу € Мь . (11)
Пусть у € М^,. Тогда, в силу (10), у € М. Так как отображение р является М-
фейеровским, то р(у) = у. Учитывая, что у € Ь, отсюда получаем рь(у) = п^р(пь(у))^ =
пь(р(у)) = пь(у) = у. Таким образом, условие (11) имеет место.
Теперь покажем, что
||рь(ж) - уУ < Уж - у||, Уу € Мь, Уж € Мь . (12)
Пусть у € М^, ж € Ь, ж € М^,. Из (10) следует, что в этом случае ж € М. Так как
отображение р является М-фейеровским, то
11р(ж)- уу < 11ж - уу • (13)
Построим для р(ж) и у их разложение в виде суммы двух ортогональных векторов, принадлежащих Р и Т соответственно:
р(ж) = пр(р(ж)) + пт(р(ж)), (14)
у = пр(у)+ 2 • (15)
Подставляя эти разложения в (13), получаем
||пр(р(ж)) + пт(р(ж)) - (пр(у) + 2) II < 11ж - у У • (16)
Сделав перекомпоновку, будем иметь
у (пр(р(ж)) - пР(у^+пт(р(ж)) - 2) у < Нж - уу • (17)
Замечаем, что (пр(р(ж)) - пр(у))€ Р и (пт(р(ж)) - 2)€ Т - взаимно ортогональные векторы. В силу того, что квадрат нормы суммы ортогональных векторов равен сумме квадратов их норм, из (17) следует
Упр(р(ж)) - пр(у)у2 + |пт(р(ж)) - 2||2 < Уж - уУ2 . (18)
В левой части неравенства стоит сумма двух неотрицательных слагаемых. Удалив второе из них, мы снова получим справедливое неравенство:
1|пр(р(ж)) - пр(у)У2 < Уж - уУ2 ,
откуда, в свою очередь, получаем
1|пр(р(ж)) - пр(у)У < Уж - уУ . (19)
По построению Ь имеем пр(р(ж)) = пь(р(ж))-2. Подставляя это выражение в (19), получаем
Упь(р(ж)) - 2 - пр(у)У < Уж - уУ ,
или
Упь(р(ж)) - (пр(у) + 2)У < Уж - уУ • (20)
Так как ж € Ь, то ж = пь(ж). Подставив в левой части неравенства (20) выражение пь(ж)
вместо ж, получим
||пЬ(р(пЬ(ж))) - (пр(у) + 2) У < Уж - уУ •
С учетом (9) и (15), отсюда
Црь(ж) - уУ < Уж - уУ,
то есть условие (12) справедливо. Теорема доказана. □
Прежде чем приступить к доказательству сходимости алгоритма б, докажем следую-
щую лемму.
Лемма 1.
Пусть (ж^} - последовательность точек, порождаемых алгоритмом 6 на шаге 1:
Г
ж&+1 := ^ (р|(ж*;) - 2^; к = 0,1,... . (21)
г=1
В условиях алгоритма 6 определим М^ = П М. Положим
ж0 = пЬ; (ж0), 4+1 = рг(4) • (22)
Тогда
р- (жк) = Ук € ^>0 • (23)
Доказательство. Доказательство проведем индукцией по к. Пусть к = 0. В силу (8) имеем
р-(ж0) = рГ1 (^ (р (п^г Ы)
Используя первое равенство из (22), получаем
р"(жо) = р--^пЬ; (р(ж0• (24)
Так как ж0 € Ь^, то ж0 = п^(ж0). Подставляя п^(ж0) вместо ж0 в (24), получаем
р-(ж0) = рГ1 (пЬ; ( р (п^г (ж0))
С учетом (8), отсюда
р-(жо) = р-(ж0) •
Применяя правое равенство из (22), отсюда получаем
р-(жо)= р--1(ж1) •
Повторив эту подстановку еще (з - 1) раз, получим
р- (ж0) = ж- ,
то есть база индукции имеет место. Пусть теперь к > 0. Рассмотрим тривиальное тождество
р-(жк)= р-(жк) • (25)
Серия «Математическое моделирование и программирование^ вып. 10 17
В силу (21) ж& := ^2 ( р?(ж&—1) - 2^ I. Подставляя это значение в правую часть тождества ¿=14 У
(25), получаем
р-(жк) = р"(¿(р-(жк-1) - •
4=1 '
Отсюда по предположению индукции
р?(ж^) = р?(¿(р-(ж-^(к-1)) - 2 Я •
\^=1 /
Это равносильно
р?(жк) = рГ1 (р?(]С(р?(ж?^(й-1)) - 20)] •
п?-И р?<^(р?(ж ) - 2
Ъ=1
Используя (8), получаем
р?(жк) = р? 1 (р(п^(^(р?(ж?^(^-1)) - 2))
В силу (6) и (7) отсюда следует
р?(жк) = р?-1^п^(р(пр4(¿^(р?(ж?^(к-1)) -2))+2'))
Так как р?(ж?^^) - 2^ € Р^ (^ = 1,..., г) и Р»±Р^ при i = ], то из предыдущего получаем
р?(жк) = р?-1(^;(р(р?(ж?^(й-1)) - 2 + 2))^ ,
то есть
~?— 11 _ Л
р?(жк) = р? ^пЬ;(р(р?(ж?^(й-1))^ • (26)
Из (8) следует р?(ж?(к-1)) € Ь», поэтому р?(ж?^к-1)) = пьДр?(ж?^к-1))). Подставляя
пЬ;(р?(ж?^(к-1)^ вместо р?(ж?^(й-1)) в (26), получаем
р?(жк ) = р? ^ пЬ^ р(пЬ; ( р?(ж?^(й-1))) В силу (8) отсюда получаем
р?(жк) = р?-1( р» (р?(ж?^(й-1)))
или, что - то же самое
р?(жк) = рг2?(ж?^(к-1)) • Применяя правое равенство из (22), отсюда получаем
р?(жк) = р2?-1(ж?^(й-1)+1)
Повторив эту подстановку еще (2з — 1) раз, получим
Рі(жк) = <(к-1)+2*
то есть
Рі(хк) = <(к+1) ,
что и требовалось доказать. □
Сходимость алгоритма Є обеспечивается следующей теоремой.
Теорема 2.
Пусть (ж^} - последовательность точек, порождаемых алгоритмом Є на шаге 1:
Г
Жк+і := ^ (жк) — ; к = 0,1,... . (27)
і=1
Тогда
Доказательство. В условиях алгоритма 6 определим
М^ = Ь» П М (i = 1,... ,г) .
По теореме 1 отображение р» является М^-фейеровским. Положим
ж0 = п^(жo), жк+1 = р»(4) • (28)
В силу непрерывности отображений п^ и р [3] отображение р» - также непрерывно. Отсюда по лемме 39.1 [3] имеем
К}+=£ ^ ж» € МЬ;, Vi € (1,...,г} • (29)
Определим
Г
ж = ^ (ж» - 2») . (30)
»=1
Зададим произвольное вещественное число е. В силу (29) существует К» такой, что
Ужк - ж» У < —^, Ук > К». (31)
Л/г
Положим К = тах К». Покажем, что Ук > К справедливо ||ж& - жУ < е. Зафиксируем
1<»<Г
произвольное к > К .В силу (27) имеем
||ж& - жУ =
Используя (30), получаем
Г
І=1
(Рі(жк-1) — 2 г)) —ж
Г
Х](Р^(жк-1) — ^ *) — ^ і=1 і=1
Г
Сгруппировав, получим
||ж& - жУ =
£(р? (жк-1) - 2» - ж» + 2»)
»=1
или, что то же самое
||ж& - ж|| =
ХХр? (жк—1) - ж»)
»=1
По лемме 1 отсюда следует
1ж - ж|| =
Х^(ж?^к - ж»)
»=1
(32)
(33)
Так как ж?^ = пр^ (ж?^) + 2 » и ж» = пр^ (ж») + 2 », то, подставляя указанные выражения в (33), получим
1ж - ж|| =
ххпр;(ж?^) +2 *- пр;(ж^ - 2 *)
»=1
то есть
||ж& - жУ =
ХХпр; (ж?^) - пр^ (ж^)
»=1
(34)
Замечаем, что в (34) под знаком суммы стоят взаимно ортогональные векторы. Квадрат нормы суммы ортогональных векторов равен сумме квадратов их норм. Поэтому из (34)
следует
Это равносильно
|жк- ж|2 = ^2 ||пр4 (ж?^) - ^ (ж^
»=1
|жк- ж|2 = ^2 ||пр^(ж?^) +2- пр^(жг) - 2
»=1
Так как ж?^ = пр4 (ж?^) + 2» и ж» = пр4 (ж») + 2», отсюда получаем
Г
Нж& - ж|2 = ^ || (ж?^ - жг)
»=1
С учетом (31), отсюда следует
11« - ж112 <Е (т-;) = г( = е2
»=1
то есть
||жй - ж|| < е,
что и требовалось доказать.
□
Работа выполнена при поддержке гранта РФФИ № 09-01-00546а.
Г
Г
2
Г
2
Литература
1. Еремин, И.И. Нестационарные процессы математического программирования / И.И. Еремин, В.Д. Мазуров. - М.: Наука, 1979. - 228 с.
2. Еремин, И.И. Фейеровские методы сильной отделимости выпуклых полиэдральных множеств / И.И. Еремин // Известия вузов. Сер. математика. - 2006. - № 12. - C. 33 - 43.
3. Еремин, И.И. Теория линейной оптимизации / И.И. Еремин. - Екатеринбург: «Екатеринбургу 1999. - 312 с.
4. Ершова, А.В. Алгоритм разделения двух выпуклых непересекающихся многогранников с использованием фейеровских отображений / А.В. Ершова // Системы управления и информационные технологии. - 2009. - № 1(35). - С. 53 - 56.
References
1. Eremin I.I., Mazurov V.D. Nestatsionarnye protsessy matematicheskogo programmirovaniya [Nonstationary processes of mathematical programming]. Moscow, Nauka, 1979. 288 p.
2. Eremin I.I. Feyerovskie metody sil’noy otdelimosti vypuklykh poliedral’nykh mnozhestv [Fejer methods for the strong separability of convex polyhedral sets]. Izv. Vyssh. Uchebn. Zaved. Mat., 2006, no. 12, pp. 33 - 43.
3. Eremin I.I. Teoriya lineynoy optimizatsii [Theory of linear optimization]. Ekaterinburg, «Ekaterinburg>, 1999. 312 p.
4. Ershova A.V. Algoritm razdeleniya dvukh vypuklykh neperesekayushchikhsya mnogogrannikov s ispolzovaniem feyerovskikh otobrazheniy [The algorithm of separation of two convex not intersect polyhedral using Fejer’s mappings]. Sistemy upravleniya i informatsionnye tekhnologii [Controlling system and information technology], 2009, № 1(35), pp. 53 - 56.
Арина Владимировна Ершова, аспирант, кафедра дифференциальных уравнений и динамических систем, Южно-Уральский государственный университет (Россия, г. Челябинск), [email protected].
Arina Vladimirovna Ershova, Postgraduate Student, Department of Differential Equations and Dynamic Systems, South Ural State University, [email protected].
Ирина Михайловна Соколинская, кандидат физико-математических наук, доцент, кафедра дифференциальных уравнений и динамических систем, Южно-Уральский государственный университет (Россия, г. Челябинск), [email protected].
Irina Mikhailovna Sokolinskaya, Candidate of Physico-mathematical Sciences, Assistant Professor, Department of Differential Equations and Dynamic Systems, South Ural State University, [email protected].
Поступила в редакцию 20 июля 2011 г.