P gegen NP -Problem

Ungelöstes Problem in der Informatik:

Wenn die Lösung für ein Problem einfach auf Korrektheit zu überprüfen ist, muss das Problem leicht zu lösen sein?

Das P gegen NP -Problem es ist ein Bürgermeister ungelöstes Problem in Theoretische Informatik. In informeller Begriffe wird gefragt, ob jedes Problem, dessen Lösung schnell überprüft werden kann, schnell gelöst werden kann.

Der informelle Begriff schnelloben verwendet, bedeutet die Existenz eines Algorithmus, der die Aufgabe löst, die in Polynomzeit, so dass die Zeit, um die Aufgabe zu vervollständigen Polynomfunktion Über die Größe des Eingangs zum Algorithmus (im Gegensatz zu beispielsweise, beispielsweise, Exponentialzeit). Die allgemeine Klasse von Fragen, für die einige Algorithmus kann eine Antwort in Polynomzeit geben "ist"P" oder "Klasse p". Für einige Fragen gibt es keinen bekannten Weg, um schnell eine Antwort zu finden. Wenn man jedoch Informationen gibt, die zeigen, wie die Antwort lautet, ist es möglich, die Antwort schnell zu überprüfen. verifiziert In der Polynomzeit ist es Np, was für "nicht deterministisches Polynomzeit" steht.[Anmerkung 1]

Eine Antwort auf die P -Versus -NP -Frage würde bestimmen, ob Probleme, die in der Polynomzeit verifiziert werden können, auch in der Polynomzeit gelöst werden können. Wenn sich herausstellt, dass P ≠ NP, was allgemein angenommen wird, würde dies bedeuten, dass es Probleme in NP gibt, die schwerer zu berechnen sind, als dies zu überprüfen: Sie konnten in Polynomzeit nicht gelöst werden, aber die Antwort könnte in der Polynomzeit verifiziert werden .

Das Problem wurde als das wichtigste offene Problem in bezeichnet Informatik.[1] Abgesehen davon ein wichtiges Problem in Computertheorie, ein Beweis in beiden Fällen hätte tiefgreifende Auswirkungen auf die Mathematik, Kryptographie, Algorithmusforschung, künstliche Intelligenz, Spieltheorie, Multimedia -Verarbeitung, Philosophie, Wirtschaft und viele andere Felder.[2]

Es ist eines der sieben Millennium Prize Problems ausgewählt durch die Clay Mathematics InstituteJeder von denen einen Preis in Höhe von 1.000.000 US -Dollar für die erste korrekte Lösung enthält.

Beispiel

In Betracht ziehen Sudoku, ein Spiel, bei dem der Spieler ein teilweise ausgefülltes Zahlenraster und versucht, das Netz nach bestimmten Regeln zu vervollständigen. Gibt es angesichts eines unvollständigen Sudoku -Netzes in jeder Größe mindestens eine rechtliche Lösung? Jede vorgeschlagene Lösung ist leicht zu verifizieren, und die Zeit, um eine Lösung zu überprüfen, wächst langsam (polynomial), wenn das Netz größer wird. Alle bekannten Algorithmen zum Auffinden von Lösungen benötigen jedoch schwierige Beispiele, die exponentiell wachsen, wenn das Netz größer wird. Sudoku ist also in NP (schnell überprüfbar), scheint aber nicht in P zu sein (schnell lösbar). Tausende andere Probleme scheinen ähnlich zu sein, da sie schnell prüfen, aber langsam zu lösen sind. Die Forscher haben gezeigt, dass viele der Probleme in NP die zusätzliche Eigenschaft haben, dass eine schnelle Lösung für eine von ihnen verwendet werden könnte, um eine schnelle Lösung für jedes andere Problem in NP aufzubauen, eine Eigenschaft namens NP-Vervollständigung. Jahrzehnte der Suchen haben keine schnelle Lösung für eines dieser Probleme ergeben, daher vermuten die meisten Wissenschaftler, dass keines dieser Probleme schnell gelöst werden kann. Dies wurde jedoch nie bewiesen.

Geschichte

Die genaue Aussage des P -Vers -NP -Problems wurde 1971 von eingeführt Stephen Cook In seinem wegweisenden Papier "die Komplexität des Satzes beweisen" Verfahren "[3] (und unabhängig von Leonid Levin 1973[4]).

Obwohl das P -Vers -NP -Problem 1971 offiziell definiert wurde, gab es frühere Einfügen der Probleme, die Schwierigkeit des Beweises und die potenziellen Konsequenzen. 1955 Mathematiker John Nash schrieb einen Brief an die NSA, in dem er spekulierte, dass das Knacken eines ausreichend komplexen Codes Zeitexponential in der Länge des Schlüssels erfordern würde.[5] Wenn bewiesen (und Nash angemessen skeptisch war), würde dies implizieren, was jetzt P ≠ NP genannt wird, da ein vorgeschlagener Schlüssel in der Polynomzeit leicht überprüft werden kann. Eine weitere Erwähnung des zugrunde liegenden Problems ereignete sich in einem Brief von 1956 von 1956 von geschrieben von Kurt Gödel zu John von Neumann. Gödel fragte, ob das Theorem-Probium (jetzt bekannt ist CO-NP-Complete) könnte in gelöst werden quadratisch oder lineare Zeit,[6] und wies auf eine der wichtigsten Konsequenzen hin, wenn ja, dann könnte die Entdeckung mathematischer Beweise automatisiert werden.

Kontext

Die Beziehung zwischen dem Komplexitätsklassen P und NP wird in untersucht Computerkomplexitätstheorie, der Teil der Theorie der Berechnung Umgang mit den Ressourcen, die während der Berechnung erforderlich sind, um ein bestimmtes Problem zu lösen. Die häufigsten Ressourcen sind Zeit (wie viele Schritte erforderlich sind, um ein Problem zu lösen) und Platz (wie viel Speicher braucht es, um ein Problem zu lösen).

In einer solchen Analyse muss ein Modell des Computers für diese Zeit analysiert werden. Typischerweise gehen solche Modelle davon aus, dass der Computer ist deterministisch (Angesichts des gegenwärtigen Zustands des Computers und der Eingaben gibt es nur eine mögliche Maßnahme, die der Computer ausführen könnte) und sequentiell (Es führt Aktionen nacheinander aus).

In dieser Theorie besteht die Klasse P von all diesen Entscheidungsprobleme (definiert unter) das kann in einer Zeitspanne auf einer deterministischen sequentiellen Maschine gelöst werden Polynom in der Größe der Eingabe; die Klasse Np besteht aus all jenen Entscheidungsproblemen, deren positive Lösungen überprüft werden können in Polynomzeit Angesichts der richtigen Informationen oder gleichwertig, deren Lösung in der Polynomzeit auf a gefunden werden kann nicht deterministisch Maschine.[7] Offensichtlich p ⊆ np. Wohl die größte offene Frage in Theoretische Informatik betrifft die Beziehung zwischen diesen beiden Klassen:

Ist P gleich NP?

Seit 2002, William Gasarch hat drei Umfragen von Forschern in Bezug auf diese und verwandte Fragen durchgeführt.[8][9][10] Vertrauen, dass P ≠ NP zugenommen hat - im Jahr 2019 glaubten 88% p ≠ np, im Gegensatz zu 83% im Jahr 2012 und 61% im Jahr 2002. Als die Antworten 2019 auf Experten beschränkt waren, wurden die Antworten von 2019 zu 99% glaubten, P ≠ NP.[10] Diese Umfragen implizieren nichts darüber, ob p = np wahr ist, wie von Gasarch selbst angegeben: "Dies bringt uns nicht näher an die Lösung von p =? Np oder das Wissen, wann es gelöst wird, aber es versucht, ein Ziel zu sein Bericht über die subjektive Meinung dieser Ära. "

