Научная статья на тему 'Нахождение крайних точек суммы двух политопов'

Нахождение крайних точек суммы двух политопов Текст научной статьи по специальности «Математика»

CC BY
173
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОЛИТОП / КОНИЧЕСКАЯ ОБОЛОЧКА / СУММА МИНКОВСКОГО / КРАЙНЯЯ ТОЧКА / ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ / POLYTOPE / CONICAL HULL / MINKOWSKI SUM / VERTEX / LINEAR PROGRAMMING

Аннотация научной статьи по математике, автор научной работы — Ангелов Тодор Ангелов

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FINDING THE VERTICES OF THE SUM OF TWO POLYTOPES

This work introduces a criterion for finding the vertices of a Minkowski sum of two polytopes conv𝐴 ⊂ R𝑛 and conv𝐵 ⊂ R𝑛, where = = {𝑎0,..., 𝑎𝑚} and = {𝑏0, 𝑏1,..., 𝑏𝑚𝑏}. These convex sets are also denoted as V-polytopes. The constructions used in the present paper stay entirely in the space of V-polytopes, without any transitions to their duals, that is H-polytopes (half-space representation). Before formulating a general criterion, we consider a special case the sum of a polytope conv𝐴 and a line segment conv{𝑏0, 𝑏1}. The following lemma holds. Fix in 0 : 𝑚. 1) If 𝑣 ̸∈ 𝐾(𝑎𝑖), then + is a vertex of conv𝐴𝑣. Else, + is not a vertex of conv𝐴𝑣. 2) If -𝑣 ̸∈ 𝐾(𝑎𝑖), then is a vertex of conv𝐴𝑣. Else, is not a vertex of conv𝐴𝑣. Here = {𝑎0, 𝑎1,..., 𝑎𝑚, 𝑎0 + 𝑣, 𝑎1 + 𝑣,..., + 𝑣}, = 𝑏1 𝑏0, 𝐾(𝑎𝑖) := 𝐾(conv {𝑎0 𝑎𝑖, 𝑎1 𝑎𝑖,..., 𝑎𝑖-1 𝑎𝑖, 𝑎𝑖+1 𝑎𝑖,..., 𝑎𝑖}), where 𝐾(𝐶) is a cone generated by set 𝐶. Using an analogical scheme of reasoning as in the lemma, we present the main result of the this work. Theorem. Fix ∈ 0 : and ∈ 0 : 𝑚𝑏. The point + is a vertex of the polytope conv𝐴 + conv𝐵 if and only if cones -𝐾(𝑏𝑗) and 𝐾(𝑎𝑖) do not intersect. The suggested criterion possesses an intuitive graphic interpretation and is proven by elementary tools of convex anaylsis. In conclusion we note, that the theorem can be applied solving a linear programming problem. Moreover, the latter turns out to be dual to a similar LP problem, constructed using the properties of H-polytopes.

Текст научной работы на тему «Нахождение крайних точек суммы двух политопов»

www.volsu.ru

МАТЕМАТИКА

ТРУДЫ III МЕЖДУНАРОДНОЙ КОНФЕРЕНЦИИ «ГЕОМЕТРИЧЕСКИЙ АНАЛИЗ И ЕГО ПРИЛОЖЕНИЯ»

DOI: https://doi.oгg/10.15688/j•volsu1.2016.6.1

УДК 519.852.2 ББК 22.135

НАХОЖДЕНИЕ КРАЙНИХ ТОЧЕК СУММЫ ДВУХ ПОЛИТОПОВ1

Тодор Ангелов Ангелов

Инженер-исследователь,

Санкт-Петербургский государственный университет angelov.t@gmail.com

просп. Университетский, 35, Петергоф, 198504 г. Санкт-Петербург, Российская Федерация

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

Ключевые слова: политоп, коническая оболочка, сумма Минковского, крайняя точка, линейное программирование.

^ 1. Вспомогательные сведения

сч

< Приведем некоторые базовые понятия и результаты теории выпуклого анализа, ^ которые упростят понимание основных результатов (см.: [1;5;6]). Пусть множество А § состоит из точек а0,... ,ат пространства Мга.

^ Определение 1. Выпуклой оболочкой еопу А множества А называется наименьшее выпуклое множество, содержащее А.

Определение 2. Множество Р = conv{a0,... ,am} назовем политопом. Определение 3. Точка р политопа Р называется крайней, если она не принадлежит выпуклой оболочке никаких двух отличных от нее различных точек политопа Р.

Проиллюстрируем введенные понятия. Рассмотрим множество А, состоящее из трех точек на плоскости:

