Jak zauważył Jukka, odpowiedź brzmi trywialnie nie na wszystkie nierozstrzygalne problemy.
Bardziej rozsądne pytanie brzmiałoby: czy każdy problem, który jest kompletny dla klasy języków z rekurencyjnie wymiennymi, może zostać uzupełniony NP w prosty sposób? Nie jestem pewien, czy jest to ogólnie prawdą, ale w szczególnych przypadkach, o których wspominasz w swoim pytaniu (Ograniczanie i kafelkowanie) problemy te są kompletne dla RE nawet przy „specjalnych” wielomianowych skróceniach czasu. (W tej odpowiedzi pozostawiam „specjalne”, w większości niezdefiniowane, ale potrzebne właściwości można z niego opracować).
Więc jeśli zadamy jeszcze bardziej rozsądne pytanie: czy każdy problem, który jest kompletny (w ramach specjalnych redukcji czasu przestoju) dla klasy języków z rekurencyjnie wymiennymi, może zostać uzupełniony NP w prosty sposób? , tutaj odpowiedź brzmi tak . Ponosi żadnej RE uzupełniania problemu , zdefiniowanym w odniesieniu do maszyny Turingowi M A , które ma parę wejść ( x , y ) , takie, że x ∈ AAMA(x,y) . Zakładamy, że istnieje wielomian skrócenie czasu od powstrzymania problem do A . Zdefiniuj „Bounded-A”, aby był zbiorem par ( x , 1 t ) tak, że y ma długość co najwyżej t, tak że M A ( x , y ) zatrzymuje się w ciągu t kroków.x∈A⟺(∃y)[MA(x,y) halts]A(x,1t)ytMA(x,y)t
Wyraźnie "ograniczony-A" jest . Jest to także N P -Complete ponieważ możemy zmniejszyć N P -Complete ograniczone do powstrzymania problem ograniczony-A w czasie wielomianowym (zauważ, że tutaj potrzebne są specjalne właściwości na wielomianu skrócenie czasu badania , aby upewnić się, że przenosi się do powstrzymania jak ograniczone- cóż: tzn. musisz być w stanie efektywnie obliczyć górną granicę t ′ na jak długo ma działać M A ( R ( M , x ) , y ) , zakładając, że M ( x ) zatrzymuje się w ciąguNPNPNPRt′MA(R(M,x),y)M(x) kroków.)t
NP