Wäre es schwieriger, P ≠ NP zu beweisen, als P = NP zu beweisen?


20

Betrachten Sie zwei Möglichkeiten für das P vs. NP-Problem: P = NP und P NP.

Sei Q eines der bekannten NP-harten Probleme. Um P = NP zu beweisen, müssen wir einen einzelnen Polynomzeitalgorithmus A für Q entwerfen und beweisen, dass A Q korrekt löst.

Um P NP zu beweisen , müssen wir zeigen, dass kein Polynomzeitalgorithmus Q löst. Mit anderen Worten, wir müssen alle Polynomzeitalgorithmen ausschließen.

Ich habe Leute sagen hören, dass dies die zweite schwierige Aufgabe erschwert (vorausgesetzt, es ist wirklich wahr).

Gibt es einen Grund zu der Annahme, dass der Nachweis von P = NP (unter der Annahme, dass P = NP) einfacher ist als der Nachweis von P NP (unter der Annahme, dass P NP)?


30
Diese Frage ist schlecht gestellt. Da nur eine der Aussagen wahr sein kann, ist es unmöglich, eine zu beweisen. Der andere kann möglich sein , zu beweisen, und wenn ja , würde es einfacher sein , zu beweisen , als die falschen. Ergo, ich habe keine Ahnung, welche Art von Antwort Sie suchen. Gemeinschaftsstimmen, bitte! Kann das überhaupt beantwortet werden?
Raphael

10
@ Raffael Ich bin nicht einverstanden. Sie könnten die Frage von OP folgendermaßen interpretieren: "Wenn P = NP wahr wäre, wäre es einfacher zu beweisen, als P ≠ NP zu beweisen, wenn P ≠ NP wahr wäre?" Ich denke nicht, dass OP ernsthaft beabsichtigte, es als Vorschlag zu interpretieren, dass beides wahr sein muss.
Die Anathema

3
FWIW, es scheint mir, dass a) @ TheAnathema's Interpretation der Frage korrekt ist und b) es eine aussagekräftige Frage ist. Mit anderen Worten: Wenn P = NP ist und ein Beweis gefunden wird, wird dieser Beweis wahrscheinlich in Form eines Polynomzeitalgorithmus für ein NP-vollständiges Problem vorliegen. Auf der anderen Seite, wenn wir mit der Annahme beginnen, dass P ≠ NP, welche Arten von Techniken könnten wir verwenden, um einen Beweis zu finden, und welche Form würde ein solcher Beweis möglicherweise annehmen?
JohannesD


Kommentare sind nicht für eine längere Diskussion gedacht. Diese Unterhaltung wurde in den Chat verschoben .
Gilles 'SO - hör auf böse zu sein'

Antworten:


25

Wie Raphael erklärt, ist diese Frage schlecht gestellt, da höchstens eines von P = NP und P ≠ NP überhaupt nachweisbar sein sollte. Eine ähnliche Frage stellt sich jedoch in der theoretischen Informatik unter mehreren Gesichtspunkten, von denen das auffälligste auf dem Gebiet der Approximationsalgorithmen liegt .

Angesichts eines NP-harten Optimierungsproblems (z. B. Maximierung) können wir fragen, wie gut wir es approximieren können. Das Beweisen einer oberen Grenze für die mögliche Näherung ist ähnlich wie P = NP, während das Beweisen einer unteren Grenze für die mögliche Näherung ähnlich wie P ≠ NP ist. Ersteres ist viel einfacher als Letzteres. Um eine Obergrenze zu beweisen, muss man lediglich einen Näherungsalgorithmus ausarbeiten und analysieren. Im Gegensatz dazu sind alle bekannten Untergrenzen bedingt: Sie sind nur dann gültig, wenn P ≠ NP ist (wenn P = NP, wäre jedes NP-harte Optimierungsproblem lösbar). Um diese Untergrenzen zu beweisen, zeigen wir, dass wir, wenn wir das Problem zu gut approximieren könnten, einen polynomialen Zeitalgorithmus für ein NP-hartes Problem erhalten würden. In der Regel geschieht dies über die komplizierten technischen Mechanismen des PCP-Theorems. Dieses als Approximationshärte bekannte Gebiet kann nur von Fachleuten angegangen werden und ist technisch anspruchsvoller als die meisten Approximationsalgorithmen. Zumindest in diesem Fall ist P = NP in der Tat einfacher als P ≠ NP.


