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.