МАТЕМАТИКА
Вестник Омского университета, 2002. №1. С. 17-19.
© Омский государственный университет УДК 519.8
K ЗАДАЧЕ МИНИМИЗАЦИИ СУПЕРМОДУЛЯРНОЙ ФУНКЦИИ НА КОМАТРОИДЕ
В.П. Ильев, Н.В. Линкер
Омский государственный университет, кафедра математического анализа 644077, Омск, пр.Мира, 55A1
Получена 17 ноября 2001 г.
We consider the following combinatorial optimization problem: min {f (X) : X G D}, where D is the family of all dependent sets of a comatroid and f : 21 ^ R+ is a nonincreasing supermodular set function with f (I) = 0. This problem is NP-hard since the well-known p-median problem is a special case of it. We present an approximation algorithm for the above-mentioned problem and derive a performance guarantee of this algorithm.
1. Определения и предварительные замечания
Пусть I - конечное множество, |11 = т. Наследственной системой Б на множестве I будем называть разбиение множества 21 всех подмножеств множества I на два непересекающихся семейства А и Р = 21 \ А, удовлетворяющих соответственно аксиомам наследственности: (А 6 А, А' С А) ^ А' 6 А и наследственности «вверх»: (Б 6 Р, Б С Б') ^ Б' . Множества семейства А называются независимыми, а множества семейства Р - зависимыми множествами наследственной системы Б.
Базой множества X С I называется любое максимальное по включению независимое множество, содержащееся в X, а циклом множества X - любое минимальное по включению зависимое множество, содержащее X. Базы множества I называются базами системы Б, а циклы пустого множества 0 - циклами системы Б.
Наследственная система Б называется мат-роидом, если для любого X С I все базы множества X имеют одинаковую мощность. В частности, все базы множества I равномощны; мощность любой из них называется рангом матро-ида. Система Б называется коматроидом, если для любого X С I все циклы множества X имеют одинаковую мощность. Обхватом коматроида называется мощность любого цикла пустого множества.
Функция множеств / : 21 ^ Д+ называется супермодулярной, если для любых X, У С I име-
ет место неравенство
/ (X и У) + / (X П У) > / (X) + / (У), и субмодулярной в случае обратного неравенства.
Нас будет интересовать следующая задача. Минимизация супермодулярной функции на коматроиде.
min {f (X) : X € D},
(1)
где D - семейство всех зависимых множеств некоторого коматроида M обхвата p, а f : 21 ^ R+ - невозрастающая супермодулярная функция. Без ограничения общности можно считать, что f (I) = 0.
Задача (1) NP-трудна, поскольку ее частным случаем является следующая NP-трудная задача [1]:
Задача о p-медиане на минимум.
min {f (X) : X С I, |X| = p},
где
f (X) = X^X ci
e-mail: [email protected]
jeJ
f (0) = max {f (X) + f (Y) - f (X U Y)},
XnY=0
(cij) - неотрицательная m x n матрица с множеством индексов строк I и множеством индексов столбцов J, p - натуральное число, 0 < p < m.
Для решения задачи (1) применим следующий приближенный алгоритм, являющийся дискретным аналогом алгоритма наискорейшего спуска.
18
В.П. Ильев, Н.В. Линкер
Алгоритм ЯО (наискорейший спуск).
Шаг 0. Положим По := I. Переходим на шаг 1. ШШаг г (г > 1). Выберем й 6 П;_1 так, чтобы Пг_1 \ {¿г} 6 V и
/(А_1 \ {йг})
Ш1П
^-Л-ЗДе-о
/ (Пг_1 \{й}).
Полагаем П; := П;_1 \ {^¿}, г := г + 1. Если же такого й не существует, то полагаем П := П;_1 и алгоритм заканчивает работу. Конец.
Довольно хорошо исследована следующая задача комбинаторной оптимизации.
Максимизация субмодулярной функции на матроиде.
шах {/(X) : X 6 А},
(2)
где А - семейство независимых множеств некоторого матроида ранга р, а / : 21 ^ Д+ - неубывающая субмодулярная функция, / (0) = 0.
Для задачи о р -медиане на максимум, которая является частным случаем задачи (2), в статье [2] получена гарантированная оценка погрешности дискретного аналога алгоритма наискорейшего подъема:
/ (А) / (А*)
> 1 -
р — 1 Р
р е — 1 > -
0.63,
где А* - оптимальное решение, а А - решение, найденное алгоритмом.
В работе [3] для задачи (2) доказаны оценки
/ (А) > 1
/(А*) - с
1—
р — с
/ (А) > 1
/(А*) - 1 + с,
(3)
(4)
где
Шах
же/, I ({ж })>1(0)
/({ж}) — /(0) — (/(I) — /(I \{х}))
/ ({х}) — / (0) .
Целью настоящей работы является построение гарантированной оценки погрешности алгоритма наискорейшего спуска для задачи (1).
2. Оценки погрешности алгоритма наискорейшего спуска
Задача минимизации (1) является значительно более трудной, нежели задача максимизации (2). В отличие от задачи (2), алгоритм наискорейшего спуска (равно как и минимизационный аналог алгоритма наискорейшего подъема) может давать сколь угодно плохое решение задачи (1). Для получения гарантированной оценки погрешности
алгоритма ЯО приходится привлекать дополнительную информацию о целевой функции. Так, в работе [4] получена следующая оценка погрешности алгоритма ЯО для задачи о р-медиане на минимум, внешне напоминающая оценку (3):
/ (П) < 1 /(П*) < г
д + г д
—1
(5)
где П* - оптимальное решение, П - решение, найденное алгоритмом ЯО, р - обхват коматро-ида, д = т — р, г = в/(1 — в), а в - крутизна функции / , определяемая как
в = шах
же/,
I (0)>1 ({ж})
/(0) — /({ж}) — (/(I \{х}) — /(I))
/ (0) — / ({х}) .
Величина 8 изменяется от 0 до 1 и характеризует общее замедление убывания функции. В [5] такая же оценка доказана для задачи (1), но крутизна определяется иначе:
в = шах
ж,уе/, I (0)>1 ({ж})
/(0) — /({ж}) — (/(I \{у}) — /(I))
/ (0) — / ({х}) .
Легко видеть, что 6 [0,1].
Из (5) следует, что при в' = 0 алгоритм ЯО дает точное решение задачи (1). К сожалению, функции крутизны в' = 0 весьма специфичны, и оптимизация таких функций - задача тривиальная.
Сформулируем основной результат настоящей работы, заявленный в [6].
Теорема 1. Для любой невозрастающей супермодулярной целевой функции задачи (1) крутизны в < 0, 5 имеет место оценка
/ (П) < 1 — в
/(П*) - 1 — 2в .
(6)
Для доказательства теоремы 1 нам потребуется ряд вспомогательных утверждений. Рассмотрим произвольные множества С = I \{с1,...,сь }, П = I \{йь...,4 }. Введем следующие обозначения:
С = I \ С, П = I \ П, С0 = П0 = /, С; = I \{сь...,сч}, А = I \{й1,... г = 1,...,к. Для любого X С I и ж 6 X положим
Рж(Х) = /(X \{х}) — /(X).
А},
Лемма 1 [4]. Лемма 2 [4].
/(П)
(А_1).
(1—в)/(С) > (1—в) £_рс(П) + +(1 — в) Е (А_1) — в (А_1).
з
е
р
р
с
К задаче минимизации.
19
Лемма 3. Пусть D = I \{di;...,dfc} - решение, найденное алгоритмом SD, где d¿ - элемент, выбранный алгоритмом на шаге i, C - произвольный цикл коматроида M. Тогда элементы множества C = I \ C = {ci,...,cfc} можно упорядочить таким образом, что pCi (D¿_i) > Pd, (D¿_i), причем Ci = di при ci G C П D.
Доказательство. Пусть уже найдены элементы Ck,...,Ci+i. Если di / Ci, то это означает, что di G {ci,... , Ci}. Тогда полагаем Ci = di. Если di G Ci, то легко показать, что существует Ci G Di \ Ci такой, что Di \ {ci} G D. Так как алгоритм SD на шаге i выбрал элемент di, то
f (Di_i \{Ci}) > f (Di_i \{di}). Поэтому
PCi (Di_i) = f (Di_i \ {Ci}) - f (Di_i) >
> f (Di_i \ {di}) - f (Di_i) = pdi(Di_i). ■
Доказательство теоремы 1. Пусть элементы Ci дополнения оптимального решения задачи (1) D* = I \ {ci,..., Ck} упорядочены в соответствии с леммой 3. По лемме 2 имеем
(1 - s)f (D*) > (1 - s) Pc(D)+
ceD*\D
+(1 - s) Е _рЛг (Di_i) - s E_Pd, (Di_i).
d,ED*nD d,ED\D*
Заметим, что
Pd,(Di_i) < Pdi(Di_i) = f(D)
d,ED\D* d,ED
(последнее равенство следует из леммы 1). Из супермодулярности f и леммы 3 следует, что
Pc(D) > Pc,(Di_i) >
ced*\d c,ed*\d
> E _Pd, (Di_i).
d,ED\D*
Поэтому
(1 - s)f (D*) > (1 - s) Pdi(Di_i)+
d,ED\D*
+(1 - s) E_Pd,(Di_i) - sf (D) =
d,EDnD»
= (1 - s) E_Pd, (Di_i) - sf (D) =
d,ED
= (1 - s)f (D) - sf (D) = (1 - 2s)f (D). ■
Замечание 1. В ряде случаев при малых значениях в оценка (6) оказывается более точной, чем оценка (5) с крутизной в', как показывает следующий пример.
Пусть I = {1, 2, 3}. Определим функцию / следующим образом: / (0) = 2 + е,
/({1}) = 2, /({2})= /({3}) = 1 + е, /({1, 2}) = /({1, 3}) = 1, /({2, 3})= е, /({1, 2, 3}) = /(I) =0.
Нетрудно проверить, что функция / супермо-дулярна и в' = 1 — е, поэтому правая часть неравенства (5) представляет собой полином степени д — 1 от t, то есть стремится к при е ^ 0 .В
то же время 8 = 0, и неравенство (6) принимает вид
/Б) < 1.
/(Б*) -
Значит, /(Б) = /(Б*), то есть алгоритм ЯО находит точное решение задачи (1) с вышеприведенной целевой функцией.
Следствием теоремы 1 является
Теорема 2. Алгоритм ЯО находит точное решение задачи минимизации супермодулярной функции на коматроиде, если целевая функция / имеет крутизну в = 0.
Замечание 2. Функции крутизны в = 0 являются невозрастающими аналогами аддитивных функций.
Поэтому теорема 2 представляет собой аналог известного результата Радо-Эдмондса о том, что жадный алгоритм находит оптимальное решение задачи на матроиде для любой аддитивной целевой функции.
[1] Kariv O., Hakimi S.L. An algorithmic approach to network location problems. II. The p-medians // SIAM J. Appl. Math. 1979. V.37. № 3. P. 539-560.
[2] Cornuéjols G., Fisher M.L., Nemhauser G.L. Location of bank accounts to optimize float: An analytic study of exact and approximate algorithms // Management Sci. 1977. V.23. № 3. P.789-810.
[3] Conforti M., Cornuéjols G. Submodular set functions, matroids and the greedy algorithm: Tight worst-case bounds and some generalizations of the Rado-Edmonds theorem // Discrete Appl. Math. 1984. V.7. № 3. P.251-274.
[4] Ильев В.П. Оценка точности алгоритма жадного спуска для задачи минимизации супермодулярной функции // Дискрет. анализ и исслед. операций. Сер.1. 1998. Т.5. № 4. С.45-60.
[5] Ильев В.П., Леванова Т.В. Анализ градиентного алгоритма минимизации супермодулярной функции на матроиде // Труды XI международной Байкальской школы-семинара «Методы оптимизации и их приложения». Иркутск, 1998. Т. 1. С.143-146.
[6] Ильев В.П., Линкер Н.В. О минимизации супермодулярных функций на коматроидах // Труды XII международной Байкальской конференции «Методы оптимизации и их приложения». Иркутск, 2001. Т.1. С.160-165.