А = {ao,al,a2} = {Q . (1)

На рисунке 1, а) треугольник со своей внутренностью соответствует множеству conv А, а вершины являются крайними точками.

Определение 4. Пусть подмножество С является частью пространства Мга. Множество

К(С) = {Лх | Л > 0,х е С}

называется конусом, порожденным подмножеством С.

Если множество С — выпуклое, то К (С) также является выпуклым множеством. Заметим, что К (С) необязательно содержит начало координат.

Определим несколько необходимых нам множеств. Пусть все точки a¿ из множества А отличны друг от друга и являются крайними для политопа conv А. Зафиксируем индекс г е 0 : т. Вычтем a¿ из остальных точек А и зададим множество

А(щ) := {ao - ai, ai - ai,..., щ-i - ai, ai+i - ai,...,am - a¿} .

Отметим, что в множестве А(щ) отсутствует нулевой вектор.

Обозначим выпуклый многогранный конус, натянутый на множество {conv А - a¿}\ \ 0га, следующим образом

К (ai) := К (conv A(a,i)). Рассмотрим пример. Для множества (1) получим А(а0) и К(а0) (см. рис. 1):

¿Ы = {(-32)-(-2)}.

Аналогичным образом определим множества В(6¿), К(bi) для набора точек В = = {Ь0,Ь1,...,Ьть}, где все bi е Rn отличны друг от друга и являются крайними для политопа conv В.

Под алгебраической суммой политопов conv А и conv В понимаем

conv А + conv В := {а + b | а е conv A,b е conv В}. (2)

Заметим, что выражение (2) также называется суммой Минковского.

2. Крайние точки суммы политопа и отрезка

Приведем рассуждения для нахождения крайних точек сложения политопа с отрезком.

\ а\ -

К (ао

а) еопу А

/ а2 - ао

б) К(ас)

0 х - -2

Рис. 1. Изображения выпуклой оболочки множества А и конуса К(а0)

У

У

IV 6

<• 3

/ 1 ь

2 -1 0 4 х

а) Треугольник еопу А и отрезок Ь б) еопу А + Ь

Рис. 2. Сумма политопа и отрезка

Рассмотрим пример. Изобразим сумму Бс треугольника еопу А и отрезка Ь с вершинами в точках (0, 0)т и (4, 0)т (рис. 2):

Sс := еопу А + Ь = еопу

(3)

На рисунке 2, б) видно, что точка (0, 3)т не является крайней для нового многоугольника, поэтому она несущественна для задания результата суммы (3). Точку (0, 3)т следует идентифицировать и удалить из Бс.

Пусть Ьс,Ь1 € Мга, Ьс = Ь1. Согласно (2) сложение политопа еопу А с отрезком еопу {60,6^ образует выпуклое множество Б1:

Б1 := еопу А + еопу{6с, Ь1} = = еопу{ас + 6с, «1 + Ьс,... ,ат + Ьс,ас + 61, а,1 + Ь1,...,ат + 61}.

Выражение (4) можно переписать, как сумму точки и множества

= Ьс + еопу А,0,

где А,-ю = {ас, а,1,..., ат, ас + V, ая + V,... ,ат + у}, V = 61 - 6с.

(4)

(5)

Свяжем описанные множества с приведенными ранее примерами. Выпуклая оболочка изображена на рисунке 2 б), где Ь0 = (0,0)т, Ь\ = (4,0)т и множество А задается в (1).

Рассмотрим другое представление суммы (5) (многогранника и отрезка). Множество еопу Аь можно получить смещая еопу А на вектор V, при этом «запоминая» весь след смещения (рис. 3).

а\ + V

ао + V

Рис. 3. Множество Ау и вектор смещения V

В следующей лемме сформулировано правило по выявлению крайних точек множества еопуАь.

Лемма 1. Для каждой точки аг из множества А справедливо:

1) Если V $ К(аг), то аг + V является крайней для еопу А,ю.

В противном случае аг + V не является крайней для еопу А,ю.

2) Если —V $ К(аг), то аг является крайней для еопу А,ю.

В противном случае аг не является крайней для еопу Ау.

Замечание 1. Лемма 1 задает необходимое и достаточное условие крайности точки для суммы политопа и отрезка.

Продемонстрируем графически условия леммы для точек ао и ао + V из рисунка 3. Изобразим конус К(а0) и векторы V, —V (рис. 4). На рисунке 4 видно, что V $ К(а0).

\ а\ — ао У 3

к (ао)

—V V

2 0 X

/ а.2 — ао - -2

Рис. 4. Проверка условий леммы 1