NP-Vervollständigung

Euler -Diagramm zum P, Np, NP-Complete- und NP-harte Reihe von Problemen (ohne die leere Sprache und ihre Komplement, die zu P gehören, aber nicht NP-Complete sind)

Um die p = np-Frage anzugreifen, ist das Konzept der NP-Abschlussheit sehr nützlich. NP-Complete-Probleme sind eine Reihe von Problemen, von denen jedes andere NP-Problem in der Polynomzeit verringert werden kann und deren Lösung in der Polynomzeit weiterhin verifiziert werden kann. Das heißt, jedes NP-Problem kann in jedes der NP-Complete-Probleme umgewandelt werden. Informell ist ein NP-Complete-Problem ein NP-Problem, das mindestens so "hart" ist wie jedes andere Problem in NP.

Np-harte Probleme sind mindestens so schwer wie NP -Probleme; d.h. alle NP -Probleme können (in der Polynomzeit) auf sie reduziert werden. NP-harte Probleme müssen nicht in NP sein; d.h., sie müssen in der Polynomzeit keine Lösungen überprüfbar haben.

Zum Beispiel die Boolesche Zufriedenheitsproblem ist NP-Complete von der Cook -Levin -Theorem, Also irgendein Beispiel von irgendein Das Problem in NP kann mechanisch in eine Instanz des booleschen Erfüllbarkeitsproblems in der Polynomzeit umgewandelt werden. Das Problem der Booleschen Erfüllung ist eines von vielen solchen NP-Complete-Problemen. Wenn ein NP-Complete-Problem in P ist, würde dies dem p = np folgen. Es wurde jedoch gezeigt, dass viele wichtige Probleme NP-Vervollständigung sind, und für keiner von ihnen ist kein schneller Algorithmus bekannt.

Basierend auf der Definition allein ist es nicht offensichtlich, dass NP-Complete-Probleme bestehen. Ein triviales und erfundenes NP-Complete-Problem kann jedoch wie folgt formuliert werden: Bei einer Beschreibung von a Turing Maschine M Es gibt garantiert, dass sie in der Polynomzeit stehen, da es eine polynomiale Eingabe gibt, die, die M Wird akzeptieren?[11] Es ist in NP, weil (bei einem Eingang) einfach zu überprüfen ist, ob M Akzeptiert die Eingabe durch Simulation M; Es ist NP-Complete, da der Überprüfer für eine bestimmte Instanz eines Problems in NP als Polynomzeitmaschine codiert werden kann M Dadurch werden die Lösung als Eingabe überprüft. Dann wird die Frage, ob die Instanz eine Ja- oder Nein -Instanz ist, dadurch bestimmt, ob eine gültige Eingabe vorliegt.

Das erste natürliche Problem, das sich als NP-Vervollständigung erwies, war das boolesche Erfüllbarkeitsproblem, auch als SAT bezeichnet. Wie oben erwähnt, ist dies der Koch -Levin -Theorem; Sein Beweis, dass die Erfüllbarkeit NP-Complete ist, enthält technische Details zu Turing-Maschinen in Bezug auf die Definition von NP. Nachdem dieses Problem jedoch als NP-Vervollständigung erwiesen wurde, Beweis durch Reduktion bot eine einfachere Möglichkeit zu zeigen, dass auch viele andere Probleme NP-Complete sind, einschließlich des zuvor diskutierten Spiels, das Sudoku zuvor besprochen hat. In diesem Fall zeigt der Beweis, dass eine Lösung von Sudoku in Polynomzeit ebenfalls zur Vervollständigung verwendet werden könnte Lateinische Quadrate in Polynomzeit.[12] Dies ergibt wiederum eine Lösung für das Problem der Partitionierung Tri-Partiten-Diagramme in Dreiecke,[13] Dies könnte dann verwendet werden, um Lösungen für den Sonderfall von SAT zu finden, der als 3-sat bezeichnet wird,[14] Dies liefert dann eine Lösung für die allgemeine boolesche Erfüllbarkeit. Daher führt eine Polynom-Zeit-Lösung für Sudoku durch eine Reihe mechanischer Transformationen zu einer polynomialen Zeitlösung der Erfüllbarkeit, die wiederum verwendet werden kann, um ein anderes NP-Problem in der Polynomzeit zu lösen. Mit solchen Transformationen ist eine riesige Klasse scheinbar nicht verwandter Probleme zueinander reduzierbar und in einem Sinne "das gleiche Problem".

Härtere Probleme

Obwohl nicht bekannt ist, ob P = NP, sind Probleme außerhalb von P bekannt. So wie die Klasse P in Bezug auf die Polynomlaufzeit definiert ist, ist die Klasse die Klasse Nachfolger ist der Satz aller Entscheidungsprobleme, die haben exponentiell Laufzeit. Mit anderen Worten, jedes Problem in der Expime ist durch a lösbar deterministische Turing -Maschine in O(2p(n)) Zeit, wo p(n) ist eine Polynomfunktion von n. Ein Entscheidungsproblem ist Expime-Complete Wenn es in der Expime ist und jedes Problem in der Expime eine hat Polynomzeit viele eins Reduktion dazu. Es ist bekannt, dass eine Reihe von Problemen als Expime-Vervollständigung bekannt sind. Da gezeigt werden kann, dass p ≠ Expime sind, sind diese Probleme außerhalb von P und erfordern daher mehr als Polynomzeit. In der Tat von der Zeithierarchie TheoremSie können nicht in signifikant geringer als Exponentialzeit gelöst werden. Beispiele sind das Finden einer perfekten Strategie für Schach Positionen auf einem N × N Tafel[15] und ähnliche Probleme für andere Brettspiele.[16]

Das Problem der Entscheidung der Wahrheit einer Aussage in Presburger -Arithmetik erfordert noch mehr Zeit. Fischer und Rabin 1974 bewiesen[17] dass jeder Algorithmus, der die Wahrheit von Presburger -Aussagen der Länge entscheidet n hat eine Laufzeit von mindestens für einige Konstante c. Daher ist bekannt, dass das Problem mehr als exponentielle Laufzeit benötigt. Noch schwieriger sind die unentscheidbare Probleme, so wie die Problem stoppen. Sie können von keinem Algorithmus vollständig gelöst werden, in dem Sinne, dass es für einen bestimmten Algorithmus mindestens einen Eingang gibt, für den dieser Algorithmus nicht die richtige Antwort erzeugt. Es wird entweder die falsche Antwort ergeben, abschließen, ohne eine schlüssige Antwort zu geben oder auf andere Weise für immer zu laufen, ohne überhaupt eine Antwort zu geben.

Es ist auch möglich, andere Fragen als Entscheidungsprobleme zu berücksichtigen. Eine solche Klasse, die aus Zählungsproblemen besteht, wird genannt #P: Während ein NP -Problem fragt "Gibt es Lösungen?" fragt das entsprechende #P -Problem "Wie viele Lösungen gibt es?" Ein #P -Problem muss eindeutig mindestens so schwierig sein wie das entsprechende NP -Problem, da eine Anzahl von Lösungen sofort zeigt, ob mindestens eine Lösung vorhanden ist, ob die Anzahl größer als Null ist. Überraschenderweise entsprechen einige #P-Probleme, von denen angenommen wird, dass sie schwierig sind, einfachen (z. B. linearen) P-Problemen.[18] Für diese Probleme ist es sehr leicht zu sagen, ob Lösungen existieren, aber es ist sehr schwer zu sagen, wie viele. Viele dieser Probleme sind #P-Completeund daher zu den schwierigsten Problemen in #P, da eine Polynomzeitlösung für eine von ihnen eine Polynomzeitlösung für alle anderen #P -Probleme ermöglichen würde.

