Проблем максималне покривености
Овај чланак је започет или проширен кроз пројекат семинарских радова. Потребно је проверити превод, правопис и вики-синтаксу. Када завршите са провером, допишете да након |проверено=. |
Проблем максималне покривености је добро познат проблем у пољу информатике, теорије комплексности и операционом истраживању. Код овог проблема као улаз нам је дато неколико скупова и број к. Скупови могу имати неке заједничке елементе. Треба одабрати највише к тих скупова, тако да је максималан број елемената покривен, тј унија одабраних скупова има максималну величину.
Формална, (безтежинска верзија)проблема максималне покривеност је:
Улаз: Број к и колекција скупова С = С1, С2, ..., См.
Излаз: Пронађен је подскуп од скупова, такав да и да је број покривених елемената максималан.
Проблем максималне покривености је НП-тежак, и не може бити апроксимиран са под стандардним претпоставкама. Овај резултат у суштини одговара сложености добијеној помоћу генеричког похлепног алгоритма.[1]
Проблем максималне покривености може бити формулисан као следећи линеарни програм са целим бројевима:
. (максимална сума покривених елемената).
; (не више од к скупова је одабрано).
; (ако је онда је бар један скуп је означен).
; (ако је онда је покривен)
(ако је онда је одабран за прекривеност).
Похлепни алгоритам
уредиПохлепни алгоритам за максималну покривеност бира скупове водећи се једним правилом: у сваком кораку, бирамо скуп са највише непокривених елемената. Може се показати да овај алгоритам достиже сложеност од [2]. Резултати показују да је похлепни алгоритам, најбољи могући алгоритам, полиномијалне временске сложености за проблем максималне покривености[3].
Верзија са тежинама
уредиУ верзији са тежинама сваки елемент има тежину . Задатак је наћи максималну покривеност која има и максималну тежину. Специјалан случај је случај кад су све тежине 1.
. (максимална сума са тежинама покривених елемената).
; (не више од к скупова је одабрано).
; (ако је онда је бар један скуп одабран).
; (ако је онда је покривен)
(ако је онда одабран за прекривеност).
Похлепни алгоритам у верзији са тежинама при проблему максималне покривености у сваком кораку бира скуп кој садржи максималну тежину непокривених елемената. Овај алгоритам постиже сложеност .[1].
Максимална покривеност са ограничењем
уредиУ максималној покривености са ограничењем, сваки елемент има тежину , али и сваки скуп има цену . Уместо које означава ограничење броја скупова у покривености буџет је дат. Овај буџет ограничава тежину прекривености која може бити одабрана.
. (максимална сума са тежинама покривених елемената).
; (цена одабраних скупова која не може прећи ).
; (ако је онда је бар један скуп обабран).
; (ако је онда је покривен)
(ако је онда је одабран за покривеност).
Похлепан алгоритам нам неће више достављати решење са гарантованом добром преформансом. У најгорем могућем случају извођење овог алгоритма може бити далеко од оптималног решења. Алгоритам апроксимације проширујемо на следећи начин: Прво, после проналаска решења користећи похлепни алгоритам, враћа се најбоље од решења похлепног алгоритма и скуп највеће тежине. Ово можемо назвати модификовани похлепни алгоритам. Друго, почев од свих могућих фамилија скупова са величинама од 1 до бар 3, повећати решења уз помоћ модификованог похлепног алгоритма. Треће, врати најбољи од свих повећаних решења. Овај алгоритам достиже сложеност . Ово је најбољи могућа сложеност, осим ако ( ).[4]
Генерализована максимална покривеност
уредиУ уопштеној верзији проблема максималне покривености сваки скуп има цену , а елемент има друкчију тежину и цену која зависи од скупа кој је покрива. Ако је покривен скупом тежина је и њена цена је . Буџет је дат за цену целокупног решења.
. (максимална сума са тежинама покривених елемената у скуповима у којима су покривени).
; (цена одабраних скупова не може да пређе ).
; (елемент можи бити покривен само једним скупом).
; (ако је онда је бар један скуп одабран).
; (ако је онда је покривен скупом )
(ако је онда је одабран за прекривеност).
Алгоритам
уредиАлгоритам користи концепт остатка цене/тежине. Остатак цене/тежине је мерен са привременим решењем и то је разлика цене/тежине од цене/тежине добијене у привременом решењу.
Алгоритам има неколико корака. Прво, пронаћи решење коришћењем похлепног алгоритма. У свакој итерацији похлепног алгоритма привремено решење је додато скупу који садржи максимум остатак тежина елемената, подељеног са остатком цена ових елемената, заједно са остатком цене скупа. Друго, поредити решења добијена у првом кораку тако да се добије најбоље решење од њих које користи мали број скупова. Треће, врати најбољи од проверених решења. Овај алгоритам достиже сложеност од .[5]
Повезани проблеми
уреди- Проблем покривености скупа, покривање свих елемената са што мање скупова.
Референце
уреди- ^ а б Г. L. Немхаусер, L. А. Wолсеy анд M. L. Фисхер. Ан аналyсис оф аппроxиматионс фор маxимизинг субмодулар сет фунцтионс I, Матхематицал Программинг 14 (1978), 265–294
- ^ Хоцхбаум, D. С. (1997), "Аппроxиматинг цоверинг анд пацкинг проблемс: Сет цовер, вертеx цовер, индепендент сет, анд релатед проблемс", ин Аппроxиматион алгоритхмс фор НП-хард проблемс, ПWС Публисхинг Цомпанy, Бостон, 94-143.
- ^ Феиге, У., "А тхресхолд оф лн н фор аппроxиматинг сет цовер", Ј. АЦМ 45, 634-652.
- ^ Кхуллер, С., Мосс, А., анд Наор, Ј. 1999. Тхе будгетед маxимум цовераге проблем. Инф. Процесс. Летт. 70, 1 (Апр. 1999), 39-45.
- ^ Цохен, Р. анд Катзир, L. 2008. Тхе Генерализед Маxимум Цовераге Проблем. Инф. Процесс. Летт. 108, 1 (Сеп. 2008), 15-22.
- Вазирани, Вијаy V. (2001). Аппроxиматион Алгоритхмс. Спрингер-Верлаг. ИСБН 3-540-65367-8.
- Уриел Феиге, А Тхресхолд оф лн фор Аппроxиматинг Сет Цовер, Јоурнал оф тхе АЦМ (ЈАЦМ). . 45 (4): 634 — 652,. Недостаје или је празан параметар
|титле=
(помоћ)Јулy 1998.