Czy wymagane jest, aby problem trudny do przeprowadzenia w NP był obliczalny?
Nie sądzę, ale nie jestem pewien.
źródło
Czy wymagane jest, aby problem trudny do przeprowadzenia w NP był obliczalny?
Nie sądzę, ale nie jestem pewien.
Nie, -hard problem nie musi być obliczalny. Definicja jest dość kompletna: problem jest trudny, jeśli ten problem mający rozwiązanie wieloczasowe implikuje, że każdy problem w ma rozwiązanie wieloczasowe (to znaczy, redukcja do istnieje dla każdego problemu w .).
Trudne do obliczenia problemy stają się wtedy wyjątkowo trudne: załóżmy, że moglibyśmy rozwiązać jeden problem w czasie wielomianowym. Następnie wykorzystujemy dowód, że nie można go obliczyć, aby wywnioskować, że jest on zarówno obliczalny, jak i niemożliwy do obliczenia - sprzeczność. Z tego fałszu, możemy czerpać wszystko, a mianowicie, że istnieje wielomian algorytm czas na cokolwiek problemem mamy do czynienia.
Na przykład, rozważmy problemu stopu . Możemy zredukować dowolny język A do H w następujący sposób, zakładając, że mamy sprawdzian politytime f ( s , c ), który sprawdza, czy c jest certyfikat :
W ten sposób, za pomocą jednego połączenia do algorytmu poli czasu rozwiązywaniu problemu stopu, można rozwiązać każdy problem w czasie wielomianowym.
Taka redukcja nie jest przydatna, ponieważ mówi tylko, czy „jeśli fałsz, to coś”. Wiemy już, że nie ma algorytmu czasu policy dla problemów nieobliczalnych.
Wydaje się, że w tej społeczności istnieje znaczne zamieszanie w związku z tym pytaniem. Dam szczegółową odpowiedź w nadziei na oczyszczenie wody i wyjaśnienie związku między obliczalnością a twardością NP.
Po pierwsze, uważam, że jasne i wyraźne określenie różnych definicji rozwiąże wiele zamieszania.
Dzięki powyższym definicjom możemy natychmiast wyjaśnić, co moim zdaniem może być głównym zamieszaniem w twoim pytaniu: nic w definicjach problemu decyzyjnego, redukcji lub twardości NP nie wymaga obliczeń problemów decyzyjnych. Definicje mają doskonały sens, gdy myśli się o problemach decyzyjnych jako o dowolnych zestawach ciągów, które mogą być naprawdę bardzo nieprzyjemne.
To pozostawia dwa pytania na stole:
Odpowiedź na pytanie 1 jest łatwiejsza. Istnieją dwa szczególnie ważne sposoby znalezienia problemów decyzyjnych, które nie są obliczalne, które są trudne dla NP. Pierwszym z nich jest powstrzymanie problem: zatrzymanie problemem, , ma tę właściwość, że każda obliczalna problem decyzyjny jest wielomian czasie sprowadzić do H . Ponieważ problemy NP są obliczalne, każdy problem NP można wielomianowo zredukować do H , więc H jest trudny do NP.H. H. H. H
Innym ważnym sposobem na zbudowanie trudnego do obliczenia problemu NP-trudnego jest zaobserwowanie, że możemy połączyć dowolny znany problem trudny dla NP z dowolnym znanym problemem, który nie jest obliczalny. Niech będzie NP-twarde, a B nie będzie obliczalne. Utwórz problem decyzyjny A ⊕ B w następujący sposób: A ⊕ B zawiera te ciągi znaków w postaci „0, po których następuje ciąg w A ” i ciągi w postaci „1, po których następuje ciąg w B ”. A ⊕ B jest trudne dla NP, ponieważ możemy zmienić dowolną redukcję (dowolnego problemu) na A w redukcję na A ⊕ BA B A⊕B A⊕B A B A⊕B A A⊕B : po prostu popraw algorytm, aby wyświetlał dodatkowe „0” na początku łańcucha wyjściowego. nie jest obliczalny, ponieważ obliczenie A ⊕ B wymaga podjęcia decyzji, które ciągi rozpoczynające się od „1” znajdują się w zestawie; jest to niemożliwe, ponieważ B jest niepoliczalny.A⊕B A⊕B B
Pytanie 2 jest znacznie trudniejsze, ale w rzeczywistości występują problemy decyzyjne, które nie są trudne do obliczenia dla NP (przy założeniu P NP). Dobra odpowiedź Yuvala wyraźnie konstruuje taki problem decyzyjny. (Dla dowolnych teoretyków obliczeń w pokoju, każdy „Cohen Π 0 1≠ Π01 obliczeń -generic” również załatwi sprawę.) Podzielę się, dlaczego intuicja, że „problemy z NP są trudne, problemy niepoliczalne są trudniejsze " jest źle.
Zarówno twardość NP, jak i brak możliwości obliczeń mówią, że problem jest „trudny” w bardzo ogólnym sensie, ale są one bardzo różne i nie powinny być skupiane razem jako ten sam rodzaj zjawiska. Konkretnie, NP-twardość jest „dodatni” własność: NP-trudnym problemem jest ciężko w tym sensie, że, biorąc pod uwagę dostęp do ściągawki arkuszu A , to może rozwiązać twardy klasę problemówA A . Z drugiej strony, niemożność obliczenia jest właściwością „negatywną”: problem niemożliwy do obliczenia trudny w tym sensie, że nie można rozwiązać problemu A przy użyciu danej klasy zasobówA A .
(Nawiasem mówiąc, „zmuszanie” jest techniką używaną do wytworzenia „Cohen generic”, o którym wspomniałem. Aby być bardzo nieokreślonym, wymuszanie jest ogólnym sposobem tworzenia rzeczy, które są „ogólne”, ponieważ brak dodatnich właściwości i każda ujemna właściwość. Dlatego wymuszanie może bezpośrednio spowodować problem, który nie jest ani trudny do obliczenia, ani trudny do NP).Π01
źródło
Nie. NP-Hard oznacza, że jest równie trudny lub trudniejszy niż najtrudniejsze problemy z NP. Intuicyjnie, ponieważ nie można go obliczyć, będzie to o wiele trudniejsze niż NP.
Wikipedia:
Wszyscy wiedzą, że nie można tego obliczyć
źródło
problem()
możemy wywołać żadnej funkcji.Dla kompletności udowodnijmy następujące twierdzenie:
Jeśli P = NP, to dowolny nietrywialny język (inny niż∅,{0,1}∗ ) jest NP-trudny (ćwiczenie), a w szczególności każdy niepoliczalny język jest NP-trudny.
Załóżmy teraz, że P NP. Niech T i być pewne wyliczenie wszystkich maszyn Turinga. Wymagany język L zbudujemy etapami. Na każdym etapie będziemy trzymać { 0 , 1 , ? } kolorowanie { 0 , 1 } ∗, które oznaczamy również przez L ; tutaj 0 oznacza, że zdecydowaliśmy, że łańcuch nie jest w L , 1 oznacza, że zdecydowaliśmy, że łańcuch jest w L , a ?≠ Ti L {0,1,?} {0,1}∗ L 0 L 1 L ? oznacza, że jeszcze nie zdecydowaliśmy. Czy wszystkie skończone struny będą kolorowe .?
W kroku , myślimy o T i jako maszyny, które albo akceptuje swoje wejście, odrzuca go, czy nigdy nie zatrzymuje. Jeśli T i nie zawsze się zatrzymuje, nic nie robimy. Jeśli T i zawsze zatrzymuje się, to znajdujemy ciąg x taki, że L ( x ) = ? i ustaw L ( x ) : = 0, jeśli T i ( x ) akceptuje i L ( x ) : = 1, jeśli i2i Ti Ti Ti x L(x)=? L(x):=0 Ti(x) L(x):=1 Ti(x) odrzuca.
W etapie , uważamy , T i za maszynę obliczeniową (ewentualnie) funkcję częściowo na jego wejściu. Jeśli T i nie jest całkowite lub jeśli jest całkowite, ale nie działa w czasie wielomianowym, lub jeśli jest całkowite, ale jego zasięg jest ograniczony, nic nie robimy. Jeśli T i jest całkowite, działa w czasie wielomianowym i ma nieskończony zakres, to znajdujemy ciąg x taki, że L ( T i ( x ) ) = ? . Jeśli x ∈ S A T (to znaczy, jeśli x2i+1 Ti Ti Ti x L(Ti(x))=? x∈SAT x koduje zadowalającą CNF), a następnie ustawiamy , a w przeciwnym razie ustawiamy L ( x ) : = 1L(x):=0 L(x):=1 .
Po nieskończenie wielu kroków, otrzymujemy kolorowanie { 0 , 1 } ∗{0,1,?} {0,1}∗ które uzupełniamy do rzeczywistego języka w dowolny sposób.
Wynikowy język nie jest obliczalny: krok 2 i zapewnia, że T i go nie oblicza. To również nie jest trudne NP, ale tutaj rozumowanie jest nieco bardziej delikatne. Załóżmy, że T i jest obniżenie polytime z So do L . Jeśli zakres T i jest skończony, wówczas możemy przekształcić T i w maszynę politytime decydującą o SAT, wymieniając tabelę prawdy L na zakresie T i . Jest to niemożliwe przy założeniu P ≠ NP. Zatem T i ma nieskończony zakres, ale następnie krok 2 iL 2i Ti Ti L Ti Ti L Ti ≠ Ti wyklucza jego bycie redukcja z SAT do L .2i+1 L
źródło
Język jest NP-trudne, jeśli dla każdego L ' ∈ N P mamy, że L ' jest wielomian czasie sprowadzić do L . Problem akceptacji niedeterministycznych maszyn TuringaL L′∈NP L′ L
jest nierozstrzygalny i trudny do NP. Do rozważenia . O L ' decyduje jakaś niedeterministyczna maszyna Turinga M ' o wielomianowej złożoności czasowej. Wieloczynnikową redukcję czasu f od L ' do A N T M podano przezL′∈NP L′ M′ f L′ ANTM
źródło
Myślę, że to, co powoduje, że ludzie myślą, że nie ma trudnego do obliczenia problemu z NP-twardością, polega na tym, że nie rozumieją, że twardość NP jest dolną granicą twardości problemu, a nie górną granicą ich twardości, jak P lub NP.
Język L będący NP-trudny oznacza, że jest ponad językiem w NP i to znaczy. Teraz, jeśli to rozumiesz, musisz pokazać, że istnieje arbitralny trudniejszy problem.
źródło