14
Sie könnten die Frage von OP folgendermaßen interpretieren: "Wenn P = NP wahr wäre, wäre es einfacher zu beweisen, als P ≠ NP zu beweisen, wenn P ≠ NP wahr wäre?" Ich denke nicht, dass OP ernsthaft beabsichtigt hat, dass beides wahr ist.
Die Anathema

6
@TheAnathema Ich denke, man muss die Frage so interpretieren. Aber es ist immer noch ziemlich schlecht gestellt, weil eine der Optionen notwendigerweise kontrafaktisch ist. Wie kann man das kontrafaktisch mit der Schwierigkeit vergleichen, etwas zu beweisen, was wahr ist?
David Richerby

@David, die Behauptung, dass es schwierig ist, P NP im Vergleich zu P = NP zu beweisen, habe ich mehrfach von Experten. Die Frage, ob es sich um eine begründete Behauptung handelt, ist eine berechtigte Frage. Die Bewertung der Schwierigkeit kontrafaktischer Situationen (wenn bekannt ist, dass dies nicht der Fall ist) ist tatsächlich üblich. Nehmen wir zum Beispiel jemanden, der nach den Schwierigkeiten fragt, P NP zu beweisen . Wenn P = NP ist, ist es kontrafaktisch. =
Kaveh

9

Wir haben die Möglichkeit eines einfachen Beweises für P = NP nicht ausgeschlossen. Wenn jemand morgen einen Algorithmus findet, der ein NP-vollständiges Problem in P-Zeit löst, ändert sich die Welt.

Auf der anderen Seite, wir haben die Möglichkeit, einen einfachen Beweis , dass P! = NP ausgeschlossen. Unsere typischen Beweisverfahren zum Nachweis von zwei unterschiedlichen Komplexitätsklassen haben sich formal als unzureichend erwiesen. Drei solche Techniken sind bekannt als "Arithmetisierung", "natürliche Beweise" und die Kategorie von Beweisen, die "Relativieren" genannt werden (solche, denen es egal ist, welche Orakel verwendet werden). Es kann bewiesen werden, dass eine Beweistechnik, die in eine der drei Kategorien fällt, nicht P! = NP beweisen kann.

Tatsächlich gibt es starke Beweise dafür, dass der Nachweis von P! = NP nicht nur die neuartige Anwendung bekannter Beweistechniken erfordert (neue Techniken mit unterschiedlichen Eigenschaften).


Nun könnte sich herausstellen, dass P = NP ist, während es in P keinen einfach zu überprüfenden Algorithmus gibt, der ein NP-vollständiges Problem löst, und dass neue Beweisverfahren erforderlich sind, um P = NP zu beweisen. (Wenn P = NP, kennen wir bereits Algorithmen, die technisch in P sind und NP-schwierige Probleme auf amüsante Weise lösen. Sie sind nicht praktikabel, da ihr konstanter Faktor groß ist.)

Grundsätzlich wissen wir viel darüber, was wir nicht verwenden können, um P! = NP zu beweisen, während wir anscheinend wenig darüber wissen, was wir nicht verwenden können, um P = NP zu beweisen.


Alle Hindernisse für einfache Beweise von gelten für Beweise von P = N P mit gleicher Kraft. Wenn Sie einen Algorithmus hätten, dann wäre der Beweis, dass P = N P ist , der Beweis, dass der Algorithmus (i) korrekt und (ii) polynomial ist, und dieser Beweis müsste immer noch darüber streiten, welche Tatsache der Algorithmus über Nichtdeterminismus hat verwendet für seine effiziente deterministische Simulation, die im Vergleich zu einem (algebraischen) Orakel nicht wahr ist, und wie es die natürliche Beweisbarriere besiegt. PNPP=NPP=NP
Lieuwe Vinkhuijzen

8

Nun, Sie haben im Grunde die Idee. Wir denken im Allgemeinen, dass P! = NP, haben aber keine Ahnung, wie wir beweisen würden, dass diese Dinge nicht gleich sind.