Probleme in NP, die nicht in P oder NP-Complete bekannt sind

1975,, Richard E. Ladner zeigten, dass wenn p ≠ np dann Probleme in NP gibt, die weder in P noch in NP-Complete sind.[19] Solche Probleme werden als NP-Intermediate-Probleme bezeichnet. Das Graph Isomorphismus Problem, das Diskretes Logarithmusproblem und die Ganzzahlfaktorisierungsproblem sind Beispiele für Probleme, von denen angenommen wird, dass sie NP-Intermediate sind. Sie sind einige der wenigen NP-Probleme, die nicht in P oder NP-Vervollständigung bekannt sind.

Das Problem der Graph -Isomorphismus ist das Rechenproblem bei der Bestimmung, ob zwei endliche Grafiken sind isomorph. Ein wichtiges ungelöstes Problem in der Komplexitätstheorie ist, ob das Problem der Graph-Isomorphismus in P, NP-Complete oder NP-Intermediate liegt. Die Antwort ist nicht bekannt, aber es wird angenommen, dass das Problem zumindest nicht die NP-Vervollständigung ist.[20] Wenn der Graph-Isomorphismus NP-Vervollständigung ist, ist die Polynomzeithierarchie bricht auf seine zweite Ebene zusammen.[21] Da allgemein angenommen wird, dass die Polynomhierarchie nicht auf ein endliches Niveau kollabiert, wird angenommen, dass das Graph-Isomorphismus keine NP-Vervollständigung ist. Der beste Algorithmus für dieses Problem, weil László Babai, rennt herein Quasi-Polynomzeit.[22]

Das Ganzzahlfaktorisierungsproblem ist das rechnerische Problem der Bestimmung der Primfaktorisierung einer bestimmten Ganzzahl. Als Entscheidungsproblem formuliert, ist es das Problem der Entscheidung, ob der Eingang einen Faktor weniger hat k. Es ist kein effizienter Integer -Faktorisierungsalgorithmus bekannt, und diese Tatsache bildet die Grundlage mehrerer moderner kryptografischer Systeme wie der RSA Algorithmus. Das Problem der Ganzzahlfaktorisierung liegt in NP und in Co-NP (und sogar in UP und Co-up[23]). Wenn das Problem NP-Vervollständigung ist, fällt die Polynomzeithierarchie auf ihre erste Ebene (d. H. NP = Co-NP). Am meisten effizient Bekannter Algorithmus für die Ganzzahlfaktorisierung ist die Allgemeines Zahlenfeld Sieb, was die erwartete Zeit braucht

zu faktor und n-bitgleger. Allerdings am bekanntesten Quantenalgorithmus Für dieses Problem, Shors Algorithmus, läuft in Polynomzeit, obwohl dies nicht angibt, wo das Problem in Bezug auf Nichts liegtQuantenkomplexitätsklassen.

Bedeutet P "einfach"?

