NP-úplnost
Z Wikipedie, otevřené encyklopedie
NP-úplné (NP-complete, NPC) problémy jsou takové nedeterministicky polynomiální problémy, na které jsou polynomiálně redukovatelné všechny ostatní problémy z NP. To znamená, že třídu NP-úplných úloh tvoří v jistém smyslu ty nejtěžší úlohy z NP. Pokud by byl nalezen deterministický polynomiální algoritmus pro nějakou NP-úplnou úlohu, znamenalo by to, že všechny nedeterministicky polynomiální problémy jsou řešitelné v polynomiálním čase, tedy že třída NP se „zhroutí“ do třídy P (NP = P). Otázka, zda nějaký takový algoritmus existuje, zatím nebyla rozhodnuta, předpokládá se však, že NP ≠ P (je však zřejmé, že P ⊆ NP).
Vztah mezi P a NP je jedním ze sedmi problémů tisíciletí, které vypsal Clay Mathemathics Institute 24. května 2000, za rozhodnutí vztahu nabízí 1 000 000 dolarů.
[editovat] Příklady NP-úplných úloh
Mezi typické NP-úplné úlohy patří např. problém obchodního cestujícího, SAT (splnitelnost formule v KNF), hledání hamiltonovské kružnice, hledání nezávislé množiny, problém kliky (hledání úplného podgrafu), hledání isomorfního podgrafu, 3-barevnost grafu, vrcholové pokrytí, zavazadlový problém (tzv. problém batohu), problém dvou loupežníků atd.
[editovat] Využití NP-úplných úloh
Hlavní důvod, proč jsou NP-úplné úlohy tak zajímavé, je právě jejich velmi obtížná řešitelnost. Díky ní nacházejí uplatnění v moderní kryptografii, kde musíme být schopni rychle ověřovat správnost řešení, ale jeho nalezení musí trvat dlouho. Obtížnost výpočtu ovšem záleží i na konkrétních datech, pro speciální množinu vstupů může být úloha polynomiální, například řešíme-li obarvení třemi barvami pro jednoduché grafy (cesty).
[editovat] Řešení NP-úplných úloh
- Aproximační algoritmy
- Genetické algoritmy
- Heuristické algoritmy
- Pravděpodobnostní algoritmy