Unbeweisbares Verhalten einer Turingmaschine

Der Wikipedia-Artikel zum P-NP-Problem [1] sagt, dass es drei mögliche Antworten auf das P-NP-Problem gibt:

  • P = N P
  • P N P
  • P = N P ist unabhängig von ZFC

Die dritte mögliche Lösung scheint sehr interessant zu sein. Angenommen, es stimmt, es könnte noch eine Turing-Maschine geben, die zB löst S A T in polynomieller Zeit, aber es kann nicht bewiesen werden. Angenommen, jemand hat diese Turing-Maschine gefunden.

Es sollte niemals möglich sein zu beweisen, dass diese Turing-Maschine löst S A T in polynomieller Zeit (weil wir "wissen" P = N P ist unabhängig von ZFC), aber die Maschine macht es.

Diese Situation klingt für mich sehr seltsam: Jemand hat eine Turingmaschine, aber es ist nicht möglich zu beweisen, dass sie ein bestimmtes Problem löst ( S A T ). Genauer gesagt: Wenn das jemand bewiesen hat P = N P unabhängig von ZFC ist, dann gibt es einen Beweis, der besagt, dass es nicht möglich ist, für jede Turing-Maschine zu beweisen, dass sie gelöst ist P = N P in polynomieller Zeit. Auch wenn jemand diese Turingmaschine gefunden hat.

Habe ich das richtig verstanden? Oder habe ich etwas falsch verstanden? Weil es für mich sehr seltsam klingt, dass jemand einen Algorithmus hat und bewiesen werden kann, dass es unmöglich ist zu beweisen, was genau dieser Algorithmus tut.

Mit freundlichen Grüßen

Kevin

[1] https://en.wikipedia.org/wiki/P_versus_NP_problem#Results_about_difficulty_of_proof

Antworten (3)

Ja, Ihr Verständnis ist grundsätzlich richtig - dies ist (soweit wir wissen) ein mögliches Ergebnis. Das Problem ist, dass es Modelle von ZFC geben kann, in denen es "nicht standardmäßige" natürliche Zahlen gibt. Diese nicht standardmäßigen Zahlen entsprechen nicht standardmäßigen Instanzen von SAT, die der Algorithmus a kann möglicherweise nicht gelöst werden, obwohl es alle tatsächlichen Instanzen von SAT löst.

Es stellt sich heraus, dass eine vom Standard abweichende Laufzeit kein Problem darstellt - wenn a läuft in polynomieller Zeit P , betrachten Sie den Algorithmus a ' was durchführt a für P - viele Schritte, und dann - wenn es noch nicht angehalten hat - anhält und 1 ausgibt (sagen wir). Dann a ' löst alle tatsächlichen Instanzen von SAT und sogar nicht standardmäßig a ' läuft in polynomieller Zeit. Es geht also wirklich um nicht standardmäßige Instanzen von SAT.

Dies ist analog zu Gödels Unvollständigkeitssatz : obwohl es keine tatsächliche Codierung natürlicher Zahlen gibt, für die ein Beweis vorliegt 0 = 1 Aus den ZFC-Axiomen (wir hoffen: P) wird es ein Modell von ZFC geben, das einige nicht standardmäßige natürliche Zahlen enthält N was (das Modell denkt) kodiert einen Beweis von 0 = 1 aus Z F C - das heißt, ein "nicht standardmäßiger Beweis".

Es kann hilfreich sein, verschiedene Möglichkeiten zu unterscheiden P = N P könnte wahr sein, aber nicht beweisbar wahr. Damit P = N P , muss es eine Turing-Maschine geben T das löst SAT in polynomieller Zeit. Aber:

  1. Es könnte unmöglich sein zu beweisen, dass es immer anhält.
  2. Es könnte möglich sein zu beweisen, dass es immer anhält, aber unmöglich zu beweisen, dass es immer ein korrektes Ergebnis liefert.
  3. Es könnte möglich sein zu beweisen, dass es immer anhält, aber unmöglich zu beweisen, dass es in polynomieller Zeit anhält.

Das sollte nicht so seltsam sein. Viele ungelöste mathematische Probleme lassen sich in Form von Fragen zu einer Turingmaschine formulieren. Beispielsweise ist die Collatz-Vermutung genau dann wahr, wenn eine bestimmte Turing-Maschine immer anhält.

Besonders vielen Dank für das gute Beispiel mit der Collatz-Vermutung.
Beachten Sie, dass die erste und dritte Möglichkeit vermeidbar sind - wir können immer ersetzen T mit einer "abgeschnittenen" Version T ' , die sich genauso verhält T funktioniert auf allen Standardeingängen und ist nachweislich polytimer. Das Problem zeigt, dass diese neue Maschine T ' antwortet richtig.
Ja. Aber wenn dir jemand eine bestimmte Turing-Maschine gibt T das passiert, um SAT in polynomieller Zeit zu lösen, und Sie versuchen, dies zu beweisen, der Knackpunkt könnte einer von (1), (2) und (3) sein (oder vielleicht sowohl (2) als auch (3)).

Es gibt eine Möglichkeit, dass die Lösung nicht konstruktiv ist: Sie haben zB ein Universum, in dem keine Turing-Maschine SAT in Polynomzeit löst, und Sie haben ein anderes Universum, in dem es unmöglich ist, dass alle Turing-Maschinen SAT nicht in Polynomzeit lösen. Letzteres ist konstruktiv nicht gleichbedeutend mit der Suche nach einer Turing-Maschine, die SAT in Polynomialzeit löst; Du hast noch nie einen gefunden.

Dies kann ein wenig umformuliert werden. Der Satz von Ladner besagt, dass wenn P N P dann gibt es eine NP-Zwischensprache (eine Sprache heißt NP-Zwischensprache, wenn sie in N P P und ist nicht NP-vollständig). Daher ist es theoretisch möglich, das Unabhängigkeitsergebnis wie folgt zu beweisen: Konstruieren Sie ein Universum, in dem es keine NP-Zwischensprache gibt (so P = N P ) und eine andere konstruieren, in der es unmöglich ist, dass alle Sprachen nicht NP-intermediär sind (so P N P ). Auch hier würde keine Turing-Maschine gefunden werden.

(In Noahs Antwort scheint es, dass, wenn es so etwas gibt a , der Algorithmus, der alle tatsächlichen Instanzen von SAT in polynomieller Zeit löst, dann sollten wir akzeptieren P = N P als eine von ZFC unabhängige Wahrheit . Ich bin mir nicht sicher, ob irgendein Algorithmus gegeben ist a , der Ausdruck " a löst SAT in polynomieller Zeit" ist Π 1 (in PA/ZFC) oder nicht. Wenn ja, dann ist ein bestimmter Algorithmus gegeben a , wann immer wir das wissen ϕ := " a löst SAT in polynomieller Zeit" unabhängig von PA/ZFC ist, dann können wir das tatsächlich schlussfolgern ϕ ist wahr , da sich PA/ZFC als wahr erweist Σ 1 -Sätze, und wenn ¬ ϕ wahr wären, würde PA/ZFC es beweisen.)