Получаем, что точка а0 + V является крайней. Теперь рассмотрим второй пункт леммы. Вектор — V принадлежит конусу К(а0). Тогда а0 не является крайней.

3. Критерий крайности точки в сумме двух политопов

Перейдем к общему случаю суммы двух политопов (2):

$ := еопу А + еопу В = еопу (аг + bj).

гЕ0:т ]&ть

(6)

Сформулируем необходимое и достаточное условие крайности точки для политопа (6). Критерий. Зафиксируем г € 0 : т и ] € 0 : ть. Для того чтобы точка щ + ^ была крайней в политопе в, необходимо и достаточно, чтобы конусы —К(Ь^) и К(щ) не пересекались.

Проиллюстрируем применение критерия на примере. Зададим множество

В

Рассмотрим сумму (рис. 5)

У

6

5

» 3 • ао + Ьо

1

2 0 3

3 4 5 6 х

Рис. 5. Сумма двух политопов

Положим г = 0, ] = 0 и проверим условия критерия для точки а0 + Ь0, то есть (0, 3)т. На рисунке 6 изображены конусы К(а0) и К(Ь0). Видно, что — К(Ь0) пересекает К(а0). Тогда точка (0, 3)т не является крайней для многоугольника 5.

Пусть теперь г = 1, ] = 0 и проверим условия критерия для точки а1 + Ь0, то есть (—2, 6)т. На рисунке 7 изображены конусы К(01) и К(Ь0). Очевидно, что — К(Ь0) не пересекает К(а1). Тогда точка (—2, 6)т является крайней для многоугольника Б.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Более естественно доказывается эквивалентная критерию следующая теорема о некрайности точки в сумме Б:

- Ьо

Ь\ - Ьо

/ а2 - ао

Рис. 6. Проверка критерия в точке а0 + Ь0

+ Ьо

У &2 - Ьо к (Ьо)

^^^^ X

Ь\ - Ьо

\ао - а\

а2 - а\ : К(аг)

3 4 5 6 х

Рис. 7. Проверка критерия в точке а1 + Ь0

Теорема. Зафиксируем г € 0 : т и ] е 0 : ть. Для того чтобы точка а» + bj не была крайней в политопе в, необходимо и достаточно, чтобы конусы —К (bj) и К (а») пересекались.

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

Пусть точка х принадлежит политопу еопу А. Тогда существуют неотрицательные а0, &-!,...,От, для которых

х =2^ ак ак,

кЕ0:т

ак = 1.

кЕ0:т

Если х = аг, то вектор х — а» принадлежит конусу К(а») и представим в виде следующей линейной комбинации

х - аг = Оо(яо - а») +-----+ а (а» - а») +-----+ От(от - а»),

где хотя бы один из коэффициентов ак положителен при к € {0 : т} \ {г}.

Рассмотрим щ = А(а,г)е — вектор с индексом I в множестве А(а») и аналогично ^ = B(bj)ь, где I € 1 : т, к е 1 : ть. Для х е еопу А справедливо

х - а» = Оо0га + а\и\ + + ■ ■ ■ + Опит =

т т

1€1:т

аещ,

(7)

где а0 = а и а = а1-1 при I € 1 : г, а = а при I € г + 1 : т. Следовательно,

У^ а =1 — а0, то есть 0 < ^ а < 1. (8)

1€1 :т £Е1 :т

Аналогично из у € еопу В следует существование неотрицательных в1, в2,..., вть, для которых

У — Ъу = $1У1 + в 2^2 +-----+ втъ Уть = ^ в^. (9)

Ь£1:тъ

Для любой точки г € еопу А + еопу В найдутся, согласно (2), х € еопу А и у € € еопу В, для которых г = х + у. Сложив (7) и (9), получим

г = (а,г + Ьу)+ ^ аеие + ^ вьУь. (10)

