Czy istnieje prosty sposób, aby dowiedzieć się, dlaczego NP jest w WYGODZIE? Wydaje mi się a priori możliwe, że może istnieć problem, który wymaga czasu nadwykładniczego do rozwiązania, ale którego rozwiązanie można zweryfikować w czasie wielomianowym.
11
Odpowiedzi:
Każdy problem związany z NP występuje w trybie WYGODNY, ponieważ można użyć czasu wykładniczego do wypróbowania wszystkich możliwych certyfikatów lub do wyliczenia wszystkich możliwych ścieżek obliczeniowych maszyny niedeterministycznej.
Bardziej formalnie istnieją dwie główne definicje NP . Jednym z nich jest to, że język jest w NP iff istnieje relacja R taka, żeL. R
Więc jeśli mamy czas wykładniczy i chcemy wiedzieć, czy , możemy po prostu wypróbować wszystkie | Σ | p ( n ) możliwe wartości dla ~ y i sprawdź, czy ( x , y ) ∈ R dla którejkolwiek z nich. To zajmuje czas 2 O ( p ( n ) ) , więc L ∈x ∈ L. | Σ |p ( n ) y ( x , y) ∈ R 2)O ( p ( n ) ) L ∈ EXPTIME .
Alternatywnie możemy zdefiniować NP jako zbiór języków ustalany przez niedeterministyczne wielomianowe maszyny Turinga. W takim przypadku, załóżmy, że o decyduje maszyna M w czasie p ( n ) dla jakiegoś wielomianu p , dla danych wejściowych o długości n . Następnie M sprawia, że co najwyżej P ( | x | ) niedeterministycznych wyborów przy ustalaniu, czy x ∈ L . Badając funkcję przejścia M , możemy znaleźć stałą k taką, że M ma co najwyżejL. M. p ( n ) p n M. p ( | x | ) x ∈ L. M. k M. niedeterministycznych wyborów na każdym etapie obliczeń (niezależnie od danych wejściowych), więc ma co najwyżej k p ( | x | ) = 2 O ( p ( | x | ) ) różnych sekwencji niedeterministycznych wyborów podczas odczytu wejścia x . Biorąc pod uwagę wykładniczy czas, możemy symulować każdą z tych możliwości jedna po drugiej i sprawdzać, czy którakolwiek z nich akceptuje.k kp ( | x | )= 2O ( p ( | x | ) ) x
źródło