Wolna encyklopedia

W teorii złożoności obliczeniowej problem NP-trudny (NPH) to taki problem obliczeniowy, którego rozwiązanie jest co najmniej tak trudne jak rozwiązanie każdego problemu z klasy NP.

Formalna definicja problemu NP-trudnego jest następująca: problem π2 jest NP-trudny jeżeli pewien problem NP-zupełny π1 jest do niego redukowalny wielomianową transformacją Turinga.

Innymi słowy, problem NP-zupełny π1 można rozwiązać w wielomianowym czasie algorytmem rozwiązującym problem NP-trudny π2, przez wykorzystanie hipotetycznej procedury H sprowadzającej problem NP-zupełny π1 do problemu NP-trudnego π2, jeżeli tylko H daje sie wykonać w wielomianowym czasie. NP-trudność można zdefiniować także w kategorii języków formalnych (a nie problemów). Do klasy problemów NP-trudnych mogą należeć problemy różnego typu: decyzyjne, przeszukiwania, optymalizacyjne.

Wraz z definicjami klas problemów NP i NP-zupełnych ma to następujące konsekwencje:

Przykłady

Zobacz też

Literatura

Łącza zewnętrzne

Źródło: „haslo,Problem_NP-trudny