Problém pokrytí vrcholů je NP-úplný počítačový problém v oblasti teorie grafů . Často se používá v teorii složitosti k prokázání NP-úplnosti složitějších problémů.
Vrcholový kryt pro neorientovaný graf je množina jeho vrcholů , takže pro každou hranu grafu alespoň jeden z konců vstupuje do vrcholu z .
Velikost vertexového krytu je počet vertexů, které obsahuje.
Příklad: Graf vpravo má pokrytí vrcholů velikosti 4. Nejedná se však o nejmenší pokrytí vrcholů, protože existují menší kryty vrcholů, jako jsou a .
Problém pokrytí vrcholu je najít nejmenší velikost pokrytí vrcholu pro daný graf (tato velikost se nazývá krycí číslo vrcholu grafu ).
Vstup: Count . Výsledek: množina je nejmenší vrcholový kryt grafu .Otázku lze také položit jako ekvivalentní problém s řešením :
Vstup: Graf a kladné celé číslo . Otázka: Existuje vrcholový kryt pro graf o velikosti maximálně ?Problém pokrytí vrcholů je podobný problému nezávislé množiny . Protože množina vrcholů je krytím vrcholů právě tehdy, když je její doplněk nezávislou množinou, problémy se vzájemně redukují.
Protože problém pokrytí vrcholů je NP-úplný , bohužel neexistují žádné známé algoritmy pro jeho řešení v polynomiálním čase. Existují však aproximační algoritmy , které poskytují "přibližné" řešení tohoto problému v polynomiálním čase - můžete najít pokrytí vrcholů, ve kterých počet vrcholů není větší než dvojnásobek možného minima.
Jedním z prvních přístupů k vyřešení problému, který přichází na mysl, je aproximace pomocí chamtivého algoritmu : Je nutné přidávat vrcholy s maximálním počtem sousedů k pokrytí vrcholů, dokud není problém vyřešen, ale takové řešení nemá žádnou -aproximaci. pro jakoukoli konstantu .
Dalším řešením je najít maximální shodu na daném grafu a zvolit množinu jako pokrytí vrcholu . Správnost takového algoritmu je dokázána rozporem: If is not vertex cover (ne nutně nejmenší), tzn. , pak nejde o maximální shodu. Aproximační faktor je dokázán takto: Nechť , kde je číslo nezávislosti grafu , a je největší shoda grafu . Pak je aproximační faktor .
Obecně lze problém pokrytí vrcholů aproximovat faktorem .
V bipartitních grafech je problém pokrytí vrcholů řešitelný v polynomiálním čase, protože se redukuje na největší problém shody ( Königův teorém ).
NP-úplné problémy | |
---|---|
Maximalizační problém stohování (balení) |
|
teorie grafů teorie množin | |
Algoritmické problémy | |
Logické hry a hádanky | |