Umgekehrt, wenn P = NP, hätten wir wahrscheinlich einen Algorithmus gefunden, um eines der Dutzenden von NP-vollständigen Problemen zu lösen.

Dies sind sehr wellenförmige Argumente, aber in wenigen Sätzen beschreiben sie die Kultur unter Informatikern.

Ob es "schwieriger" ist, P! = NP zu beweisen, hängt natürlich davon ab, was zutrifft (abgesehen von metamathematischen Ergebnissen?), Und das wissen wir natürlich nicht.


5

Es gibt einige Experten, die glauben, dass der Nachweis von P NP schwieriger ist als der Nachweis von P = NP im Sinne der Zeit, die ihrer Meinung nach benötigt wird, um die P vs. NP-Frage zu klären. Dies ist jedoch meist eine Intuition, die auf dem Gefühl beruht, dass es einfacher ist, Algorithmen für Probleme zu entwerfen, als zu beweisen, dass es keine (effizienten) Algorithmen gibt. Im Allgemeinen ist es uns nicht sehr gelungen, untere Grenzen für Probleme zu beweisen. Wir können nicht einmal einen linearen Zeitalgorithmus für SAT ausschließen. Wir können nicht ausschließen, dass es für SAT keinen Protokollbereich-Algorithmus gibt. Wir können nicht einmal zeigen, dass es mit , , ¬ und keine polynomgroße Boolesche Schaltung konstanter Tiefe gibt¬ Tore, die SAT nicht lösen können (in Laienbegriffen ist es möglich, dass es einen konstanten zeitparallelen Algorithmus mit einer polynomiellen Anzahl von Prozessoren gibt, der SAT löst und jeder Prozess nur eines dieser Tore berechnet). Die besten unteren Schranken, die wir für Turing-Maschinen haben, die SAT lösen, können nicht einmal zeigen, dass es keinen Algorithmus gibt, dessen Laufzeit multipliziert mit dem verwendeten Speicherplatz n 1,9 beträgt. Ich kann einiges über den ziemlich peinlichen Zustand des Nachweises von Untergrenzen sagen (aber denken Sie daran, dass wir auch Barriereergebnisse haben, die erklären, warum es so schwierig ist, Untergrenzen zu beweisen). Einige Experten glauben, dass Ketan Mulmuleys GCT-Programm die wahrscheinlichste Lösung für P vs. NP ist, und Mulmuley selbst hat wiederholt gesagt, dass er glaubt, dass es wahrscheinlich über einhundert Jahre dauern wird, bis er dort ankommt.mod6n1.9

Es gab jedoch kürzlich Arbeiten von Ryan Williams und anderen, die zeigen, dass es einen engen Zusammenhang zwischen dem Nachweis von Untergrenzen und dem Auffinden von Algorithmen gibt. ZB zeigte er, dass ein Algorithmus, der für ein bestimmtes eingeschränktes SAT-Problem etwas besser ist als der Brute-Force-Algorithmus, Schaltungsuntergrenzen impliziert, und entwickelte dann einen solchen Algorithmus. Ich denke, die Leute sind ein bisschen weniger pessimistisch und scheinen auch keinen Algorithmus zu entwickeln und die Untergrenzen so getrennt zu beweisen, wie die Leute früher dachten, dass sie es sind.

πφπφund der Algorithmus gibt yes oder no zurück. Sie können sich auf diese Weise jeden Proof Checker vorstellen. Sie können sich auch Beweise in einem mathematischen System wie ZFC als solches vorstellen. Der Überprüfungsprozess selbst kann in Polynomialzeit in der Größe des Beweises durchgeführt werden, da es sich um eine syntaktische Aufgabe handelt.

