Problém s maximálním pokrytím - Maximum coverage problem
The problém s maximálním pokrytím je klasická otázka v počítačová věda, teorie výpočetní složitosti, a operační výzkum Je to problém, o kterém se často učí aproximační algoritmy.
Jako vstup dostanete několik sad a číslo . Sady mohou mít některé prvky společné. Musíte vybrat maximálně z těchto sad tak, aby byl pokryt maximální počet prvků, tj. sjednocení vybraných sad má maximální velikost.
Formálně (nevážený) maximální pokrytí
- Instance: Číslo a sbírka sad .
- Cíl: Najít podmnožinu sad, takové a počet zahrnutých prvků je maximalizován.
Problém s maximálním pokrytím je NP-tvrdé a nelze jej v rámci aproximovat za standardních předpokladů. Tento výsledek v zásadě odpovídá aproximačnímu poměru dosaženému použitým obecným chamtivým algoritmem maximalizace submodulárních funkcí s omezením mohutnosti.[1]
Formulace ILP
Problém s maximálním pokrytím lze formulovat následovně celočíselný lineární program.
maximalizovat | (maximalizovat součet zahrnutých prvků) | |
podléhá | (ne více než sady jsou vybrány) | |
(li pak alespoň jedna sada je vybráno) | ||
(li pak je zakryt) | ||
(li pak je vybrán pro obal) |
Chamtivý algoritmus
The chamtivý algoritmus pro maximální pokrytí vybírá sady podle jednoho pravidla: v každé fázi vyberte sadu, která obsahuje největší počet nekrytých prvků. Je možné ukázat, že tento algoritmus dosahuje přibližného poměru .[2] Výsledky přibližnosti ukazují, že chamtivý algoritmus je v podstatě nejlepším možným algoritmem aproximace polynomiálního času pro maximální pokrytí, pokud .[3]
Známá rozšíření
Výsledky nepřístupnosti se vztahují na všechna rozšíření problému maximálního pokrytí, protože problém maximálního pokrytí považují za speciální případ.
Problém maximálního pokrytí lze použít na situace v silničním provozu; jedním takovým příkladem je výběr, které autobusové trasy v síti veřejné dopravy by měly být instalovány s detektory výmolů, aby se maximalizovalo pokrytí, když je k dispozici pouze omezený počet senzorů. Tento problém je známým rozšířením problému maximálního pokrytí a byl poprvé prozkoumán v literatuře Junade Ali a Vladimir Dyo.[4]
Vážená verze
Ve vážené verzi každý prvek má váhu . Úkolem je najít maximální pokrytí, které má maximální váhu. Základní verze je speciální případ, kdy jsou všechny váhy .
- maximalizovat . (maximalizace váženého součtu zahrnutých prvků).
- podléhá ; (ne více než sady jsou vybrány).
- ; (li pak alespoň jedna sada je vybrána).
- ; (li pak je zakryt)
- (li pak pro obal).
Chamtivý algoritmus pro vážené maximální pokrytí v každé fázi vybere sadu, která obsahuje maximální váhu nekrytých prvků. Tento algoritmus dosahuje přibližného poměru .[1]
Rozpočtové maximální pokrytí
Ve verzi s maximálním pokrytím v rozpočtu platí nejen každý prvek mít váhu , ale také každá sada má náklady . Namísto který omezuje počet sad v krytu rozpočtu je dáno. Tento rozpočet omezuje celkové náklady na krytí, které lze zvolit.
- maximalizovat . (maximalizace váženého součtu zahrnutých prvků).
- podléhá ; (cena vybraných sad nesmí překročit ).
- ; (li pak alespoň jedna sada je vybrána).
- ; (li pak je zakryt)
- (li pak pro obal).
Chamtivý algoritmus již nebude vyrábět řešení se zárukou výkonu. Chování tohoto algoritmu v nejhorším případě může být velmi daleko od optimálního řešení. Aproximační algoritmus je rozšířen následujícím způsobem. Nejprve definujte upravený chamtivý algoritmus, který vybere sadu který má nejlepší poměr vážených nekrytých prvků k nákladům. Zadruhé, mezi obálkami mohutnosti , najít nejlepší krytí, které neporušuje rozpočet. Zavolej tento obal . Za třetí, najděte všechny obálky mohutnosti které neporušují rozpočet. Pomocí těchto obalů mohutnosti jako výchozí body použijte upravený chamtivý algoritmus a zachovejte dosud nejlepší pokrytí. Zavolej tento obal . Na konci procesu bude přibližné nejlepší krytí buď nebo . Tento algoritmus dosahuje přibližného poměru pro hodnoty . Toto je nejlepší možný poměr přiblížení, pokud .[5]
Zobecněné maximální pokrytí
V generalizované verzi s maximálním pokrytím každá sada má náklady , prvek má jinou váhu a cenu v závislosti na tom, která sada ji pokrývá je pokryta sadou hmotnost je a jeho cena je . Rozpočet je uveden pro celkové náklady na řešení.
- maximalizovat . (maximalizace váženého součtu zahrnutých prvků v sadách, ve kterých jsou zahrnuty).
- podléhá ; (cena vybraných sad nesmí překročit ).
- ; (živel může být pokryta maximálně jednou sadou).
- ; (li pak alespoň jedna sada je vybrána).
- ; (li pak je pokryta sadou )
- (li pak pro obal).
Zobecněný algoritmus maximálního pokrytí
Algoritmus využívá koncept zbytkové ceny / váhy. Zbytková cena / hmotnost se měří proti předběžnému řešení a je to rozdíl mezi cenou / hmotností a cenou / hmotností získanou předběžným řešením.
Algoritmus má několik fází. Nejprve najděte řešení pomocí chamtivého algoritmu. V každé iteraci chamtivého algoritmu je k předběžnému řešení přidána sada, která obsahuje maximální zbytkovou hmotnost prvků dělenou zbytkovou cenou těchto prvků spolu se zbytkovou cenou sady. Zadruhé porovnejte řešení získané prvním krokem s nejlepším řešením, které používá malý počet sad. Zatřetí, vraťte ze všech zkoumaných řešení to nejlepší. Tento algoritmus dosahuje přibližného poměru .[6]
Související problémy
- Nastavit problém s krytem je pokrýt všechny prvky co nejmenším počtem sad.
Poznámky
- ^ A b G. L. Nemhauser, L. A. Wolsey a M. L. Fisher. Analýza aproximací pro maximalizaci funkcí podmodulární množiny I, Mathematical Programming 14 (1978), 265–294
- ^ Hochbaum, Dorit S. (1997). „Přibližování problémů s obalem a balením: Sada krytů, Vrcholový kryt, Nezávislá sada a související problémy“. V Hochbaum, Dorit S. (ed.). Aproximační algoritmy pro NP-těžké problémy. Boston: PWS Publishing Company. str. 94–143. ISBN 978-053494968-6.
- ^ Feige, Uriel (Červenec 1998). „Prahová hodnota ln n pro přibližné nastavení krytu ". Deník ACM. New York, NY, USA: Sdružení pro výpočetní techniku. 45 (4): 634–652. doi:10.1145/285055.285059. ISSN 0004-5411. S2CID 52827488.
- ^ Ali, Junade; Dyo, Vladimir (2017). Pokrytí a umístění mobilních senzorů pro vozidla na předem stanovených trasách: chamtivý heuristický přístup. Sborník ze 14. mezinárodní společné konference o elektronickém podnikání a telekomunikacích. Svazek 2: WINSYS. 83–88. doi:10.5220/0006469800830088. ISBN 978-989-758-261-5.
- ^ Khuller, Samir; Moss, Anna; Naor, Joseph (Seffi) (1999). Msgstr "Problém rozpočtovaného maximálního pokrytí". Dopisy o zpracování informací. 70: 39–45. CiteSeerX 10.1.1.49.5784. doi:10.1016 / S0020-0190 (99) 00031-9.
- ^ Cohen, Reuven; Katzir, Liran (2008). "Zobecněný problém maximálního pokrytí". Dopisy o zpracování informací. 108: 15–22. CiteSeerX 10.1.1.156.2073. doi:10.1016 / j.ipl.2008.03.017.
Reference
- Vazirani, Vijay V. (2001). Aproximační algoritmy. Springer-Verlag. ISBN 978-3-540-65367-7.