Dlaczego NP jest w EXPTIME?

11

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.

tparker
źródło
W rzeczywistości NP PSPACE.
Witamy w informatyce! Czego próbowałeś? Gdzie utknąłeś? Nie chcemy po prostu wykonywać dla ciebie pracy (domowej); chcemy, abyście zrozumieli. Ponieważ jednak nie wiemy, na czym polega Twój problem, nie możemy zacząć pomagać. Zobacz tutaj odpowiednią dyskusję. Jeśli nie jesteś pewien, jak poprawić swoje pytanie, dlaczego nie zapytać na czacie informatyki ? Możesz również sprawdzić nasze pytania referencyjne .
Raphael

Odpowiedzi:

17

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

  • istnieje wielomian taki, że dla wszystkich ( x , y ) R , | y | p ( | x | ) ,p(x,y)R|y|p(|x|)
  • biorąc pod uwagę ciąg , możemy wyznaczyć wielomian w czasie w | x # y | czy ( x , y ) R , ix#y|x#y|(x,y)R
  • .L.={x(x,y)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 xL.|Σ|p(n)y(x,y)R2)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)pnM.p(|x|)xL.M.kM.  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.kkp(|x|)=2)O(p(|x|))x

David Richerby
źródło
2
Ściśle mówiąc, wielomian drugiego potrzeby pocisk wybiera się raz na zawsze, że nie może być zależny od i y . ;)xy
Martin Berger
Jaka jest dokładnie definicja EXPTIME? Pamiętam to jako , ale twoja odpowiedź wydaje się zakładać O ( k p ( | x | ) ) . Nie jest oczywiste, że można uwzględnić dodatkowy wielomian bez zmieniania go w inną klasę złożoności. O(k|x|)O(kp(|x|))
kasperd
3
@kasperd Według Wikipedii, EXPTIME definiuje się jako problemy decyzyjne, które można rozwiązać w . O(kp(|x|))
tparker 22.04.16