φφφ265536in dem Sinne, dass Sie die vorherigen Zeilen aus der aktuellen Zeile im Proof und in der Regel bestimmen können. Eine wichtige Ausnahme ist die Schnittregel. Dies ist wichtig, da wir die Schnittregel zum Prüfen von Aussagen nicht benötigen, sie jedoch die Größe des kürzesten Proofs erheblich reduzieren kann. Die Schnittregel ist jedoch nicht deterministisch: Es gibt eine Schnittformel, die wir erraten müssen. Sie können sich Schnittregeln als das Prüfen und Verwenden von Deckspelzen vorstellen. Die Schnittformel ist wie ein Lemma. Aber welches Lemma sollten wir beweisen, das uns helfen wird? Das ist der schwierige Teil. Oft wird ein Ergebnis in der Mathematik dadurch bewiesen, dass ein gutes Lemma gefunden wird. Auch wenn Sie zuvor nachgewiesene Ergebnisse verwenden, verwenden Sie im Wesentlichen die Schnittregel. Ein weiterer wichtiger Bestandteil beim Nachweis von Aussagen sind Definitionen. Oft definieren wir ein neues Konzept und beweisen dann Aussagen darüber, und schließlich in unserem speziellen Fall anwenden. Durch die Verwendung von Definitionen wird die Größe der Formeln verringert (versuchen Sie, einige mathematische Formeln auf die rein satztheoretische Sprache zu erweitern, indem Sie Definitionen erweitern, um eine Vorstellung davon zu erhalten, wie wichtig Definitionen sind). Nochmals, welche neuen Definitionen sollten wir verwenden? Wir wissen es nicht. Dies bringt mich zur dritten Bedeutung einer Aussage, die schwer zu beweisen ist. Eine Aussage kann schwierig zu beweisen sein, weil Sie starke Axiome brauchen. Nimm zB Eine Aussage kann schwierig zu beweisen sein, weil Sie starke Axiome brauchen. Nimm zB Eine Aussage kann schwierig zu beweisen sein, weil Sie starke Axiome brauchen. Nimm zBCH . Es kann weder in ZFC nachgewiesen noch in ZFC widerlegt werden. Dies ist ein extremer Fall, aber das passiert öfter, als Sie denken. Benötigen wir beispielsweise große Kardinalaxiome (um in Grothendieck-Universen arbeiten zu können ), um FLT zu beweisen, oder können wir dies in einer viel schwächeren Theorie wie PA beweisen ? Dies ist ein weiteres Konzept in Bezug auf die Schwierigkeit, Aussagen zu beweisen.

Kehren wir nun zu P vs. NP zurück. Wir haben keine Ergebnisse, die besagen, dass das Problem nicht auf die eine oder andere Weise in eher schwachen arithmetischen Theorien gelöst werden kann. Alexander Razborov schrieb 1995 eine Arbeit mit dem Titel "Unprovability of Lower Bounds on the Circuit Size in bestimmten Fragmenten begrenzter Arithmetik", die zeigte, dass es nicht möglich ist, dies in einer schwachen Theorie zu beweisen, aber die Theorie ist wirklich sehr, sehr schwach. Soweit ich weiß, hat es keine großen Fortschritte gegeben, diese auf wesentlich stärkere Theorien wie Sam Buss 'beschränkte arithmetische Theorien auszudehnen, und selbst wenn das Ergebnis auf sie ausgedehnt wird, sind sie immer noch weit von so etwas wie PA oder ZFC entfernt. Kurz gesagt, wir können nicht nur nicht beweisen, dass SAT nicht in sehr kleinen Komplexitätsklassen liegt, wir können auch nicht beweisen, dass wir nicht P beweisen können


Wenn Sie davon sprechen, die Frage "religiöser" zu definieren, meinen Sie vermutlich "rigoroser"? :-)
David Richerby

2
@ David, ja, Autokorrektur macht das manchmal. :)
Kaveh

4

Ich denke, die Frage lässt sich reduzieren auf: Ist es einfacher zu beweisen, dass etwas existiert oder zu beweisen, dass etwas nicht existiert?

Das Argument für den Beweis, dass etwas existiert, ist, dass es einfach ist, Dinge zu konstruieren, die den Anforderungen entsprechen, und zu prüfen, ob sie tatsächlich den Anforderungen entsprechen.

In einigen Fällen ist dies der Fall: Wenn Sie die Wurzel eines Polynoms finden möchten, ist es einfach, Zahlen zu konstruieren und zu überprüfen, ob es sich um Wurzeln handelt.

