Offensichtlich gibt es in NP keine unentscheidbaren Probleme. Laut Wikipedia jedoch :
NP ist die Menge aller Entscheidungsprobleme, für die die Fälle, in denen die Antwort "ja" lautet, Beweise haben, die in Polynomzeit durch eine deterministische Turing-Maschine überprüfbar sind.
[...]
Ein Problem liegt nur dann in NP vor, wenn ein Verifizierer für das Problem existiert, der in Polynomzeit ausgeführt wird.
Betrachten Sie nun das folgende Problem:
Gibt es bei einer diophantinischen Gleichung ganzzahlige Lösungen?
Bei einer gegebenen Lösung ist es einfach, in polynomieller Zeit zu überprüfen, ob es sich tatsächlich um eine Lösung handelt: Geben Sie einfach die Zahlen in die Gleichung ein. Das Problem liegt also in NP. Es ist jedoch bekannt, dass die Lösung dieses Problems unentscheidbar ist !
(In ähnlicher Weise scheint es, dass das Stopp-Problem in NP liegen sollte, da die "Ja" -Lösung von "dieses Programm stoppt im N-ten Schritt" in N Schritten verifiziert werden kann.)
Offensichtlich stimmt etwas nicht mit meinem Verständnis, aber was ist es?
quelle
Antworten:
Eine äquivalente Definition von NP ist, dass es aus allen Problemen besteht, die in der Polynomzeit durch eine nicht deterministische Turing-Maschine entscheidbar (nicht nur überprüfbar) sind. Es ist bekannt, dass NTMs nicht leistungsfähiger sind als TMs in dem Sinne, dass die Menge der von NTMs entscheidbaren Probleme mit der Menge der von TMs entscheidbaren Probleme identisch ist, so dass es nach dieser Definition keine nicht entscheidbaren Probleme in NP geben kann.
Um zu demonstrieren, dass die beiden Definitionen von NP äquivalent sind, können Sie bei Vorhandensein eines deterministischen Verifizierers nachweisen, dass ein nicht deterministischer Entscheider existiert, und umgekehrt.
Angenommen, Sie haben einen deterministischen Polynomprüfer. Dann gibt es auch eine Maschine, die ein Zertifikat mit einer durch das Polynom begrenzten Länge entsprechend der für dieses Problem / diesen Prüfer gebundenen Zertifikatgröße nicht deterministisch errät und dann den Prüfer ausführt. Da das Alphabet endlich ist, ist das Zertifikat für eine bestimmte Eingabe endlich (und höchstens polynomisch in der Größe der Eingabe), und der Prüfer wird in polynomischer Zeit ausgeführt. Die Maschine hält in allen Zweigen für alle Eingaben an und läuft in deterministische) Polynomzeit. Somit gibt es für jeden deterministischen Verifizierer einen nicht deterministischen Entscheider.
Wenn Sie einen nicht deterministischen Entscheider haben, können Sie für jede akzeptierende Berechnung den Pfad der Entscheidungen aufzeichnen, die der Entscheider getroffen hat, um den Akzeptanzstatus zu erreichen. Da der Entscheider in Polynomzeit läuft, hat dieser Pfad höchstens eine polynomielle Länge. Und es ist einfach für eine deterministische TM zu bestätigen , dass ein solcher Pfad ist ein gültiger Pfad durch eine NTM auf einen Zustand annehmen, so solche Pfade bilden Zertifikate für ein Polynom Verifizierer für das Problem. Somit gibt es für jeden nicht deterministischen Entscheider einen deterministischen Verifizierer.
Somit kann jede unentscheidbar Problem kann nicht einen Prüfer haben , dass die Arbeiten auf Zertifikate von Polynom Größe (sonst die Existenz der Verifizierer die Existenz eines Entscheiders bedeuten würde).
Wenn Sie behaupten, dass ein Verifizierer für das Problem des Anhaltens vorhanden ist, handelt es sich bei dem Zertifikat, von dem Sie sprechen, um eine Codierung von (TM, I, N), wobei das TM bei Eingabe I in N Schritten angehalten wird. Dies kann in der Tat in N Schritten überprüft werden, aber die Größe des Zertifikats ist nicht polynomiell in Bezug auf die Größe der (TM, I) -Eingabe für das ursprüngliche Problem (das Halteproblem). N kann beliebig groß sein (unabhängig von der Codierung). Wenn Sie versuchen, einen solchen Prüfer in einen nicht deterministischen Entscheider umzuwandeln, erhalten Sie eine interessante Maschine. Sie sollten in der Lage sein, dies zu beweisen, wenn Sie mit (TM, I) für ein TM arbeiten, das dies nicht tutBei Eingabe anhalten I gibt es keine nicht anhaltenden Pfade durch die Maschine, aber für jeden Pfad, der zu einem anhaltenden Zustand führt, gibt es immer einen weiteren längeren Pfad (entsprechend einer Schätzung eines größeren N), und daher gibt es keine endliche Grenze seine Ausführungszeit. Dies liegt im Wesentlichen daran, dass es einen unendlichen Raum gibt, der durch die anfängliche nicht deterministische Vermutung erkundet werden muss. Das Konvertieren eines solchen NTM in ein deterministisches TM führt zu einem dieser Computer, der bei einigen Eingaben weder eine Schleife ausführt noch anhält. Tatsächlich gibt es kein NTM, das über das Problem des Anhaltens entscheiden kann, und daher gibt es keinen Verifizierer, der mit Zertifikaten mit einer begrenzten Größe arbeitet.
Ich kenne mich mit diophantinischen Gleichungen nicht so gut aus, aber es sieht so aus, als würde das gleiche Problem auch für Ihre Argumentation gelten.
Aus diesem Grund fällt es mir leichter, über die NTM-Definition von NP nachzudenken. Es gibt Prüfer für Probleme, die nicht entschieden werden können (nur nicht für Zertifikate, deren Polynomgröße an die Größe der Eingabe des ursprünglichen Problems gebunden ist). Tatsächlich kann jedes TM, das eine Sprache erkennt , aber nicht entscheidet , leicht in einen Prüfer für dieselbe Sprache umgewandelt werden.
Wenn Sie an Verifizierer denken, müssen Sie die Zeitgrenzen in Bezug auf die Größe der ursprünglichen Problemeingabe angeben, nicht in Bezug auf die Zertifikatgröße. Sie können die Größe von Zertifikaten beliebig erhöhen, so dass der Prüfer in Bezug auf die Größe des Zertifikats in einer kürzeren Zeit ausgeführt wird.
quelle
Ich denke, Sie haben falsch verstanden, was es bedeutet, eine diophantische Gleichung und Matiyasevichs Unentscheidbarkeitssatz zu lösen .
Matiyasevich bewies , dass für jeden RE Satz befindet sich eine diophentine Gleichung f ( n , x 1 , . . . , X k ) , so dass n ∈ S nur dann , wenn es vorhanden ist ganzzahligen Koeffizienten x 1 , .., x k , so dass f ( n , x 1 , . . . , x k ) = 0S f( n ; x1, . . . , xk) n ∈ S x1 xk f( n ; x1, . . . , xk) = 0 . Insbesondere ist das Halteproblem eine typische RE-Menge, und daher ist das Lösen des obigen Problems nicht zu entscheiden.
Beachten Sie, dass sind nicht in der Größe beschränkt und können im Allgemeinen beliebig groß sein, so dass in diesem Problem kein Zertifikat mit "polynomialer Größe" erkennbar ist.x1, . . . xk
Zu erweitern: die ganzen Zahlen müssen binär geschrieben werden, um ein Zertifikat zu sein. Da diese Ganzzahlen beliebig groß sein können (unabhängig von n ), haben wir festgestellt, dass das Zertifikat in log n oder wichtiger, nicht polynomiell ist und nicht an eine berechenbare Funktion gebunden ist.x1, . . . , xk n Logn
Jedes Problem in jedoch ein Zertifikat, das durch ein Polynom p ( N ) begrenzt ist (wobei N die Größe der Eingabe ist). So N P Fragen sind triviale entscheidbar, da man alle möglichen Bitkette bis Länge aufzählen kann p ( N ) , und wenn keiner von ihnen die Eingabe, return false zertifizieren. Wenn dies der Fall ist, wird true zurückgegeben.N P p ( N) N N P p ( N)
quelle
Sie sollten bis zur formalen Definition gescrollt haben :
Das heißt, ein Prüfer muss auch an Nichtlösungen arbeiten. Irgendwo dort drin scheitern unentscheidbare Probleme (in Ihrem Fall ist die Längenbeschränkung von Lösungskandidaten wahrscheinlich nicht erfüllt), wie aus der (im Sinne der Berechenbarkeit) klareren Definition hervorgeht :
quelle
Ich versuche mehr Details für meine obige Antwort anzugeben.
Tatsächlich ist diese Frage ein Dilemma.
Einerseits ist das Diophantine Equation Problem (DEP) nach Matiyesevichs Theorem unentscheidbar (Matiyesevichs Theorem beantwortet Hilberts zehntes Problem, und Turing's Halting-Problem beantwortet die Verallgemeinerung von Hilberts zehntem Problem, dh das Entscheidungsproblem); Andererseits gibt es in NP kein unentscheidbares Problem gemäß der Definition von NP (entscheidbar und überprüfbar).
Das heißt, entweder DEP ist nicht in NP oder DEP ist in NP. Beide betreffen die Definition von NP.
Wenn DEP nicht in NP ist, bedeutet dies, dass Probleme in NP (NDTM = NonDeterminstic Turing Machine) entscheidbar und überprüfbar sind, dh, wir akzeptieren P = NP (NDTM).
Wenn DEP in NP ist, dann enthält NP (NTM = Non Turing Machine) entscheidbare und unentscheidbare, offensichtlich entscheidbare ist überprüfbar, daher ist das Problem, ob nicht entscheidbare überprüfbar ist? Tatsächlich ist das das berühmte Problem von P gegen NP. Unentscheidbar ist sicherlich nicht überprüfbar, daher entspricht NP NTM (Non Turing Machine) anstelle von NDTM (NonDeterminstic Turing Machine).
Unter der Prämisse, dass DEP in NP (NTM) vorkommt, glauben wir, dass NP (NTM) ein nicht deterministisches Problem ist (unentscheidbar), und die derzeitige Definition von NP (NDTM, entscheidbar und überprüfbar) hat diesen Nicht-Determinismus (unentscheidbar) verloren Wir denken, dass es in Frage gestellt werden muss.
quelle
Wir glauben, dass das Dilemma, das Sie in Bezug auf die diophantinische Gleichung aufgeworfen haben, sehr bedeutsam ist, da es etwas Auffälliges in der aktuellen Definition von NP aufdeckt: - Ein Problem wird in NP angegeben, wenn und nur wenn es einen Prüfer für das Problem gibt, das im Polynom ausgeführt wird Zeit.
Bezüglich der Definition von NP kann auf die 60er Jahre zurückgegriffen werden, in denen eine große Anzahl von anwendbaren und signifikanten Problemen entdeckt wurde, für die keine Polynomalgorithmen gefunden werden konnten, um diese Probleme anhand der in der Polynomzeit lösbaren Probleme zu erkennen (P) wurde das Konzept von NP herausgestellt.
Die derzeitige Definition von NP, die als in Polynomzeit überprüfbar definiert ist, verwechselt NP jedoch mit P, da ein Problem in P auch in Polynomzeit überprüfbar ist. Mit anderen Worten, eine solche Definition führt zum Verlust des Wesens von NP, «Nichtdeterminismus». Infolgedessen führt dies zu schwerwiegenden Unklarheiten beim Verständnis von NP, beispielsweise Ihrem Dilemma: Das Problem der diophantinischen Gleichung ist von Natur aus nicht zu entscheiden. aber nach der Definition von NP ist es entscheidend,…
Unserer Meinung nach liegt die Schwierigkeit bei der Lösung von «P versus NP» zunächst auf der Erkenntnisebene. Wenn wir also einen Einblick in «P versus NP» erhalten möchten, müssen wir uns zunächst fragen: Was ist NP?
quelle