Problem NP-trudny

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

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 \pi_2 jest NP-trudny jeżeli pewien problem NP-zupełny \pi_1 jest do niego redukowalny wielomianową transformacją Turinga.

Innymi słowy, problem NP-zupełny \pi_1 można rozwiązać w wielomianowym czasie algorytmem rozwiązującym problem NP-trudny \pi_2, przez wykorzystanie hipotetycznej procedury  H sprowadzającej problem NP-zupełny \pi_1 do problemu NP-trudnego \pi_2, jeżeli tylko  H daje się 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:

  • problem optymalizacyjny, którego wersja decyzyjna jest NP-zupełna jest problemem NP-trudnym;
  • NP-trudny problem \pi_2 jest co najmniej tak trudny jak problem \pi_1;
  • ponieważ \pi_1 jest problemem NP-zupełnym dlatego należy on do klasy problemów najtrudniejszych w NP, dlatego NP-trudny problem \pi_2 jest co najmniej tak trudny jak cała klasa NP;
  • ponieważ wszystkie problemy NP-zupełne transformują się wzajemnie do siebie (zwykłą) transformacją wielomianową (nie Turinga) to również wszystkie problemy NP-zupełne można rozwiązać przez redukcję do NP-trudnego problemu \pi_2;
  • ponadto, jeśli P \neq NP, to problemy NP-trudne nie mają rozwiązań w czasie wielomianowym, natomiast rozstrzygnięcie P = NP nie przesądza o wielomianowej rozwiązywalności wszystkich problemów NP-trudnych;

Przykłady[edytuj | edytuj kod]

Zobacz też[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

  • M.R.Garey, D.S. Johnson, Computers and Intractability: A guide to the Theory of NP-Completeness, W.H.Freeman and Co., San Francisco, 1979.
  • Christos H. Papadimitriou, Złożoność obliczeniowa, WNT, 2002.
  • T. H. Cormen, C. E. Leiserson, C. Stein i R. L. Rivest, Introduction to Algorithms, The MIT Press/McGraw-Hill Company 1990 (wydanie polskie: Wprowadzenie do algorytmów, WNT, 2004).
  • M. Kubale, Łagodne wprowadzenie do analizy algorytmów, Wydawnictwo Politechniki Gdańskiej, 2004.

Linki zewnętrzne[edytuj | edytuj kod]