NP úplný problém

NP-úplný problém  - v teorii algoritmů problém s odpovědí „ano“ nebo „ne“ z třídy NP , na který lze v polynomiálním čase redukovat jakýkoli jiný problém z této třídy (tj. pomocí operací, jejichž počet nepřesahuje nějaký polynom v závislosti na velikosti původních dat). NP-úplné problémy tedy tvoří v jistém smyslu podmnožinu „typických“ problémů ve třídě NP: pokud je pro některé z nich nalezen „polynomiálně rychlý“ algoritmus řešení, lze vyřešit jakýkoli jiný problém ze třídy NP. stejně „rychle““.

Formální definice

Abeceda je jakákoli konečná množina znaků (například {} nebo {}). Množina všech možných slov (koncové řetězce složené ze znaků této abecedy) nad nějakou abecedouje označena. Jazyk nad abecedouje jakákoli podmnožina množiny, tj.

Úkolem rozpoznávání jazyka je určit, zda dané slovo patří do jazyka .

Dovolit a  být dva jazyky přes abecedu . Říká se, že jazyk je redukovatelný (podle Karpa) na jazyk , pokud existuje funkce , , která je vyčíslitelná v polynomiálním čase a má následující vlastnost:

O jazyce se říká , že je NP-tvrdý , pokud je na něj jakýkoli jazyk ve třídě NP redukovatelný. O jazyce se říká , že je NP-úplný , pokud je NP-tvrdý a je sám ve třídě NP.

Neformálně řečeno, skutečnost, že se problém redukuje na problém , znamená, že problém „není těžší“ než problém (protože když dokážeme vyřešit , můžeme vyřešit a ). Třída NP-těžkých problémů tedy zahrnuje NP-úplné problémy a problémy, které jsou „těžší“ než ony (tj. ty problémy, na které lze NP-úplné problémy redukovat). Třída NP zahrnuje NP-úplné problémy a problémy, které jsou „snazší“ než ony (tedy ty problémy, které jsou redukovány na NP-úplné problémy).

Z definice vyplývá, že pokud se najde algoritmus, který řeší nějaký (jakýkoli) NP-úplný problém v polynomiálním čase, pak všechny NP-problémy budou ve třídě P , to znamená, že budou vyřešeny v polynomiálním čase.

NP-úplný v silném smyslu

Úkol se nazývá NP-úplný v silném smyslu , pokud má dílčí úkol, který:

  1. není problém s numerickými parametry (to znamená, že maximální hodnota veličin, se kterými se v tomto problému setkáváme, je shora ohraničena polynomem v délce vstupu)
  2. je NP-úplný.

Třída takových problémů se nazývá NPCS . Pokud je hypotéza P ≠ NP pravdivá, pak pro problém NPCS neexistuje žádný pseudopolynomiální algoritmus .

Hypotéza P ≠ NP

Otázka koincidence tříd P a NP je jedním z ústředních otevřených problémů již více než třicet let . Vědecká komunita má tendenci dávat na tuto otázku zápornou odpověď [1]  — v tomto případě nebude možné řešit NP-úplné problémy v polynomiálním čase.

Příklady NP-úplných problémů

Viz také

Poznámky

  1. Vilém I. Gasarch. Průzkum P=?NP.  (neopr.)  // Zprávy SIGACT. - 2002. - T. 33 , č. 2 . - S. 34-47 . - doi : 10.1145/1052796.1052804 .
  2. Erik D. Demaine, Susan Hohenberger, David Liben-Nowell. Tetris je těžký, dokonce i  přibližný . tisk.

Literatura

Odkazy