Sada balení - Set packing

Balení sady je klasický NP-úplný problém v teorii výpočetní složitosti a kombinatoriky a byl jedním z 21 Karpových 21 NP-úplných problémů .

Předpokládejme, že jeden má konečnou množinu S a seznam podmnožin z S . Poté se problém s balením setů zeptá, zda některé podmnožiny k v seznamu nejsou párově disjunktní (jinými slovy, žádné dvě z nich nesdílejí prvek).

Více formálně, vzhledem k vesmíru a rodině podmnožin , je balení podrodinou množin, takže všechny sady jsou párově disjunktní. Velikost balení je . V případě problému s rozhodnutím o balení je vstupem dvojice a celé číslo ; otázkou je, zda existuje sada balení velikosti nebo více. V problému optimalizace sady balíků je vstupem dvojice a úkolem je najít balení sady, které používá nejvíce sad.

Problém je jasně v NP, protože vzhledem k k podmnožinám můžeme snadno ověřit, že jsou v polynomiálním čase párově disjunktní .

Verze Optimalizace problému, maximální nastavenou balení , vyzve k zadání maximálního počtu dvou disjunktních množin v seznamu. Jedná se o problém s maximalizací, který lze přirozeně formulovat jako celočíselný lineární program patřící do třídy problémů s balením .

Celé číslo lineární formulace programu

Problém s maximální sadou balení lze formulovat jako následující celočíselný lineární program .

maximalizovat (maximalizovat celkový počet podmnožin)
podléhá pro všechny (vybrané sady musí být párově disjunktní)
pro všechny . (každá sada je v balení sady nebo ne)


Složitost

Set packing problem is not only NP-complete, but its optimization version (general maximum set packing problem) has been mentioned as obtížné aproximovat jako maximum clique problem ; zejména jej nelze aproximovat v rámci žádného konstantního faktoru. Nejznámější algoritmus jej aproximuje s faktorem . Rovněž lze aproximovat váženou variantu.

Problém však má variantu, která je lépe ovladatelná: pokud předpokládáme, že žádná podmnožina nepřesáhne k ≥3 prvků, lze odpověď aproximovat v rámci faktoru k / 2 + ε pro libovolné ε> 0; zejména problém s 3-prvkovými sadami lze přiblížit přibližně do 50%. V jiné přitažlivější variantě, pokud se žádný prvek nevyskytuje ve více než k podskupin, lze odpověď aproximovat v rámci faktoru k . To platí také pro váženou verzi.

Ekvivalentní problémy

Mezi problémem nezávislé sady a problémem se sadou balení existuje redukce polynomu v čase jedna ku jedné :

  • Vzhledem k problému s balením sady v kolekci vytvořte graf, kde pro každou sadu existuje vrchol a hrana mezi a if . Nyní každá nezávislá sada vrcholů v generovaném grafu odpovídá sadě balení .
  • Vzhledem k problému nezávislé sady vrcholů v grafu vytvořte kolekci sad, kde pro každý vrchol existuje sada obsahující všechny sousedící hrany . Nyní každé balení sady ve generované kolekci odpovídá nezávislému vrcholu nastavenému v .

Jedná se také o obousměrné snížení PTAS a ukazuje, že tyto dva problémy lze stejně obtížně aproximovat.

Speciální případy

Odpovídající a trojrozměrná shoda jsou speciální případy balení sady. Srovnání maximální velikosti lze najít v polynomiálním čase, ale nalezení největší 3-dimenzionální shody nebo největší nezávislé množiny je NP-tvrdé.

Další související problémy

Balení sady je jednou z rodiny problémů souvisejících s zakrytím nebo rozdělením prvků sady. Jedním z úzce souvisejících problémů je problém s krytem sady . Zde jsme také dána nastavenou S a seznam souprav, ale cílem je určit, zda si můžeme vybrat K sady, které dohromady obsahují každý prvek S . Tyto sady se mohou překrývat. Optimalizační verze najde minimální počet takových sad. Maximální sada balení nemusí pokrývat všechny možné prvky.

Na druhou stranu problém přesného krytí NP-Complete vyžaduje, aby každý prvek byl obsažen přesně v jedné z podmnožin. Nalezení takového přesného krytu vůbec, bez ohledu na jeho velikost, je NP-úplný problém. Pokud však vytvoříme sadu singletonů pro každý prvek S a přidáme je do seznamu, výsledný problém je asi tak snadný jako balení sady.

Karp původně ukázal balení setu NP-Complete snížením problému s klikou .

Viz také: Balení v hypergrafu .

Poznámky

Reference

externí odkazy