Das Problem ist natürlich, dass man Glück haben muss. Möglicherweise können Sie den Suchbereich reduzieren, indem Sie beispielsweise nachweisen, dass er ein Vielfaches von 5 oder zwischen 1 und 10 sein muss. Aber wenn Sie es nicht auf eine endliche Menge von Zahlen beschränken (in diesem Fall verwenden Sie nicht wirklich die "Rate- und Validierungs" -Methode), haben Sie keine Methode zur Lösung des Problems: Sie haben nur eine Methode, die voraussetzt Sie haben großes Glück und könnten eine Lösung finden.

Aber wenn Sie das wollen, ist es genauso einfach zu beweisen, dass etwas nicht existiert! Generieren Sie Texte, die mögliche Lösungen sein könnten, und prüfen Sie, ob sie tatsächlich vorhanden sind.

Eine Methode zu haben, die die Lösung durch reines Glück ergeben könnte, bedeutet daher nicht, dass es einfacher ist, zu beweisen, dass etwas existiert.

Ist es nun allgemein einfacher, mit einer anderen Methode zu beweisen, dass etwas existiert? Dies hängt vom eigentlichen Problem ab, da der Beweis, dass etwas nicht existiert, sich sonst auf den Nachweis der Existenz eines Beweises für dessen Nichtexistenz reduzieren würde. Und ich befürchte, dass wir das nicht messen können, da es nie etwas gab, von dem nachgewiesen wurde, dass es sowohl existiert als auch nicht existiert, so dass wir die Schwierigkeit des Beweises messen können (versuchen).


1
Wenn dieses "Etwas" existiert, ist es einfacher zu beweisen, dass es existiert (trivialerweise kann man nicht beweisen, dass es nicht existiert; das bedeutet nicht, dass es nicht teuflisch schwierig ist, diesen Beweis zu finden). Gleiche Argumentation in umgekehrter Richtung. Wie es in den Kommentaren heißt, macht die Frage selbst keinen Sinn.
Vonbrand

@vonbrand Ich sage nicht for any X: is it easier to prove that X exists or to prove that X does not exist, ich sage, dass for any X,Y: is it easier to prove that X exists or to prove that Y does not exist.dh, wenn E die Menge der Beweise, die Sätze der Form "X existiert" und NE die Menge der Beweise, die Sätze der Form "Y existiert nicht" beweisen, und d ( P) Die Schwierigkeit des Beweises ist es wahr, dass d (X) <d (Y) ist, wobei X in E und Y in NE.
Thanos Tintinidis

d(X)XXX

@vonbrand ja; Darüber hinaus argumentiere ich, dass Sie die Methode von OP nicht als Argument dafür verwenden können, dass der Nachweis der Existenz einfacher ist als der Nachweis der Nichtexistenz, da Sie die Transformation der Anweisung S1 der Nichtexistenz transformieren können zu einer Aussage S2 über das Vorliegen des Nachweises der Aussage S1. Obwohl ich
anfange


-2

Ich glaube, es ist unmöglich, P <> NP zu beweisen, weil Sie alle Algorithmen ausschließen müssten, die P = NP beweisen könnten. Es könnte unendlich viele davon geben. Es gibt keine Möglichkeit, die Unendlichkeit zu widerlegen, daher ist dies nicht möglich. Auf der anderen Seite genügt ein einziger Algorithmus, um P = NP zu beweisen, falls dies der Fall ist. Daher ist entweder P = NP, was jemand beweisen wird, oder wir werden es nie erfahren.


Willkommen in der Informatik ! Glaubst du oder kannst du beweisen, dass es nicht beweisbar ist? Ich denke, dass Yakks Antwort etwas Licht auf das Thema wirft.
Böser

2
"Es gibt keine Möglichkeit, die Unendlichkeit zu widerlegen" In der Mathematik schließen die Menschen unendlich viele Möglichkeiten aus. Wir müssen nicht unbedingt jede einzelne von Hand überprüfen, um zu wissen, dass keine funktioniert. Ihr "Argument" würde bedeuten, dass wir Komplexitätsklassen niemals trennen können, was Unsinn ist.
Noah Schweber
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.