Из определения 3 следует, что для любой не крайней точки с из политопа Б найдутся различные точки г, г' € 5, для которых векторы г — с и г' — с противоположны (и потому г + г' = 2с).

Необходимость. Пусть точка аг + bj не является крайней для политопа Б. Тогда найдутся различные точки г и г' из Б, для которых

г + х' = 2(а» + Ъу). (11)

Представим точки г и г' в виде (10), то есть

г = (^ + Ьу)+ ^ + ^ вь^ь, (12)

г' = (аг + Ъу)+ ^ а'еие + ^ в^ь, (13)

где все а1, вь, а'£, вь неотрицательны. Складывая равенства (12) и (13), получим г + х' = 2(а* + Ъу) — ^ (а + а!е)щ + ^ (вь + вЬ)^ь,

откуда, учитывая (11), имеем

^ (а + а'е)щ = — ^ (вь + вЬК (14)

1£1:т Ь£1:т,1,

Вектор в левой части равенства (14) ненулевой (иначе г = г' = а,г + Ъу, а это противоречит условию г = г') и принадлежит конусу К(а^), а также —К(Ь^), то есть справедливо

—К (Ъу) р| К (аг) = 0.

Достаточность. Пусть конусы —К(Ь^) и К(а^) пересекаются. Тогда найдутся два ненулевых вектора € К(а^) и д^ € К(Ь^), для которых выполняется равенство

Ча = —Чь. (15)

Покажем, что существуют две разные точки г, г' е Б такие, что выполняется г + г' = = 2(а» + ^).

Согласно определению конусов К (а») и К (bj) справедливо представление

да = ^ аещ, дь = ^ вь^ь,

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

г = (а» + Ь j) + у ^ а£щ, (16)

т! = (о* + ^) + у ^ вьУн (17)

принадлежат политопу Б (см. (10)). Согласно выражениям (7)-(10) коэффициент у должен удовлетворять системе неравенств:

^ УО < 1, ^ Увь < 1. Выберем любое число у в пределах

-1 •

0 < у < шп{1 ^ аЛ , I ^ вн

\1€1:т / \Ь€1:ть

Складывая равенства (16) и (17), получим

£ + ^ = 2(аг + ^) + у(^а + Яь), откуда согласно (15) справедливо равенство

г - (щ + bj) = -(г' - (а» + bj)).

Если г = т!, то в силу (16) и (17) получим, что = дь. В то же время (см. (15)) = -дь. А это возможно, если и нулевые вектора, что противоречит исходным предположениям.

Получаем, что г = х' и точка а» + bj принадлежит середине отрезка еопу{х,х'}, то есть а» + bj не является крайней в политопе Б.

Замечание 2. Доказательство леммы 1 проводится аналогично, если вместо конуса К(bj) использовать вектор V.

4. Задача линейного программирования

Рассмотрим эффективный способ проверки критерия крайности точки из теоремы. Вопрос о пересечении конусов К (а») и -К (bj) эквивалентен согласно равенству (14),

существованию нетривиального, неотрицательного решения системы линеиных однородных уравнений:

^ аеА(аг)е + ^ ßhB(Ъ3)h = 0п. (18)

l£1:m h^l'.mfy

Чтобы выполнить ограничения, накладываемые на решения системы (18), добавим следующие условия:

^ а + ^ ßh = 1, (19)

ai ^ 0, l E 1 : m, ßh ^ 0, h E 1 : mb. (20)

Для проверки совместности системы (18)-(20) воспользуемся универсальным приемом [2]. Рассмотрим задачу линейного программирования

Y ^ min,

^ aeA(ai)e + $hB(bj)h = 0ra,

^ a + ^ eh + y = 1, (21)

al ^ 0, I E 1 : m, eh ^ 0, h E 1 : mb, Y ^ 0.

Заметим, что система ограничений задачи (21) совместна хотя бы для всех al, |3h, равных нулю, и y, равной единице. А также целевая функция ограничена снизу (неотрицательна на допустимом множестве), поэтому задача (21) имеет решение.

Если для найденного решения задачи (21) значение целевой функции y равняется нулю, то система (18)-(20) совместна, то есть конусы К(ai) и — К(bj) пересекаются.

Предложенный в теореме критерий идентификации крайних точек для суммы политопов использует напрямую конусы, порожденные складываемыми политопами. Известные работы в этой области, например, [3; 4], оперируют нормальными конусами к вышеописанным множествам. Здесь под нормальным конусом, порожденным множеством С, понимается множество

N (С) = [х E Мга | (х, с) < 0, с E С}.

Замечание 3. Критерий крайности точки ai + bj для множества conv А + conv В может быть сформулирован в виде:

ai + bj - крайняя ^ N (К (ai)) П N (К (bj)) = 0. (22)

Обоснование (22) подробно изложено, например, в диссертации [7].

В свою очередь, пересечение нормальных конусов в (22) проверяется решением следующей задачи линейного программирования [3, с. 1270]:

А0 ^ max, (A(ai)i, А) + Ао < 0, I E 1: т,

(B(bj)h, А) + Ао ^ 0, h E 1: ть, (23)

Ао < 1,

где Л е Мга, Л0 е М.

Несложно проверить, что задачи (21) и (23) являются двойственными. Выражаю благодарность неизвестному рецензенту за конструктивную критику, благодаря которой статья приняла свой окончательный вид.

ПРИМЕЧАНИЕ

1 Исследование выполнено при финансовой поддержке гранта СПбГУ № 9.38.205.2014.

СПИСОК ЛИТЕРАТУРЫ

1. Лейхтвейс, К. Выпуклые множества / К. Лейхтвейс. — М. : Наука, 1985. — 336 с.

2. Малоземов, В. Н. Модифицированный симплекс-метод / В. Н. Малоземов // Семинар «DHA & CAGD». Избранные доклады. 20 ноября 2010 г. — Электрон. текстовые дан. — Режим доступа: http://dha.spb.ru/reps10.shtml#1120. — Загл. с экрана.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3. Fukuda, K. From the zonotope construction to the Minkowski addition of convex polytopes / K. Fukuda // J. Symbolic Comput. — 2004. — Vol. 38. — P. 1261-1272.

4. Gritzmann, P. Minkowski addition of polytopes: computational complexity and applications to Grobner bases / P. Gritzmann, B. Sturmfels // SIAM J. Discrete Math. — 1993. — Vol. 6. — P. 246-269.

5. Preparata, F. P. Computational Geometry: An Introduction / F. P. Preparata, M. I. Shamos. — N. Y. : Springer, 1985. — 398 p.

6. Rockafellar, R. Convex analysis / R. Rockafellar. — Princeton : Princeton University Press, 1970. — 470 p.

7. Weibel, C. Minkowski sums of polytopes: Ph.D. Thesis / C. Weibel. — Lausanne : EPFL, 2007. — 114 p.

REFERENCES

1. Leichtweiss K. Vypuklyе mnozhеstva [Convex Sets]. Moscow, Nauka Publ., 1985. 336 p.

2. Malozemov V.N. Modifitsirovannyy simpleks-metod [Modified Simplex Method]. Sеminar «DHA & CAGD». Izbrannyе doklady. 20 noyabrya 2010 g. Available at: http://dha.spb.ru/reps10.shtml#1120.

3. Fukuda K. From the Zonotope Construction to the Minkowski Addition of Convex Polytopes. J. Symbolic Comput., 2004, vol. 38, pp. 1261-1272.

4. Gritzmann P., Sturmfels B. Minkowski Addition of Polytopes: Computational Complexity and Applications to Grobner Bases. SIAM J. Discrete Math., 1993, vol. 6, pp. 246-269.

5. Preparata F.P., Shamos M.I. Computational Geometry: An Introduction. N. Y., Springer, 1985. 398 p.

6. Rockafellar R. Convex analysis. Princeton, Princeton University Press, 1970. 470 p.

7. Weibel C. Minkowski sums of polytopes: Ph.D. Thesis. Lausanne, EPFL, 2007. 114 p.

FINDING THE VERTICES OF THE SUM OF TWO POLYTOPES

Todor Angelov Angelov

Research Engineer,

Saint Petersburg State University

angelov.t@gmail.com

Prosp. Universitetsky, 35, Peterhof, 198504 Saint Petersburg, Russian Federation

Abstract. This work introduces a criterion for finding the vertices of a Minkowski sum of two polytopes conv A c Mra and conv B c Mra, where A = = {a0,... ,am} and B = {b0 ,b1,...,bmb}. These convex sets are also denoted as V-polytopes. The constructions used in the present paper stay entirely in the space of V-polytopes, without any transitions to their duals, that is H-polytopes (half-space representation).

Before formulating a general criterion, we consider a special case — the sum of a polytope conv A and a line segment conv{60,&i}-The following lemma holds. Fix i in 0 : m.

1) If v $ K(ai), then ai + v is a vertex of conv Av. Else, ai + v is not a vertex of conv Av.

2) If —v $ K(ai), then ai is a vertex of conv Av. Else, ai is not a vertex of conv Av.

Here Av = {a0, a1,..., am, a0 + v,a1 + v,... ,am + v}, v = b1 — b0,

K (ai) := K (conv {ß0 — ai, ai — ai,..., a— — ai, a+ — Oi,...,Om — ai}),

where K(C) is a cone generated by set C.

Using an analogical scheme of reasoning as in the lemma, we present the main result of the this work.

Theorem. Fix i $ 0 : m and j $ 0 : mb. The point ai + bj is a vertex of the polytope conv A + conv B if and only if cones —K(bj) and K(ai) do not intersect.

The suggested criterion possesses an intuitive graphic interpretation and is proven by elementary tools of convex anaylsis. In conclusion we note, that the theorem can be applied solving a linear programming problem. Moreover, the latter turns out to be dual to a similar LP problem, constructed using the properties of H-polytopes.

Key words: polytope, conical hull, Minkowski sum, vertex, linear programming.

i Надоели баннеры? Вы всегда можете отключить рекламу.