Die Grafik zeigt die Laufzeit gegen Problemgröße für a Rucksackproblem eines hochmodernen, spezialisierten Algorithmus. Das quadratische Passform legt nahe, dass die algorithmische Komplexität des Problems O ist ((log (log (log ()n))2).[24]

Alle oben genannten Diskussionen haben angenommen, dass P "einfach" und "nicht in P" bedeutet "schwierig", eine Annahme als bekannt als als Cobhams These. Es ist eine häufige und einigermaßen genaue Annahme in der Komplexitätstheorie; Es hat jedoch einige Einschränkungen.

Erstens ist es in der Praxis nicht immer wahr. Ein theoretischer Polynomalgorithmus kann extrem große konstante Faktoren oder Exponenten aufweisen, wodurch er unpraktisch ist. Zum Beispiel das Problem von entscheiden ob eine Grafik G enthält H Als ein unerheblich, wo H ist festgelegt, kann in einer Laufzeit von gelöst werden O(n2),[25] wo n ist die Anzahl der Eckpunkte in G. Allerdings die Big O Notation verbirgt eine Konstante, die über die Übererexponentials abhängt H. Die Konstante ist größer als (Verwendung Knuths Up-Arrow-Notation), und wo h ist die Anzahl der Eckpunkte in H.[26]

Andererseits, selbst wenn sich ein Problem als NP-Vervollständigung darstellt und selbst wenn P ≠ NP ist, kann es immer noch wirksame Ansätze zur Bewältigung des Problems in der Praxis geben. Es gibt Algorithmen für viele NP-Complete-Probleme wie die Rucksackproblem, das Problem mit reisenden Verkäufern und die Boolesche ZufriedenheitsproblemDies kann die Optimalität in der angemessenen Zeit auf Optimalität lösen. Das empirische Durchschnittsfallkomplexität (Zeit vs. Problemgröße) solcher Algorithmen können überraschend niedrig sein. Ein Beispiel ist das Simplex -Algorithmus in Lineares Programmieren, was in der Praxis überraschend gut funktioniert; obwohl er exponentiell schlimmster Fall hat ZeitkomplexitätEs läuft mit den bekanntesten Polynom-Zeit-Algorithmen.[27]

Schließlich gibt es Arten von Berechnungen, die nicht dem Turing -Maschinenmodell entsprechen, auf dem P und NP definiert sind, wie z. Quantenberechnung und Randomisierte Algorithmen.

Gründe zu glauben p ≠ np oder p = np

Cook bietet eine Wiederholung des Problems in Das P -Vers -NP -Problem wie: Tut P = np ?.[28] Laut Umfragen,[8][29] Die meisten Informatiker glauben, dass p ≠ np. Ein Hauptgrund für diese Überzeugung ist, dass nach Jahrzehnten der Untersuchung dieser Probleme niemand einen Polynom-Zeitalgorithmus für mehr als 3000 wichtige bekannte NP-Complete-Probleme gefunden hat (siehe Liste der NP-Complete-Probleme). Diese Algorithmen wurden lange bevor das Konzept der NP-Vervollständigung definiert (Karps 21 NP-Complete-ProblemeZu den ersten gefundenen waren alle bekannten vorhandenen Probleme zum Zeitpunkt der NP-Vervollständigung. Darüber hinaus würde das Ergebnis p = np viele andere überraschende Ergebnisse implizieren, die derzeit als falsch angesehen werden, wie z. B. np = Co-NP und p = PH.

Es wird auch intuitiv argumentiert, dass die Existenz von Problemen, die schwer zu lösen sind, aber für die die Lösungen leicht zu überprüfen sind, die praktische Erfahrung in der realen Welt entspricht.[30]

Wenn p = np, wäre die Welt ein zutiefst anderer Ort als wir normalerweise annehmen. Es würde keinen besonderen Wert in "kreativen Sprüngen" geben, keine grundlegende Lücke zwischen der Lösung eines Problems und dem Erkennen der Lösung, sobald sie gefunden wurde.

Andererseits glauben einige Forscher, dass es ein Überbewusstsein gibt, P ≠ NP zu glauben, und dass Forscher auch Beweise von P = NP untersuchen sollten. Zum Beispiel wurden diese Aussagen im Jahr 2002 gemacht:[8]

Das Hauptargument für p ≠ np ist der gesamte Mangel an grundlegenden Fortschritten im Bereich der erschöpfenden Suche. Dies ist meiner Meinung nach ein sehr schwaches Argument. Der Raum der Algorithmen ist sehr groß und wir sind erst am Anfang seiner Erkundung. [...] die Lösung von Fermats letzter Satz zeigt auch, dass sehr einfache Fragen nur durch sehr tiefe Theorien geklärt werden können.

An eine Spekulation beizubehalten ist kein guter Leitfaden für die Forschungsplanung. Man sollte immer beide Richtungen jedes Problems versuchen. Vorurteile haben berühmte Mathematiker dazu veranlasst, berühmte Probleme zu lösen, deren Lösung ihren Erwartungen entgegengesetzt war, obwohl sie alle erforderlichen Methoden entwickelt hatten.

Folgen der Lösung

Einer der Gründe, warum das Problem so viel Aufmerksamkeit erregt, sind die Folgen der möglichen Antworten. Jede Richtung der Lösung würde die Theorie enorm vorantreiben und vielleicht auch große praktische Konsequenzen haben.

P = np

Ein Beweis dafür, dass P = NP atemberaubende praktische Konsequenzen haben könnte, wenn der Beweis zu effizienten Methoden zur Lösung einiger wichtiger Probleme in NP führt. Die potenziellen Konsequenzen, die sowohl positiv als auch negativ sind, ergeben sich, da verschiedene NP-Complete-Probleme in vielen Bereichen von grundlegender Bedeutung sind.

Es ist auch sehr möglich, dass ein Beweis wäre nicht führen zu praktischen Algorithmen für NP-Complete-Probleme. Die Formulierung des Problems erfordert nicht, dass das Begrenzungspolynom klein oder sogar spezifisch bekannt ist. EIN nicht konstruktiver Beweis Kann eine Lösung zeigen, ohne dass entweder ein Algorithmus oder eine bestimmte gebundene Bindung angegeben wird. Selbst wenn der Beweis konstruktiv ist, zeigt der Algorithmus in der Praxis möglicherweise nicht ausreichend effizient, wenn das Polynom ein explizites Polynom- und Algorithmisch-Details zeigt, wenn das Polynom nicht sehr geringer ist. In diesem Fall wäre der anfängliche Beweis für Theoretiker hauptsächlich von Interesse, aber das Wissen, dass Polynomzeitlösungen möglich sind, würde sicherlich die Forschung zu besseren (und möglicherweise praktischen) Methoden zur Erreichung des Errehens von Verhältnissen anregen.

Ein Beispiel für ein Feld, das durch eine Lösung, die P = NP zeigt, erhöht werden könnte, ist Kryptographie, was auf bestimmte Probleme beruht, schwierig zu sein. Eine konstruktive und effiziente Lösung[Anmerkung 2] zu einem NP-Completenproblem wie z. 3-sa würde die meisten bestehenden Kryptosysteme brechen, einschließlich:

  • Bestehende Implementierungen von Kryptographie der Öffentlichkeit,[31] Eine Grundlage für viele moderne Sicherheitsanträge wie sichere Finanztransaktionen über das Internet.
  • Symmetrische Chiffren wie zum Beispiel AES oder 3des,[32] Wird zur Verschlüsselung von Kommunikationsdaten verwendet.
  • Kryptografisches Hashing, was zugrunde liegt Blockchain Kryptowährungen wie zum Beispiel Bitcoinund wird verwendet, um Software -Updates zu authentifizieren. Für diese Anwendungen muss das Problem der Suche nach einem Vorbild, das zu einem bestimmten Wert zu finden ist, schwierig sein, um nützlich zu sein, und sollte idealerweise eine exponentielle Zeit erfordern. Wenn P = NP jedoch ein Vorbild finden M kann in Polynomzeit durch Reduktion des SAT erfolgen.[33]

Diese müssten modifiziert oder ersetzt werden durch Informationstheoretisch sicher Lösungen, die nicht von Natur aus auf P-NP-Ungleichheit basieren.

Andererseits gibt es enorme positive Konsequenzen, die sich aus der Darstellung von vielen derzeit mathematisch unlösbaren Problemen ergeben würden. Zum Beispiel viele Probleme in Unternehmensforschung sind NP-Complete, wie einige Arten von Ganzzahlprogrammierung und die Problem mit reisenden Verkäufern. Effiziente Lösungen für diese Probleme hätten enorme Auswirkungen auf die Logistik. Viele andere wichtige Probleme, wie einige Probleme in Proteinstrukturvorhersage, sind auch NP-Complete;[34] Wenn diese Probleme effizient lösbar wären, könnte dies erhebliche Fortschritte in den Lebenswissenschaften und Biotechnologie hervorrufen.

Solche Veränderungen können jedoch im Vergleich zur Revolution eine effiziente Methode zur Lösung von NP-Complete-Problemen in der Mathematik selbst verblassen. Gödel stellte in seinen frühen Gedanken zur Complex -Komplexität fest, dass eine mechanische Methode, die ein Problem lösen könnte, die Mathematik revolutionieren würde:[35][36]

Wenn es wirklich eine Maschine mit φ (n) ∼ k · n (oder sogar ∼ k ≤ n) gäbe2) Dies hätte Konsequenzen von größter Bedeutung. Nämlich würde es offensichtlich bedeuten, dass trotz der Unentschlossenheit der EntscheidungsproblemDie mentale Arbeit eines Mathematikers in Bezug auf Ja-oder-ohne-Fragen könnte vollständig durch eine Maschine ersetzt werden. Schließlich müsste man einfach die natürliche Zahl und die so große auswählen, dass es keinen Sinn macht, mehr über das Problem nachzudenken, wenn die Maschine kein Ergebnis liefert.

Ähnlich, Stephen Cook (Angenommen, ein Beweis, sondern auch ein praktisch effizienter Algorithmus) sagt[28]

... Es würde die Mathematik verändern, indem ein Computer einen formalen Beweis für jeden Satz finden, der einen Nachweis einer angemessenen Länge hat, da formelle Beweise in Polynomzeit leicht erkannt werden können. Beispielprobleme können durchaus alle enthalten CMI -Preisprobleme.

Forschungsmathematiker verbringen ihre Karriere damit, die Theoreme zu beweisen, und einige Beweise haben Jahrzehnte oder sogar Jahrhunderte gedauert, nachdem Probleme angegeben wurden - zum Beispiel: Fermats letzter Satz Nahte über drei Jahrhunderte, um zu beweisen. Eine Methode, die garantiert Beweise für Theoreme findet, sollte diesen Kampf im Wesentlichen beenden.

Donald Knuth hat erklärt, dass er zu glauben gekommen ist, dass P = NP, aber die Auswirkungen eines möglichen Beweises vorbehalten ist:[37]

[...] Wenn Sie sich eine Nummer m vorstellen, die begrenzt, aber unglaublich groß ist - wie die Nummer 10 ↑↑↑↑ 3 in meinem Artikel über "Bewältigung mit Endlichkeit" besprochen - dann gibt es eine humgelige Anzahl möglicher Algorithmen, die n tunM Bitweise oder Addition oder Verschiebungsoperationen auf n gegebenen Bits, und es ist wirklich schwer zu glauben, dass all diese Algorithmen fehlschlagen. Mein Hauptpunkt ist jedoch, dass ich nicht glaube, dass die Gleichheit P = NP auch dann hilfreich ist, auch wenn sie bewiesen wird, da ein solcher Beweis fast sicher nicht konstruktiv ist.

Diagramm der Komplexitätsklassen vorgesehen, dass pNp. Die Existenz von Problemen innerhalb von NP, aber außerhalb von P- und NP-Complete, wurde unter dieser Annahme durch festgelegt Ladner's Theorem.[19]

P ≠ np

Ein Beweis, der zeigte, dass P ≠ NP die praktischen rechnerischen Vorteile eines Beweises, den P = NP, fehlen, aber dennoch einen sehr signifikanten Fortschritt in der Rechenkomplexitätstheorie darstellen und Leitlinien für zukünftige Forschung liefern würde. Es würde ermöglichen, auf eine formelle Weise zu zeigen, dass viele häufige Probleme nicht effizient gelöst werden können, damit die Aufmerksamkeit der Forscher auf teilweise Lösungen oder Lösungen für andere Probleme konzentriert werden kann. Aufgrund des weit verbreiteten Glaubens an p ≠ np hat bereits ein Großteil dieser Fokussierung der Forschung stattgefunden.[38]

Auch p ≠ np lässt immer noch das offen Durchschnittsfallkomplexität von harten Problemen in NP. Zum Beispiel ist es möglich, dass SAT im schlimmsten Fall eine exponentielle Zeit erfordert, aber fast alle zufällig ausgewählten Instanzen davon sind effizient lösbar. Russell Impagliazzo hat fünf hypothetische "Welten" beschrieben, die sich aus verschiedenen möglichen Auflösungen für die Frage der durchschnittlichen Fälle ergeben könnten.[39] Diese reichen von "Algorithmica", wobei P = NP und Probleme wie SAT in allen Fällen effizient gelöst werden können Schwierigkeitsverteilungen über Fälle von NP-harten Problemen. Die "Welt", in der P ≠ NP, aber alle Probleme in NP in dem durchschnittlichen Fall in der Arbeit als "heuristica" bezeichnet werden. EIN Princeton Universität Workshop im Jahr 2009 untersuchte den Status der fünf Welten.[40]

Ergebnisse über die Schwierigkeit des Beweises

Obwohl das P = NP-Problem selbst trotz eines Million-Dollar-Preises und einer großen Menge engagierter Forschung offen bleibt, haben die Bemühungen zur Lösung des Problems zu mehreren neuen Techniken geführt. Insbesondere einige der fruchtbarsten Untersuchungen im Zusammenhang mit dem P = NP -Problem haben gezeigt, dass bestehende Beweistechniken nicht leistungsstark genug sind, um die Frage zu beantworten, was darauf hindeutet, dass neue technische Ansätze erforderlich sind.

Als zusätzliche Beweis für die Schwierigkeit des Problems, im Wesentlichen alle bekannten Beweistechniken in Computerkomplexitätstheorie Fallen Sie in eine der folgenden Klassifikationen, von denen jeder nicht ausreicht, um zu beweisen, dass p ≠ np:

Einstufung Definition
Relativierung von Beweisen Stellen Sie sich eine Welt vor, in der jeder Algorithmus Anfragen zu einer festen Unterroutine bezeichnen darf, die als eine genannt wird Orakel (Eine schwarze Box, die eine feste Reihe von Fragen in ständiger Zeit beantworten kann, z. . Die meisten Beweise (insbesondere klassische) treten in einer Welt mit Orakel einheitlich an, unabhängig davon, was das Orakel tut. Diese Beweise werden genannt Relativierung. 1975 Baker, Gill und Solovay zeigte, dass p = np in Bezug auf einige Orakel, während p ≠ np für andere Orakel.[41] Da relativisierende Beweise nur Aussagen beweisen können, die in Bezug auf alle möglichen Orakel einheitlich zutreffen, zeigte dies, dass relativisierende Techniken P = NP nicht lösen können.
Natürliche Beweise 1993, Alexander Razborov und Steven Rudich definierte eine allgemeine Klasse von Beweistechniken für die Untergrenzen der Schaltkomplexität, genannt Natürliche Beweise.[42] Zu diesem Zeitpunkt waren alle bisher bekannten Schaltkreis -Untergrenzen natürlich, und die Komplexität der Schaltung wurde als sehr vielversprechender Ansatz zur Auflösung von P = NP angesehen. Razborov und Rudich haben das jedoch gezeigt, wenn Einwegfunktionen existieren, dann kann keine natürliche Beweismethode zwischen P und NP unterscheiden. Obwohl Einwegfunktionen nie offiziell als existiert wurden, glauben die meisten Mathematiker, dass dies der Fall ist, und ein Beweis für ihre Existenz wäre eine viel stärkere Aussage als P 15. Daher ist es unwahrscheinlich, dass nur natürliche Beweise P = NP auflösen können.
Algebrisierende Beweise Nach dem Ergebnis von Baker-Gill-Solovay wurden neue nicht relativisierende Beweistechniken erfolgreich verwendet, um dies zu beweisen IP = PSPACE. Allerdings 2008, Scott Aaronson und Avi Wigderson zeigten, dass das im IP = PSPACE -Beweis verwendete technische wichtigste technische Tool, das als bekannt ist Arithmetisierungwar auch nicht ausreichend, um p = np zu beheben.[43]

Diese Hindernisse sind ein weiterer Grund, warum NP-Complete-Probleme nützlich sind: Wenn ein Polynom-Zeit-Algorithmus für ein NP-Complete-Problem nachgewiesen werden kann, würde dies das P = NP-Problem auf eine Weise lösen, die von den obigen Ergebnissen nicht ausgeschlossen ist.

Diese Barrieren haben auch einige Informatiker dazu veranlasst, das PISC -Versus -NP -Problem zu erledigen unabhängig von Standard -Axiomsystemen wie ZFC (kann nicht in ihnen nachgewiesen oder widerlegt werden). Die Interpretation eines Unabhängigkeitsergebnisses könnte sein, dass entweder kein Polynom-Zeit-Algorithmus für ein NP-Complete-Problem vorhanden ist und ein solcher Beweis nicht in (z. B.) ZFC konstruiert werden kann oder dass Polynomzeitalgorithmen für NP-Complete-Probleme existieren können, In ZFC ist es jedoch unmöglich zu beweisen, dass solche Algorithmen korrekt sind.[44] Wenn dies jedoch angezeigt werden kann, kann das Problem mit viel schwächeren Annahmen, die die dessen erweitern, nicht entschieden werden Peano -Axiome (PA) Für die ganzzahlige Arithmetik würde es für jedes Problem in NP notwendigerweise fast polynomiale Zeitalgorithmen existieren.[45] Wenn man glaubt (wie die meisten Komplexitätstheoretiker), dass nicht alle Probleme in NP effiziente Algorithmen aufweisen, würde dies folgen, dass die Unabhängigkeitsergebnisse, die diese Techniken unter Verwendung dieser Techniken, nicht möglich sein können. Darüber hinaus impliziert dieses Ergebnis, dass das Nachweis der Unabhängigkeit von PA oder ZFC mit derzeit bekannten Techniken nicht einfacher ist als das Bestehen effizienter Algorithmen für alle Probleme in NP.

Behauptete Lösungen

Während das P -Versus -NP -Problem im Allgemeinen als ungelöst angesehen wird,[46] Viele Amateur und einige professionelle Forscher haben Lösungen beansprucht. Gerhard J. Woeginger Zusammengestellt eine Liste von 62 angeblichen Beweisen von P = NP von 1986 bis 2016, von denen 50 Beweise von P ≠ NP waren, 2 waren Beweise, dass das Problem unauffällig ist, und einer Beweis dafür, dass es nicht entziffern ist.[47] Einige Versuche, P gegen NP zu lösen, haben kurze Aufmerksamkeit in den Medien erhalten.[48] Obwohl diese Versuche seitdem widerlegt wurden.

Logische Charakterisierungen

Das P = NP -Problem kann als Ergebnis von Arbeiten in Bezug auf bestimmte Klassen logischer Aussagen angepasst werden Beschreibende Komplexität.

Betrachten Sie alle Sprachen endlicher Strukturen mit einem festen Unterschrift einschließlich eines lineare Reihenfolge Beziehung. Dann können alle dieser Sprachen in P in ausgedrückt werden in Logik erster Ordnung mit der Hinzufügung eines geeigneten geringsten Festpunktkombinator. Tatsächlich ermöglicht dies in Kombination mit der Reihenfolge die Definition von rekursiven Funktionen. Solange die Signatur zusätzlich zur unterschiedenen Reihenfolge mindestens ein Prädikat oder eine Funktion enthält, so dass die Menge an Platz für die Speicherung solcher endlichen Strukturen in der Anzahl der Elemente in der Struktur tatsächlich polynomisch ist, charakterisiert dies P. genau.

In ähnlicher Weise ist NP der in Existential ausdrucksfähige Sprachen Logik zweiter Ordnung-Das heißt, die Logik zweiter Ordnung, die auf ausgeschlossene Ausschließung beschränkt ist Universelle Quantifizierung Überbeziehungen, Funktionen und Untergruppen. Die Sprachen in der Polynomhierarchie, PHentsprechen der gesamten Logik zweiter Ordnung. Somit kann die Frage "P Eine ordnungsgemäße Untergruppe von NP" neu "neu" neu ist, als "die existentielle Logik zweiter Ordnung ist, die Sprachen (von endlich linear geordneten Strukturen mit nicht trivialer Signatur) beschreiben kann, die Logik erster Ordnung mit am wenigsten fester Punkt nicht können?" .[49] Das Wort "existentiell" kann sogar aus der vorherigen Charakterisierung fallen gelassen werden, da P = NP nur dann, wenn p = pH (wie erstere feststellen würde, dass np = co-np, was wiederum impliziert, dass np = pH).

Polynom-Zeit-Algorithmen

Es ist bekannt, dass kein Algorithmus für ein NP-Complete-Problem in der Polynomzeit ausgeführt wird. Es gibt jedoch Algorithmen, die für NP-Complete-Probleme mit der Eigenschaft bekannt sind, dass der Algorithmus, wenn P = NP, in der Polynomzeit auf Annahme von Instanzen läuft (obwohl mit enormen Konstanten, was den Algorithmus unpraktisch macht). Diese Algorithmen qualifizieren sich jedoch nicht als Polynomzeit, da ihre Laufzeit für die Ablehnung von Instanzen nicht polynomisch ist. Der folgende Algorithmus aufgrund Levin (ohne Zitat) ist ein solches Beispiel unten. Es akzeptiert die NP-Complete-Sprache korrekt Untergruppe. Es läuft in der Polynomzeit für Eingänge, die nur dann in Untergruppen-Sum sind, wenn p = np:

// Algorithmus, der die NP-Complete-Sprachuntermenge akzeptiert. // // Dies ist ein Polynom-Zeit-Algorithmus, wenn und nur wenn p = np. // // "Polynomzeit" bedeutet, dass sie in Polynomzeit "Ja" zurückgibt, wenn // Die Antwort sollte "Ja" sein und läuft für immer, wenn es "Nein" ist. // // Eingabe: s = ein endlicher Satz von Ganzzahlen // Ausgabe: "Ja", wenn eine Teilmenge von s bis 0 addiert. // läuft für immer ohne Ausgabe. // Hinweis: "Programmnummer M" ist das Programm, das von erhalten wurde // dann die Ganzzahl in binär schreiben, dann // In Anbetracht der Saite von Bits, um a zu sein // Programm. Jedes mögliche Programm kann sein // Auf diese Weise generiert, obwohl die meisten nichts tun // wegen Syntaxfehlern. Für k = 1 ... ∞ für m = 1 ... k laufen Programm Nummer m für k -Schritte mit Eingaben S, wenn das Programm eine Liste verschiedener Ganzzahlen ausgibt, und die Ganzzahlen sind alle in s und die Zahlensumme auf 0, dann Ausgabe dann Ausgabe "Ja" und anhalten

Wenn und nur wenn p = np, dann ist dies ein Polynom-Zeit-Algorithmus, der eine NP-Complete-Sprache akzeptiert. "Akzeptieren" bedeutet, dass es in der Polynomzeit "Ja" Antworten gibt, darf aber für immer laufen, wenn die Antwort "Nein" ist (auch als als bekannt Semi-Algorithmus).

Dieser Algorithmus ist enorm unpraktisch, auch wenn p = np. Wenn das kürzeste Programm, das die Untergruppe in der Polynomzeit lösen kann b Bits lang, der obige Algorithmus wird es zumindest versuchen 2b - 1 Andere Programme zuerst.

Formale Definitionen

P und NP

Konzeptionell gesprochen a Entscheidungsproblem ist ein Problem, das als Eingabe einige dauert Saite w über einem Alphabet σ und gibt "Ja" oder "Nein" aus. Wenn es eine gibt Algorithmus (Sag a Turing Maschine, oder ein Computer Programm mit unbegrenztem Speicher), der die richtige Antwort für jede Eingangszeichenfolge von Länge ergeben kann n höchstens in CNk Schritte, wo k und c sind Konstanten unabhängig von der Eingangszeichenfolge, dann sagen wir, dass das Problem gelöst werden kann Polynomzeit und wir platzieren es in der Klasse P. Formal ist P als die Menge aller Sprachen definiert, die von einer deterministischen Polynom-Zeit-Turing-Maschine entschieden werden können. Das ist,

wo

und eine deterministische Polynomzeit-Turing-Maschine ist eine deterministische Turing-Maschine M Das erfüllt die folgenden zwei Bedingungen:

  1. M Halt bei allen Eingängen w und
  2. Es gibt es so dass , wo O bezieht sich auf Big O Notation und

NP kann ähnlich unter Verwendung von nichtterministischen Turing -Maschinen (auf traditionelle Weise) definiert werden. Ein moderner Ansatz zur Definition von NP besteht jedoch darin, das Konzept von zu verwenden Zertifikat und Überprüfung. Formal ist NP als Sprachensatz über einem endlichen Alphabet definiert, das einen Verifier aufweist, der in der Polynomzeit läuft, wobei der Begriff des "Verifizierers" wie folgt definiert ist.

Lassen L Sei eine Sprache über ein endliches Alphabet, σ.

L ∈ NP, wenn und nur wenn es eine binäre Beziehung gibt und eine positive Ganzzahl k so dass die folgenden zwei Bedingungen erfüllt sind:

  1. Für alle , so dass (x, y) ∈ R und ; und
  2. die Sprache Über ist durch eine deterministische Turing -Maschine in der Polynomzeit entzündbar.

Eine Turing -Maschine, die entscheidet LR wird als a genannt Überprüfung zum L und ein y so dass (x, y) ∈ R wird als a genannt Mitgliedsbescheinigung von x in L.

Im Allgemeinen muss ein Verifizierer keine Polynomzeit sein. Allerdings für L Um in NP zu sein, muss es einen Überprüfung geben, der in der Polynomzeit ausgeführt wird.

Beispiel

Lassen

Klar, die Frage, ob eine gegebene x ist ein zusammengesetzt entspricht der Frage, ob x ist ein Mitglied von Composite. Es kann gezeigt werden, dass Composite ∈ NP durch Überprüfung, ob es die obige Definition erfüllt (wenn wir natürliche Zahlen mit ihren binären Darstellungen identifizieren).

Composite ist auch in P, eine Tatsache, die durch die Erfindung der gezeigt wird ASS -Primalitätstest.[50]

NP-Vervollständigung

Es gibt viele äquivalente Möglichkeiten zur Beschreibung der NP-Vervollständigung.

Lassen L Seien Sie eine Sprache über ein endliches Alphabet σ.

L ist NP-Complete, wenn und nur wenn die folgenden zwei Bedingungen erfüllt sind:

  1. L ∈ NP; und
  2. irgendein L in NP ist polynomiell-zeitlich reduzierbar auf L (geschrieben als ), wo Wenn und nur wenn die folgenden zwei Bedingungen erfüllt sind:
    1. Es gibt es f: Σ* → σ* so dass für alle w In σ* haben wir: ; und
    2. Es gibt eine Polynom-Zeit-Turing-Maschine, die mit f(w) auf seinem Klebeband auf jeder Eingabe w.

Alternativ, wenn L ∈ NP, und es gibt ein anderes NP-Complete-Problem, das auf Polynomzeit reduziert werden kann L, dann L ist NP-Complete. Dies ist eine häufige Methode, um ein neues Problem zu beweisen, dass ein neues Problem NP-Complete ist.

Popkultur

Der Film Reisender VerkäuferVon Regisseur Timothy Lanzone ist die Geschichte von vier Mathematikern, die von der US -Regierung eingestellt wurden, um das P -Versus -NP -Problem zu lösen.[51]

In der sechsten Folge von Die Simpsons' siebte Staffel "Baumhaus des Horrors VI"Die Gleichung p = np ist kurz nachdem Homer versehentlich in die" dritte Dimension "gestolpert ist.[52][53]

In der zweiten Folge von Staffel 2 von Elementar, "Lösen Sie für x" dreht sich um Sherlock und Watson, die die Morde an Mathematikern untersuchen, die versuchten, P gegen NP zu lösen.[54][55]

Siehe auch

Anmerkungen

  1. ^ A Nichtdeterministische Turing -Maschine kann in einen Zustand wechseln, der nicht vom vorherigen Zustand bestimmt wird. Eine solche Maschine könnte ein NP -Problem in der Polynomzeit lösen, indem sie in den richtigen Antwortzustand (durch Glück) fällt und es dann herkömmlich überprüft. Solche Maschinen sind nicht praktikabel für die Lösung realistischer Probleme, können jedoch als theoretische Modelle verwendet werden.
  2. ^ Genau wie effizient eine Lösung sein muss, um eine Bedrohung für die Kryptographie darzustellen, hängt von den Details ab. Eine Lösung von mit einem angemessenen konstanten Term wäre katastrophal. Andererseits eine Lösung, die ist In fast allen Fällen würden keine sofortige praktische Gefahr darstellen.

Verweise

  1. ^ Fortnow, Lance (2009). "Der Status des P -Vers -NP -Problems" (PDF). Kommunikation der ACM. 52 (9): 78–86. Citeseerx 10.1.1.156.767. doi:10.1145/1562164.1562186. S2CID 5969255. Archiviert von das Original (PDF) am 24. Februar 2011. Abgerufen 26. Januar 2010.
  2. ^ Fortnow, Lance (2013). Das goldene Ticket: P, NP und die Suche nach dem Unmöglichen. Princeton, NJ: Princeton University Press. ISBN 9780691156491.
  3. ^ Kochen, Stephen (1971). "Die Komplexität des Satzes beweisen" Verfahren ". Verfahren des dritten jährlichen ACM -Symposiums über die Theorie des Computers. S. 151–158. doi:10.1145/800157.805047. ISBN 9781450374644. S2CID 7573663.
  4. ^ L. A. Levin (1973). Универсальные задачи перебора [Probleme der Informationsübertragung]. Пробл. передачи as иор & м (auf Russisch). 9 (3): 115–116.
  5. ^ NSA (2012). "Briefe von John Nash" (PDF).
  6. ^ Hartmanis, Juris. "Gödel, von Neumann und das P = NP -Problem" (PDF). Bulletin der Europäischen Vereinigung für theoretische Informatik. 38: 101–107.
  7. ^ SIPser, Michael: Einführung in die Theorie der Berechnung, zweite Ausgabe, internationale Ausgabe, Seite 270. Thomson Course Technology, 2006. Definition 7.19 und Theorem 7.20.
  8. ^ a b c William I. Gasarch (Juni 2002). "Die P =? NP -Umfrage" (PDF). Sigact News. 33 (2): 34–47. Citeseerx 10.1.1.172.1005. doi:10.1145/564585.564599. S2CID 36828694.
  9. ^ William I. Gasarch. "Die zweite P =? NP -Umfrage" (PDF). Sigact News. 74.
  10. ^ a b "Gastspalte: Die dritte P =? NP Poll1" (PDF). Abgerufen 25. Mai 2020.
  11. ^ Scott Aaronson. "Phys771 Vortrag 6: P, NP und Freunde". Abgerufen 27. August 2007.
  12. ^ "MSC -Kurs: Grundlagen der Informatik". www.cs.ox.ac.uk. Abgerufen 25. Mai 2020.
  13. ^ Colbourn, Charles J. (1984). "Die Komplexität des Abschlusses der teilweisen lateinischen Quadrate". Diskrete angewandte Mathematik. 8 (1): 25–30. doi:10.1016/0166-218x (84) 90075-1.
  14. ^ I. Holyer (1981). "Die NP-Vervollständigung einiger Edge-Partitionsprobleme". Siam J. Comput. 10 (4): 713–717. doi:10.1137/0210054.
  15. ^ Aviezri Fraenkel und D. Lichtenstein (1981). "Berechnen einer perfekten Strategie für n × n Schach erfordert zeitlich exponentiell in n". Journal of Combinatorial Theory, Serie a. 31 (2): 199–214. doi:10.1016/0097-3165 (81) 90016-9.
  16. ^ David Eppstein. "Berechnende Komplexität von Spielen und Rätseln".
  17. ^ Fischer, Michael J.; Rabin, Michael O. (1974). "Superexponentiale Komplexität der Presburger-Arithmetik". Verfahren des Siam-Ams-Symposiums in angewandter Mathematik. 7: 27–41. Archiviert von das Original am 15. September 2006. Abgerufen 15. Oktober 2017.
  18. ^ Valiant, Leslie G. (1979). "Die Komplexität der Aufzählung und Zuverlässigkeitsprobleme". Siam Journal über Computing. 8 (3): 410–421. doi:10.1137/0208032.
  19. ^ a b R. E. Ladner "Auf der Struktur der Polynomzeitabbaubarkeit", " Journal of the ACM 22, S. 151–171, 1975. Korollar 1.1. ACM -Site.
  20. ^ Arvind, Vikraman; Kurur, Piyush P. (2006). "Graph -Isomorphismus ist in SPP". Informationen und Berechnung. 204 (5): 835–852. doi:10.1016/j.ic.2006.02.002.
  21. ^ Schöning, Uwe (1988). "Graph -Isomorphismus befindet sich in der niedrigen Hierarchie". Journal of Computer and System Sciences. 37 (3): 312–323. doi:10.1016/0022-0000 (88) 90010-4.
  22. ^ Babai, László (2018). "Gruppe, Diagramme, Algorithmen: Das Graph -Isomorphismus -Problem". Proceedings des Internationalen Kongresses der Mathematiker - Rio de Janeiro 2018. Vol. Iv. Eingeladene Vorträge. World Sci. Publ., Hackensack, NJ. S. 3319–3336. HERR 3966534.
  23. ^ Lance Fortnow. Blog der Computerkomplexität: Komplexitätsklasse der Woche: Factoring. 13. September 2002.
  24. ^ Pisinger, D. 2003. "Wo sind die Hard -Rucksack -Probleme?" Technischer Bericht 2003/08, Abteilung für Informatik, Universität Kopenhagen, Kopenhagen, Dänemark
  25. ^ Kawarabayashi, K. I.; Kobayashi, Y.; Reed, B. (2012). "Das Problem der disjunkten Pfade in der quadratischen Zeit". Journal of Combinatorial Theory, Serie B. 102 (2): 424–435. doi:10.1016/j.jctb.2011.07.004.
  26. ^ Johnson, David S. (1987). "Die NP-Completness-Spalte: Eine laufende Anleitung (Ausgabe 19)". Journal of Algorithmen. 8 (2): 285–303. Citeseerx 10.1.1.114.3864. doi:10.1016/0196-6774 (87) 90043-5.
  27. ^ Gondzio, Jacek; Terlaky, Tamás (1996). "3 Eine rechnerische Sicht der Innenausstattung Methoden". In J. E. Beasley (Hrsg.). Fortschritte in der linearen und ganzzahligen Programmierung. Oxford Lecture Series in Mathematik und ihre Anwendungen. Vol. 4. New York: Oxford University Press. S. 103–144. HERR 1438311. PostScript -Datei auf der Website von Gondzio und auf der McMaster University -Website von Terlaky.
  28. ^ a b Kochen, Stephen (April 2000). "Das P -Vers -NP -Problem" (PDF). Clay Mathematics Institute. Abgerufen 18. Oktober 2006.
  29. ^ Rosenberger, Jack (Mai 2012). "P. vs. NP -Umfrageergebnisse". Kommunikation der ACM. 55 (5): 10.
  30. ^ Scott Aaronson (4. September 2006). "Gründe zu glauben"., Punkt 9.
  31. ^ Sehen Horie, S.; Watanabe, O. (1997). "Harte Instanzgenerierung für SAT". Algorithmen und Berechnung. Vorlesungsnotizen in Informatik. Vol. 1350. Springer. S. 22–31. Arxiv:CS/9809117. Bibcode:1998cs ........ 9117h. doi:10.1007/3-540-63890-3_4. ISBN 978-3-540-63890-2. für eine Reduzierung der Faktorierung in SAT. Ein 512-Bit-Faktor-Problem (8400 MIPS-Jahre, wenn er berücksichtigt) ist ein SAT-Problem von 63.652 Variablen und 406.860 Klauseln.
  32. ^ Siehe zum Beispiel, Massacci, F. & Marraro, L. (2000). "Logische Kryptanalyse als SAT -Problem". Journal of Authoricated Argumenting. 24 (1): 165–203. Citeseerx 10.1.1.104.962. doi:10.1023/a: 1006326723002. S2CID 3114247. in dem ein Beispiel von DES als SAT -Problem mit 10336 Variablen und 61935 Klauseln codiert wird. Eine 3DES -Probleminstanz würde ungefähr dreimal so groß sein.
  33. ^ De, debapratim; Kumarasubramanian, Abishek; Venkatesan, Ramarathnam (2007). "Inversionsangriffe auf sichere Hash -Funktionen mit SAT Solvers". Theorie und Anwendungen von Erfriedigungstests-SAT 2007. Internationale Konferenz über Theorie und Anwendungen von Erfüllbarkeitstests. Springer. S. 377–382. doi:10.1007/978-3-540-72788-0_36.
  34. ^ Berger b, Leighton t (1998). "Proteinfaltung im hydrophoben Hydrophilen (HP) -Modell ist NP-Complete". J. Comput. Biol. 5 (1): 27–40. Citeseerx 10.1.1.139.5547. doi:10.1089/cmb.1998.5.27. PMID 9541869.
  35. ^ Geschichte dieses Briefes und seiner Übersetzung von Michael Sipser. "Die Geschichte und der Status der P -Vers -NP -Frage" (PDF).
  36. ^ David S. Johnson (2012). "Eine kurze Geschichte der NP-Vervollständigung, 1954–2012". Citeseerx 10.1.1.399.1480. Aus den Seiten 359–376 der Optimierungsgeschichten,, M. Grötschel (Herausgeber), eine Sonderausgabe von "Documenta Mathematica", veröffentlicht im August 2012 und an Teilnehmer des 21. Internationalen Symposiums für mathematische Programme in Berlin.
  37. ^ Knuth, Donald E. (20. Mai 2014). Zwanzig Fragen für Donald Knuth. Informit.com. Informit. Abgerufen 20. Juli 2014.
  38. ^ L. R. Foulds (Oktober 1983). "Der heuristische Problemlösungsansatz". Journal of the Operational Research Society. 34 (10): 927–934. doi:10.2307/2580891. JStor 2580891.
  39. ^ R. Impagliazzo, "Eine persönliche Sicht der durchschnittlichen Komplexität", " SCT, S. 134, 10. jährliche Struktur in der Komplexitätstheoriekonferenz (SCT'95), 1995
  40. ^ "Tentative Programm für den Workshop über" Komplexität und Kryptographie: Status der Welten von Impagliazzo "". Archiviert von das Original am 15. November 2013.
  41. ^ T. P. Baker; J. Gill; R. Solovay. (1975). "Relativierungen der p =? NP -Frage". Siam Journal über Computing. 4 (4): 431–442. doi:10.1137/0204037.
  42. ^ Razborov, Alexander A.; Steven Rudich (1997). "Natürliche Beweise". Journal of Computer and System Sciences. 55 (1): 24–35. doi:10.1006/jcs.1997.1494.
  43. ^ S. Aaronson & A. Wigderson (2008). Algebisierung: Eine neue Barriere in der Komplexitätstheorie (PDF). Verfahren von ACM STOC'2008. S. 731–740. doi:10.1145/1374376.1374481.
  44. ^ Aaronson, Scott. "Ist P gegen NP formal unabhängig?" (PDF)..
  45. ^ Ben-David, Shai; Halevi, Shai (1992). Über die Unabhängigkeit von P gegen NP. Technion (Technischer Bericht). Vol. 714. archiviert von das Original (Gzip) am 2. März 2012..
  46. ^ John Markoff (8. Oktober 2009). "Abgesehen von Preisen hat der P-NP-Puzzler Konsequenzen". Die New York Times.
  47. ^ Gerhard J. Woeginger. "Die P-gegens-NP-Seite". Abgerufen 24. Juni 2018.
  48. ^ Markoff, John (16. August 2010). "Schritt 1: Schweigenden Beweis für schwer fassbare Beweise. Schritt 2: Feuerwerk ansehen". Die New York Times. Abgerufen 20. September 2010.
  49. ^ Elvira Mayordomo. "P gegen NP" Archiviert 16. Februar 2012 bei der Wayback -Maschine Monografías de la Real Academia de Ciencias de Zaragoza 26: 57–68 (2004).
  50. ^ Agrawal, Manindra; Kayal, Neeraj; Saxena, Nitin (2004). "Primes ist in P" (PDF). Annalen der Mathematik. 160 (2): 781–793. doi:10.4007/Annals.2004.160.781. JStor 3597229.
  51. ^ Geere, Duncan (26. April 2012). "Der Film "Travelling Salesman" berücksichtigt die Auswirkungen, wenn P gleich NP ". Wired UK. Abgerufen 26. April 2012.
  52. ^ Hardestie, Larry. "Erklärt: P gegen NP".
  53. ^ Shadia, Ajam. "Was ist das Problem von P vs. NP? Warum ist es wichtig?".
  54. ^ Gasarch, William (7. Oktober 2013). "P vs np ist elementar? Nein - P vs np ist auf elementarer". blog.comPutationalComplexity.org. Abgerufen 6. Juli 2018.
  55. ^ Kirkpatrick, Noel (4. Oktober 2013). "Elementary Lösung für x Review: Sines of Mord". TV.com. Abgerufen 6. Juli 2018.

Quellen

Weitere Lektüre

Externe Links