Сер. 10. 2012. Вып. 4
ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА
УДК 519.8
Е. К. Чернэуцану
АНАЛИЗ ЗАДАЧИ СТРОГОГО Н-ОТДЕЛЕНИЯ ДВУХ МНОЖЕСТВ*)
1. Пусть в М" заданы два конечных множества
А = ЫГ=1 и В = {Ь^ }к=1.
Следуя [1], назовем выпуклую оболочку множества А и множество В строго ^-отделимыми, если существует Н гиперплоскостей вида
Н8 = {х е М" I (и8,х) = Ъ, я е 1 : Н, }, и8 = О,
таких, что выполняются неравенства
(и)88, щ) — "¡а < 0 V г е 1 : т, V я е 1 : Н;
(ив, Ь^) — > 0 для каждого ] е 1 : к и некоторого я е 1 : Н. На рис. 1 приведен пример строгого 2-отделения.
О
w
О
Рис. 1. Пример строгого 2-отделения Поставленную задачу можно формализовать так (см. [1, 2]):
к
1 1
F(G) := — ^max^w/3,^) - 7s + с] + - ^ min [-(ws, 6^) + 7s + с] min . (1)
s G1. h k s G1- h Ст
i=1 j=1
Чернэуцану Екатерина Константиновна — аспирант кафедры математической теории моделирования систем управления факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета. Научный руководитель: доктор физико-математических наук, проф. Л. Н. Полякова. Количество опубликованных работ: 4. Научные направления: выпуклый анализ, методы оптимизации. E-mail: [email protected].
*) Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (проект № 12-01-00752-a).
© Е. К. Чернэуцану, 2012
Здесь О - матрица размера Н х (п +1) со строками
д8 = (т8,ув), в € 1 : Н;
с > 0 - параметр, [м]+ = шах{0,м}. В работе [1] задача (1) исследовалась только при с =1. Матрицу О указанных размеров будем называть подходящей, если у нее все т8 отличны от нулевого вектора.
Справедливо следующее утверждение.
Теорема 1. Выпуклая оболочка множества А и множество В строго Н-отделимы тогда и только тогда, когда существует подходящая матрица О*, т^акая, чт,о Г (О*) = 0.
Доказательство. Достаточность практически очевидна. Действительно, пусть Г (О*) = 0 для некоторой подходящей матрицы О* со строками (т8 ,у8*). Тогда
{т8, щ) — ^ —с < 0 при всех г € 1 : т и всех в € 1 : Н, {т8, Ъ^) — у8* ^ с > 0 при каждом ] € 1 : к и некотором в € 1 : Н.
(2)
Эти соотношения и определяют строгую Н-отделимость.
Необходимость доказывается по той же схеме, что и в работах [1, 2].
2. В задаче (1) функция Г (О) минимизируется по всем матрицам О размера Н х (п + 1). Как показано в [3], задача (1) всегда имеет решение, однако оптимальная матрица, вообще говоря, может не быть подходящей. В этой связи представляет интерес следующее утверждение (см. [1, 2]).
Теорема 2. Пусть Г (О*) = 0. В этом случае
1) у матрицы О* не все т* равны нулевому вектору;
2) если т8 = О на множестве Б С 1 : Н, то выпуклая оболочка множества А и множество В строго (Н — Б|) -отделимы.
3. По определению Г (О) ^ 0 на всех матрицах О. Особенность задачи (1) заключается в том, что может существовать подходящая матрица О* , которая строго отделяет со(А) от В в смысле (2), но при этом Г (О*) > 0.
Пример. Рассмотрим на плоскости М2 множества А и В, содержащие по одной точке а = (0, 0) и Ъ = (0, 2) соответственно. Речь пойдет, естественно, об 1-отделении. Положим т1 = (0,1), а в качестве 71 возьмем любое число из интервала (0, 2). В этом случае прямая Х2 = 71 строго отделяет точку а от точки Ъ (рис. 2).
Х2
2^ Ъ
71
Х1
0
а
Рис. 2. Строгое 1-отделение
Вместе с тем
Г (О) = [—71 + с]+ + [—2 + 71 + с] + . На рис. 3 представлен график Г (О) как функции от 71.
2 - с
Yi
Рис. 3. График Е(О) как функции от у1
Видно, что Е(О) достигает своего минимального значения, равного нулю, на парах (т1,71) при 71 € [с, 2 — с]. При 71 € (0, с) и (2 — с, 2) пара (т1,у1) по-прежнему строго отделяет точку а от точки Ь, но в этом случае Е(О) > 0. Наконец, только при с = 1 условие Е(О) = 0 выполняется на единственной паре вида (т1,71), у которой 71 = 1.
4. Как показано в [3], задача (1) сводится к конечному числу задач линейного программирования. Доказательство этого утверждения опирается на лемму о сумме минимумов. Напомним ее формулировку.
Пусть
к
м = ^2 тт р(],в).
j=i
На рис. 4 схематично представлено индексное множество, на котором определена функция р(з, в).
0 0 0 • 0
0 • 0 0
0 0 • 0 0 0
0
2
с
j
0
s
Рис. 4- Схематичное представление функции p(j,s)
Обозначим через П множество всех цепочек S = (si,s2,...,sk), где Sj € 1 : hj при каждом j € 1 : к. Выделим в П цепочку S* = (s*,sij,...,s^j), элементы которой удовлетворяют условиям
s* € 1 : hj, p(j, s*) = min p(j, s).
J J s£l:hj
Введем функцию
k
P (S ) = E P(j,Sj). j=1
Ясно, что M = P(S*).
Лемма (о сумме минимумов). Справедливо равенство
M = min P (S). (3)
sen
Доказательство. При каждом S G П имеем
к к
' s£l:hj
p(s) = vp(j, sj) > v min p(j, s) = M,
< * < * с P-1 ■ h ■
j=i j=i
т. е. P(S) ^ M при всех S G П. Вместе с тем, как отмечалось, P(S*) = M, причем S* G П. Приходим к равенству (3). Лемма доказана. Перепишем формулу (3) в развернутом виде
кк
Emin p(j, s)=min> p(j,sj). seih- ' ' sen^ v j j=i j=i
Таким образом, лемма показывает, как правильно переставлять знаки ^ и min. Теперь задачу (1) можно переписать следующим образом:
1 m 1 к
inf F(G) = mininfj— max [(ws, Oj) - Ъ + с] + - Y] , bj) + + cl ),
g sen g Km^ se\:hv J+ k^L j J + J
i=1 j=1
где П = {S = (si,...,sk) | sj G 1 : h, j G 1 : к}. Приходим к конечному числу экстремальных задач вида
1 m 1 к
- Е S [К, Oi) - ls + с] + + - [- («Л ъз + с] + inf, (4)
i=1 S ' j=1
соответствующих различным S G П. В свою очередь, задача (4) эквивалентна задаче линейного программирования
1 m 1 к
— У]Рг + (5)
г=1 3=1
— {аг, ю8} + + Рг > с, % € 1 : т, в € 1 : Н;
{Ьз} — + > с, ] € 1 : к; рг ^ 0, % € 1 : т; 43 ^ 0, ] € 1 : к.
Каждая задача вида (5) имеет решение, поскольку множества их планов непусты и целевые функции ограничены снизу нулем. Отсюда следует, что и задача (1) имеет решение. Его порождает то € П, при котором экстремальное значение задачи (5) принимает наименьшее значение. Обозначим через ({■&*}, {7*}, {р*}, {ч*}) соответствующее решение задачи (5). Тогда матрица О*, составленная из строк , ), в € 1 : Н, является решением задачи (1).
5. Рассмотрим пример строгого отделения двух множеств. Пусть на плоскости заданы множества А и В, состоящие соответственно из точек
а1 = (—2, 0), а2 = (2, 0), аз = (0, 2), а4 = (0, 1);
Ьг = (0,3), Ъ2 = (3,0), Ьз = (-3,0). Очевидно, что (А) П В = 0 (рис. 5).
О Ь
Ьз -©-
Ь2 "в"
Рис. 5. Множества А и В
Решим задачу строгой 2-отделимости. В данном случае
п = 2, т = 4, к = 3, Н = 2.
Положим с =1. Выясним, как выглядит задача (5) при Б = (1, 1, 2). Выпишем вектор неизвестных
г = Yl, ■, ■, 72, Pl, Р2, Pз, P4, ql, q2, qз)
и матрицу ограничений
^ 2 -2 0 0
Б =
0 0
2
1 1 1
-1 1
2 -2 0 0
0 1 1
0 1
-2 1
-1 1
3 -1 0 -1
-3 0 -1
Задача (5) примет вид
1 4 1 3 7 Х><+
= 1 3 = 1
Бг > е,
(6)
Рг > 0, г € 1:4; qj > 0, з € 1:3. Решением данной задачи является вектор
г = (111.22, 112.00, 272.91, -78.15, 27.35, 192.16, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00).
1
1
1
1
1
1
1
Минимальное значение целевой функции равно нулю. Строгое 2-отделение множеств А и В при Б = (1, 1, 2) выглядит так, как показано на рис. 6.
N / \
/ N
Ч О Ь! ч
Ьз /
Ь2
-е—>
Рис. 6. Строгое 2-отделение множеств А и В при Я = (1, 1, 2)
Отметим, что задание вектора индексов Б = (1, 1, 2) соответствует разбиению множества В на два подмножества {Ьг, Ь2}и{Ьз}, которые согласованно отделяются от множества А с помощью двух прямых
(ы1,х) = 71 и (ы2 ,х) = 72.
Существуют еще два разбиения множества В на два подмножества:
{Ь1,Ьз}и{Ь2} и {Ь2, Ьз}и{Ь1}.
Им соответствуют векторы Б = (1, 2, 1) и Б = (2, 1, 1).
Результат строгого 2-отделения при Б = (1, 2, 1) показан на рис. 7.
Ь! О ✓ /
\ '
Л / \
Ьз -©-
Ь2
нА-е—> \
\
\
Рис. 7. Строгое 2-отделение при Я = (1, 2, 1)
Этот случай симметричен случаю Б = (1, 1, 2). При Б = (2, 1, 1) строгой 2-отделимости нет (рис. 8).
м
С) bi
b3
-е-
Ь2
•о~~>
Рис. 8. Отделимость при S = (2, 1, 1)
Решением задачи, аналогичной (6), является вектор
z = (0.00, -112.02, -1.00, 0.00, 111.87, 273.78, 2.00, 2.00, 0.00, 0.00, 0.00, 0.00, 0.00).
Минимальное значение целевой функции равно единице.
6. В общем случае задание вектора S G П соответствует разбиению множества B, состоящего из к векторов, на h подмножеств. Число таких разбиений и определяет количество задач линейного программирования вида (5), к решению которых сводится решение задачи (1).
Если заранее известно, что множества A и B строго h-отделимы, то решение задачи (1) можно упростить. После разбиения множества B на h подмножеств следует независимо решать задачи линейного отделения каждого из этих подмножеств от множества A (см. [4]). В случае успешного отделения совокупность разделяющих гиперплоскостей образует решение задачи (1).
Литература
1. Astorino A., Gaudioso M. Polyhedral separability througt successive LP // JOTA. 2002. Vol. 112, N 2. P. 265-293.
2. Малоземов В. Н., Чернэуцану Е. К. Строгая h-отделимость двух множеств // Семинар по дискретному гармоническому анализу и геометрическому моделированию (DHA & CAGD): избр. докл. 18 декабря 2010 г. 6 с. (URL: http://dha.spb.ru/reps10.shtml#1218).
3. Чернэуцану Е. К. Строгая ^-отделимость и линейное программирование // Семинар по дискретному гармоническому анализу и геометрическому моделированию (DHA & CAGD): избр. докл. 29 января 2011 г. 7 с. (URL: http://dha.spb.ru/reps11.shtml#0129).
4. Малоземов В. Н., Чернэуцану Е. К. О математической диагностике (линейная модель) // Семинар по дискретному гармоническому анализу и геометрическому моделированию (DHA & CAGD): избр. докл. 17 апреля 2010 г. 5 с. (URL: http://dha.spb.ru/reps10.shtml#0417).
Статья рекомендована к печати проф. В. Ф. Демьяновым. Статья принята к печати 21 июня 2012 г.