P gegen das NP Problem

Der P gegen das NP Problem ist ein ungelöstes Hauptproblem in der Informatik. Informell fragt es, ob jedes Problem, dessen Lösung durch einen Computer schnell nachgeprüft werden kann, auch durch einen Computer schnell behoben werden kann. Es wurde 1971 von Stephen Cook in seiner Samenzeitung "Die Kompliziertheit von Lehrsatz-Beweis-Verfahren" eingeführt und wird von vielen betrachtet, das wichtigste offene Problem im Feld zu sein. Es ist eines der sieben vom Tonmathematik-Institut ausgewählten Millennium-Preis-Probleme, um einen Preis von 1,000,000 US$ für die erste richtige Lösung zu tragen.

Der informelle Begriff hat schnell über Mitteln die Existenz eines Algorithmus für die Aufgabe verwendet, die in der polynomischen Zeit läuft. Die allgemeine Klasse von Fragen, für die ein Algorithmus eine Antwort in der polynomischen Zeit zur Verfügung stellen kann, wird "Klasse P" oder gerade "P" genannt. Für einige Fragen gibt es keine bekannte Weise, eine Antwort schnell zu finden, aber wenn man mit der Information versorgt wird, die sich zeigt, wie die Antwort ist, kann es möglich sein, die Antwort schnell nachzuprüfen. Die Klasse von Fragen, für die eine Antwort in der polynomischen Zeit nachgeprüft werden kann, wird NP genannt.

Denken Sie das Teilmenge-Summe-Problem, ein Beispiel eines Problems, das leicht ist nachzuprüfen, aber dessen Antwort schwierig sein kann zu rechnen. In Anbetracht einer Reihe von ganzen Zahlen, tut eine nichtleere Teilmenge von ihnen resümieren zu 0? Zum Beispiel beläuft sich eine Teilmenge des Satzes 0? Die Antwort "Ja, weil sich auf Null belaufen", kann mit drei Hinzufügungen schnell nachgeprüft werden. Jedoch gibt es keinen bekannten Algorithmus, um solch eine Teilmenge in der polynomischen Zeit zu finden (es gibt ein, jedoch in der Exponentialzeit, die aus 2-1 Versuchen besteht), und tatsächlich solch ein Algorithmus nicht bestehen kann, wenn die zwei Kompliziertheitsklassen nicht dasselbe sind; folglich ist dieses Problem in NP (schnell checkable), aber nicht notwendigerweise in P (schnell lösbar).

Eine Antwort auf den P = würde NP Frage bestimmen, ob Probleme, die in der polynomischen Zeit wie das Problem der Teilmenge-Summe nachgeprüft werden können, auch in der polynomischen Zeit behoben werden können. Wenn es sich herausstellen würde, dass P NP nicht gleichkommt, würde es bedeuten, dass es Probleme in NP gibt (wie NP-Complete-Probleme), die härter sind zu rechnen als nachzuprüfen: Sie konnten in der polynomischen Zeit nicht gelöst werden, aber die Antwort konnte in der polynomischen Zeit nachgeprüft werden.

Beiseite davon, ein wichtiges Problem in der rechenbetonten Theorie ein Beweis zu sein, würde jeder Weg tiefe Implikationen für Mathematik, Geheimschrift, Algorithmus-Forschung, künstliche Intelligenz, Multimediaverarbeitung und viele andere Felder haben.

Zusammenhang

Die Beziehung zwischen den Kompliziertheitsklassen P und NP wird in der rechenbetonten Kompliziertheitstheorie, dem Teil der Theorie der Berechnung studiert, die sich mit den während der Berechnung erforderlichen Mitteln befasst, ein gegebenes Problem zu beheben. Die allgemeinsten Mittel sind Zeit (wie viele Schritte man macht, um ein Problem zu beheben), und Raum (wie viel Gedächtnis, das es nimmt, um ein Problem zu beheben).

In solcher Analyse ist ein Modell des Computers, für den Zeit analysiert werden muss, erforderlich. Normalerweise nehmen solche Modelle an, dass der Computer deterministisch ist (gegeben der aktuelle Zustand des Computers und irgendwelche Eingänge, gibt es nur eine mögliche Handlung, die der Computer nehmen könnte), und folgend (es führt Handlungen nacheinander durch).

In dieser Theorie besteht die Klasse P aus allen jenen Entscheidungsproblemen (definiert unten), der auf einer deterministischen folgenden Maschine in einer Zeitdauer gelöst werden kann, die Polynom in der Größe des Eingangs ist; der Klassen-NP besteht aus allen jenen Entscheidungsproblemen, deren positive Lösungen in der polynomischen Zeit gegeben die richtige Information, oder gleichwertig nachgeprüft werden können, dessen Lösung in der polynomischen Zeit auf einer nichtdeterministischen Maschine gefunden werden kann. Klar, P  NP. Wohl betrifft die größte geöffnete Frage in der theoretischen Informatik die Beziehung zwischen jenen zwei Klassen:

:Is P gleich NP?

In einer 2002-Wahl von 100 Forschern, 61 hat geglaubt, dass die Antwort, um nein, 9 zu sein, geglaubt hat, dass die Antwort ist Ja, und 22 unsicher waren; 8 hat geglaubt, dass die Frage der zurzeit akzeptierten Axiome unabhängig und so unmöglich sein kann, zu beweisen oder zu widerlegen.

NP-complete

Um den P = NP Frage anzugreifen, ist das Konzept der NP-Vollständigkeit sehr nützlich. NP-complete Probleme sind eine Reihe von Problemen, auf die jedes andere NP-Problem in der polynomischen Zeit reduziert werden kann, und dessen Lösung noch in der polynomischen Zeit nachgeprüft werden kann. Informell ist ein NP-complete Problem mindestens so "zäh" wie jedes andere Problem in NP.

NP-hard Probleme sind diejenigen mindestens so hart wie NP-complete Probleme, d. h. alle NP-Probleme können (in der polynomischen Zeit) zu ihnen reduziert werden. NP-hard Probleme brauchen nicht in NP zu sein, d. h. sie brauchen in der polynomischen Zeit nachprüfbare Lösungen nicht zu haben.

Zum Beispiel ist der boolean satisfiability Problem NP-complete durch den Lehrsatz des Kochs-Levin, so kann jedes Beispiel jedes Problems in NP mechanisch in ein Beispiel des boolean satisfiability Problem in der polynomischen Zeit umgestaltet werden. Der boolean satisfiability Problem ist eines von vielen solchen NP-complete Problemen. Wenn ein NP-complete Problem in P ist, dann würde es dem P = NP folgen. Leider, wie man gezeigt hat, sind viele wichtige Probleme NP-complete gewesen, und bezüglich 2012 ist kein einziger schneller Algorithmus für einigen von ihnen bekannt.

Gestützt auf der Definition allein ist es nicht offensichtlich, dass NP-complete Probleme bestehen. Ein triviales und erfundenes NP-complete Problem kann als formuliert werden: In Anbetracht einer Beschreibung einer Maschine von Turing versicherte M, in der polynomischen Zeit zu hinken, besteht wirklich dort ein Eingang der polynomischen Größe, den M akzeptieren wird? Es ist in NP, weil (gegeben ein Eingang) es einfach ist zu überprüfen, ob M den Eingang durch das Simulieren der M akzeptiert; es ist NP-complete, weil der verifier für jedes besondere Beispiel eines Problems in NP als eine polynomisch-malige Maschine M verschlüsselt werden kann, die die Lösung nimmt, wie eingegeben, nachgeprüft zu werden. Dann wird die Frage dessen, ob das Beispiel ja oder kein Beispiel ist, dadurch bestimmt, ob ein gültiger Eingang besteht.

Das erste natürliche Problem, das herausgestellt ist, NP-complete zu sein, war der boolean satisfiability Problem. Wie bemerkt, oben ist das der Lehrsatz des Kochs-Levin; sein Beweis, dass satisfiability NP-complete ist, enthält technische Details über Maschinen von Turing, weil sie sich auf die Definition von NP beziehen. Jedoch, nachdem, wie man bewies, dieses Problem NP-complete war, hat der Beweis durch die Verminderung eine einfachere Weise zur Verfügung gestellt zu zeigen, dass viele andere Probleme auch NP-complete, einschließlich des Problems der Teilmenge-Summe besprochen früher sind. So, eine riesengroße Klasse von Problemen anscheinend ohne Beziehung sind alle auf einander reduzierbar, und sind gewissermaßen "dasselbe Problem".

Härtere Probleme

Obwohl es unbekannt ist, ob P = NP, Probleme außerhalb P bekannt sind. Wie man bekannt, sind mehrere kurz gefasste Probleme (Probleme, die nicht auf dem normalen Eingang, aber auf einer rechenbetonten Beschreibung des Eingangs funktionieren) EXPTIME-abgeschlossen. Weil es gezeigt werden kann, dass P EXPTIME, diese Probleme außerhalb P sind, und so verlangen Sie mehr als polynomische Zeit. Tatsächlich, als Hierarchie-Lehrsatz, können sie nicht in bedeutsam weniger gelöst werden als Exponentialzeit. Beispiele schließen Entdeckung einer vollkommenen Strategie für das Schach (auf einem N×N Ausschuss) und einige andere Brettspiele ein.

Das Problem, die Wahrheit einer Behauptung in der Arithmetik von Presburger zu entscheiden, verlangt noch mehr Zeit. Fischer und Rabin haben 1974 bewiesen, dass jeder Algorithmus, der die Wahrheit von Behauptungen von Presburger entscheidet, eine Durchlaufzeit mindestens für einen unveränderlichen c hat. Hier ist n die Länge der Behauptung von Presburger. Folglich, wie man bekannt, braucht das Problem mehr als Exponentialdurchlaufzeit. Noch schwieriger sind die unentscheidbaren Probleme wie das stockende Problem. Sie können durch keinen Algorithmus völlig gelöst werden, im Sinn dass für jeden besonderen Algorithmus gibt es mindestens einen Eingang, für den dieser Algorithmus die richtige Antwort nicht erzeugen wird; es wird entweder die falsche Antwort, den Schluss erzeugen, ohne eine abschließende Antwort zu geben, oder sonst für immer laufen, ohne jede Antwort überhaupt zu erzeugen.

Probleme in NP, der nicht bekannt ist, in P oder NP-complete zu sein

Es wurde von Ladner dass gezeigt, wenn P  NP dann dort Probleme in NP bestehen, die weder in P noch in NP-complete sind. Solche Probleme werden NP-Zwischenprobleme genannt. Das Graph-Isomorphismus-Problem, das getrennte Logarithmus-Problem und die ganze Zahl factorization Problem sind Beispiele von Problemen, die geglaubt sind, NP-Zwischenglied zu sein. Sie sind einige der sehr wenigen NP Probleme, die nicht bekannt sind, in P zu sein oder NP-complete zu sein.

Das Graph-Isomorphismus-Problem ist das rechenbetonte Problem der Bestimmung, ob zwei begrenzte Graphen isomorph sind. Ein wichtiges ungelöstes Problem in der Kompliziertheitstheorie besteht darin, ob das Graph-Isomorphismus-Problem in P, NP-complete oder NP-Zwischenglied ist. Die Antwort ist nicht bekannt, aber es wird geglaubt, dass das Problem mindestens nicht NP-complete ist. Wenn Graph-Isomorphismus NP-complete, die polynomischen Zeithierarchie-Zusammenbrüche zu seinem zweiten Niveau ist. Da es weit geglaubt wird, dass die polynomische Hierarchie zu keinem begrenzten Niveau zusammenbricht, wird es geglaubt, dass Graph-Isomorphismus nicht NP-complete ist. Der beste Algorithmus für dieses Problem, wegen Laszlo Babais und Eugene Luks hat Durchlaufzeit 2 für Graphen mit n Scheitelpunkten.

Die ganze Zahl factorization Problem ist das rechenbetonte Problem, den ersten factorization einer gegebenen ganzen Zahl zu bestimmen. Ausgedrückt als ein Entscheidungsproblem ist es das Problem des Entscheidens, ob der Eingang einen Faktor weniger hat als k. Keine effiziente ganze Zahl factorization Algorithmus ist bekannt, und diese Tatsache bildet die Basis von mehreren modernen kryptografischen Systemen wie der RSA Algorithmus. Die ganze Zahl factorization Problem ist in NP und in co-NP (und sogar in und Staatsstreich). Wenn das Problem NP-complete ist, wird die polynomische Zeithierarchie zu seinem ersten Niveau (d. h., NP = co-NP) zusammenbrechen. Der am besten bekannte Algorithmus für die ganze Zahl factorization ist das allgemeine Sieb des numerischen Feldes, das erwartete Zeit O (e) zum Faktor eine ganze N-Bit-Zahl nimmt. Jedoch läuft der am besten bekannte Quant-Algorithmus für dieses Problem, der Algorithmus von Shor, wirklich in der polynomischen Zeit. Leider sagt diese Tatsache viel darüber nicht, wo das Problem in Bezug auf Nichtquant-Kompliziertheitsklassen liegt.

Bedeutet P "leicht"?

Die ganze obengenannte Diskussion hat angenommen, dass P "leicht" bedeutet und "nicht in P" "hart", eine als die These von Cobham bekannte Annahme bedeutet. Es ist eine allgemeine und vernünftig genaue Annahme in der Kompliziertheitstheorie, jedoch hat es einige Verwahrungen.

Erstens ist es in der Praxis nicht immer wahr. Ein theoretischer polynomischer Algorithmus kann äußerst große unveränderliche Faktoren oder Hochzahlen haben, die es so unpraktisch machen. Andererseits, selbst wenn, wie man zeigt, ein Problem NP-complete, und selbst wenn P  NP ist, kann es noch wirksame Annäherungen an das Anpacken des Problems in der Praxis geben. Es gibt Algorithmen für viele NP-complete Probleme, wie das Rucksack-Problem, das Handelsreisender-Problem und der boolean satisfiability Problem, das zu optimality viele wirkliche Beispiele in der angemessenen Frist lösen kann. Die empirische Kompliziertheit des durchschnittlichen Falls (Zeit gegen die Problem-Größe) solcher Algorithmen kann überraschend niedrig sein. Ein berühmtes Beispiel ist der Simplexalgorithmus in der geradlinigen Programmierung, die überraschend gut in der Praxis arbeitet; trotz, Exponentialgrenzfall-Zeitkompliziertheit zu haben, läuft es gleichwertig mit den am besten bekannten polynomisch-maligen Algorithmen.

Zweitens gibt es Typen der Berechnung, die sich dem Maschinenmodell von Turing nicht anpasst, auf dem P und NP, wie Quant-Berechnung und randomized Algorithmen definiert werden.

Gründe, P  NP zu glauben

Gemäß einer Wahl glauben viele Computerwissenschaftler das P  NP. Ein Schlüsselgrund für diesen Glauben besteht darin, dass nach Jahrzehnten, diese Probleme zu studieren, keiner im Stande gewesen ist, einen polynomisch-maligen Algorithmus für einige von mehr als 3000 wichtigen bekannten NP-complete Problemen zu finden (sieh Liste von NP-complete Problemen). Diese Algorithmen wurden gesucht, lange bevor das Konzept der NP-Vollständigkeit sogar definiert wurde (die 21 NP-complete Probleme von Karp, unter dem gefundenen ersten, waren alle wohl bekannten vorhandenen Probleme zurzeit, wie man zeigte, waren sie NP-complete). Außerdem das Ergebnis P = würde NP viele andere erschreckende Ergebnisse einbeziehen, die, wie man zurzeit glaubt, wie NP = co-NP und P = PH falsch sind.

Es wird auch intuitiv behauptet, dass die Existenz von Problemen, die hart sind zu lösen, aber für den die Lösungen leicht sind, Matchs wirkliche Erfahrung nachzuprüfen.

Andererseits glauben einige Forscher, dass es Rücksichtslosigkeit im Glauben P  NP gibt, und dass Forscher Beweise von P = NP ebenso erforschen sollten. Zum Beispiel 2002 wurden diese Erklärungen abgegeben:

Folgen der Entschlossenheit des Problems

Einer der Gründe das Problem zieht so viel Aufmerksamkeit an, ist die Folgen der Antwort. Jede Richtung der Entschlossenheit würde Theorie enorm vorbringen, und vielleicht riesige praktische Folgen ebenso haben.

P

NP ===

Ein Beweis, dass P = NP atemberaubende praktische Folgen haben konnte, wenn der Beweis zu effizienten Methoden führt, um einige der wichtigen Probleme in NP zu beheben. Es ist auch möglich, dass ein Beweis direkt zu effizienten Methoden vielleicht nicht führen würde, wenn der Beweis nichtkonstruktiv ist, oder die Größe des begrenzenden Polynoms zu groß ist, um in der Praxis effizient zu sein. Die Folgen, sowohl positiv als auch negativ, entstehen, da verschiedene NP-complete Probleme in vielen Feldern grundsätzlich sind.

Geheimschrift verlässt sich zum Beispiel auf bestimmte Probleme, die schwierig sind. Eine konstruktive und effiziente Lösung eines NP-complete Problems solcher, würde wie 3 GESESSEN, den grössten Teil vorhandenen cryptosystems einschließlich der Geheimschrift des öffentlichen Schlüssels, eines Fundaments für viele moderne Sicherheitsanwendungen wie sichere Wirtschaftstransaktionen über das Internet und symmetrische Ziffern wie AES oder 3DES, verwendet für die Verschlüsselung von Kommunikationsdaten brechen. Diese würden modifiziert oder durch die Information theoretisch sichere Lösungen ersetzt werden müssen.

Andererseits gibt es enorme positive Folgen, die aus Übergabe lenksam viele zurzeit mathematisch unnachgiebige Probleme folgen würden. Zum Beispiel sind viele Probleme in der Operationsforschung NP-complete, wie einige Typen der Programmierung der ganzen Zahl und das Handlungsreisender-Problem, um zwei der berühmtesten Beispiele zu nennen. Effiziente Lösungen dieser Probleme würden enorme Implikationen für die Logistik haben. Viele andere wichtige Probleme, wie einige Probleme in der Protein-Struktur-Vorhersage, sind auch NP-complete; wenn diese Probleme effizient lösbar waren, konnte es beträchtliche Fortschritte in der Biologie spornen.

Aber solche Änderungen können in der Bedeutung im Vergleich zur Revolution blass werden, die eine effiziente Methode, um NP-complete Probleme zu beheben, in der Mathematik selbst verursachen würde. Gemäß Stephen Cook,

Forschungsmathematiker geben ihre Karrieren aus, die versuchen, Lehrsätze zu beweisen, und einige Beweise haben Jahrzehnte oder sogar Jahrhunderte genommen, um zu finden, nachdem Probleme — zum Beispiel festgesetzt worden sind, hat der Letzte Lehrsatz von Fermat drei Jahrhunderte übernommen, um sich zu erweisen. Eine Methode, die, wie man versichert, Beweise zu Lehrsätzen findet, sollte man, einer "angemessenen" Größe bestehen, im Wesentlichen diesen Kampf beenden.

P  NP

Ein Beweis, der gezeigt hat, dass P  NP an den praktischen rechenbetonten Vorteilen eines Beweises Mangel haben würde, dass P = NP, aber dennoch einen sehr bedeutenden Fortschritt in der rechenbetonten Kompliziertheitstheorie vertreten und Leitung für die zukünftige Forschung zur Verfügung stellen würde. Es würde erlauben, sich auf eine formelle Weise zu zeigen, wie viele häufige Probleme effizient nicht gelöst werden können, so dass die Aufmerksamkeit von Forschern auf teilweise Lösungen oder Lösungen anderer Probleme gerichtet werden kann. Wegen des weit verbreiteten Glaubens an P  NP hat viel von dieser Fokussierung der Forschung bereits stattgefunden.

Auch P  NP verlässt noch offen die Kompliziertheit des durchschnittlichen Falls von harten Problemen in NP. Zum Beispiel ist es möglich, dass GESESSEN hat, verlangt Exponentialzeit mit dem Grenzfall, aber dass fast alle zufällig ausgewählten Beispiele davon effizient lösbar sind. Russell Impagliazzo hat fünf hypothetische "Welten" beschrieben, die sich aus verschiedenen möglichen Entschlossenheiten gegenüber der Kompliziertheitsfrage des durchschnittlichen Falls ergeben konnten. Diese erstrecken sich von "Algorithmica", wo P = NP und Probleme GESESSEN mögen, kann effizient in allen Beispielen zu "Cryptomania" gelöst werden, wo P  NP und das Erzeugen harter Beispiele von Problemen außerhalb P mit drei Zwischenmöglichkeiten leicht ist, die verschiedenen möglichen Vertrieb der Schwierigkeit über Beispiele von NP-hard Problemen widerspiegeln. Die "Welt", wo P  NP, aber alle Probleme in NP im durchschnittlichen Fall lenksam sind, wird "Heuristica" in der Zeitung genannt. Eine Universitätswerkstatt von Princeton 2009 hat den Status der fünf Welten studiert.

Ergebnisse über die Schwierigkeit des Beweises

Obwohl der P = NP? Problem selbst bleibt offen, trotz des Preises von einer Million Dollar und eines riesigen Betrags der hingebungsvollen Forschung, Anstrengungen, das Problem zu beheben, haben zu mehreren neuen Techniken geführt. Insbesondere etwas von der fruchtbarsten Forschung, die mit dem P = verbunden ist, ist NP Problem in der Vertretung gewesen, dass vorhandene Probetechniken nicht stark genug sind, um auf die Frage zu antworten, so darauf hinweisend, dass neuartige technische Annäherungen erforderlich sind.

Als zusätzliche Beweise für die Schwierigkeit des Problems im Wesentlichen fallen alle bekannten Probetechniken in der rechenbetonten Kompliziertheitstheorie in eine der folgenden Klassifikationen, wie man bekannt, jeder von denen ungenügend ist, um dass P  NP zu beweisen:

Diese Barrieren sind ein anderer Grund, warum NP-complete Probleme nützlich sind: Wenn ein polynomisch-maliger Algorithmus für ein NP-complete Problem demonstriert werden kann, würde das den P = NP Problem in einem durch die obengenannten Ergebnisse nicht ausgeschlossenen Weg lösen.

Diese Barrieren haben auch einige Computerwissenschaftler dazu gebracht vorzuschlagen, dass der P gegen das NP Problem von Standardaxiom-Systemen wie ZFC unabhängig sein kann (kann nicht bewiesen oder innerhalb ihrer widerlegt werden). Die Interpretation eines Unabhängigkeitsergebnisses konnte sein, dass jeder kein polynomisch-maliger Algorithmus für jedes NP-complete Problem besteht, und solch ein Beweis in (z.B) nicht gebaut werden kann. ZFC, oder dass polynomisch-malige Algorithmen für NP-complete Probleme bestehen können, aber es ist unmöglich, in ZFC zu beweisen, dass solche Algorithmen richtig sind. Jedoch, wenn es mit Techniken der Sorte gezeigt werden kann, die, wie man zurzeit bekannt, anwendbar sind, dass das Problem sogar mit viel schwächeren Annahmen nicht entschieden werden kann, die die Axiome von Peano (PA) für die Arithmetik der ganzen Zahl, dann erweitern

dort würde Algorithmen "fast polynomische Zeit" für jedes Problem in NP notwendigerweise bestehen. Deshalb, wenn man glaubt (wie die meisten Kompliziertheitstheoretiker tun), dass nicht alle Probleme in NP effiziente Algorithmen haben, würde er dem folgen Beweise der Unabhängigkeit mit jenen Techniken können nicht möglich sein. Zusätzlich deutet dieses Ergebnis an, dass der Beweis der Unabhängigkeit vom PAPA oder ZFC, der zurzeit bekannte Techniken verwendet, nicht leichter ist als Beweis der Existenz von effizienten Algorithmen für alle Probleme in NP.

Geforderte Lösungen

Während der P gegen das NP Problem allgemein ungelöst, viele betrachtet wird, haben Dilettant und einige Berufsforscher Lösungen gefordert. Woeginger (2010) hat eine umfassende Liste. Ein Anspruch im August 2010 des Beweises, dass P  NP, durch Vinay Deolalikar, Forscher an HP-Laboratorien, Palo Altstimme, schweres Internet und Presseaufmerksamkeit erhalten hat, als am Anfang beschrieben, "um ein relativ ernster Versuch" durch zwei Hauptfachmänner zu sein. Der Beweis ist öffentlich von Akademikern nachgeprüft worden, und Neil Immerman, ein Experte im Feld, hatte auf zwei vielleicht tödliche Fehler im Beweis hingewiesen.

Bezüglich am 15. September 2010, wie man berichtete, arbeitete Deolalikar an einer ausführlichen Vergrößerung seines versuchten Beweises. Jedoch besteht die allgemeine Einigkeit unter theoretischen Computerwissenschaftlern darin, jetzt wo der versuchte Beweis weder richtig ist noch eine bedeutende Förderung in unserem Verstehen des Problems.

Logische Charakterisierungen

Der P = NP Problem kann in Bezug auf expressible bestimmte Klassen von logischen Behauptungen infolge der Arbeit in der beschreibenden Kompliziertheit neu formuliert werden. Alle Sprachen (begrenzter Strukturen mit einer festen Unterschrift einschließlich einer geradlinigen Ordnungsbeziehung) in P können in der Logik der ersten Ordnung mit der Hinzufügung eines passenden kleinster fester Punkt combinator ausgedrückt werden (effektiv, das, in der Kombination mit der Ordnung, erlaubt die Definition von rekursiven Funktionen); tatsächlich, (als lange weil enthält die Unterschrift mindestens ein Prädikat oder Funktion zusätzlich zur ausgezeichneten Ordnungsbeziehung [so dass die verfügbare Fläche, die gebracht ist, um solche begrenzten Strukturen zu versorgen, wirklich Polynom in der Zahl der Elemente in der Struktur] ist), charakterisiert das genau P. Ähnlich ist NP der Satz von Sprachen expressible in der existenziellen Logik der zweiten Ordnung — d. h. Logik der zweiten Ordnung, die eingeschränkt ist, um universale Quantifizierung über Beziehungen, Funktionen und Teilmengen auszuschließen. Die Sprachen in der polynomischen Hierarchie, PH, entsprechen der ganzen Logik der zweiten Ordnung. So ist die Frage "P eine richtige Teilmenge von NP" kann wiederformuliert werden weil "ist existenzielle Logik der zweiten Ordnung fähig, Sprachen zu beschreiben (begrenzter geradlinig bestellter Strukturen mit der nichttrivialen Unterschrift), dass die Logik der ersten Ordnung mit dem am wenigsten festen Punkt nicht kann?". Das "existenzielle" Wort kann sogar von der vorherigen Charakterisierung fallen gelassen sein, seitdem P = NP wenn und nur wenn P = PH (weil würde der erstere feststellen, dass NP = co-NP, der der Reihe nach dass NP = PH andeutet). PSPACE = NPSPACE als der Lehrsatz von gegründetem Savitch, das folgt direkt von der Tatsache, dass das Quadrat einer polynomischen Funktion noch eine polynomische Funktion ist. Jedoch wird geglaubt, aber nicht bewiesen, dass eine ähnliche Beziehung zwischen den polynomischen Zeitkompliziertheitsklassen P und NP nicht bestehen kann, so ist die Frage noch offen.

Polynomisch-malige Algorithmen

Wie man

bekannt, läuft kein Algorithmus für jedes NP-complete Problem in der polynomischen Zeit. Jedoch gibt es Algorithmen für NP-complete Probleme mit dem Eigentum das, wenn P = NP, dann läuft der Algorithmus in der polynomischen Zeit (obwohl mit enormen Konstanten, den Algorithmus unpraktisch machend). Der folgende Algorithmus, wegen Levins, ist solch ein Beispiel. Es akzeptiert richtig die NP-complete Sprach-TEILMENGE-SUMME. Es führt polynomische Zeit wenn und nur wenn P = NP:

//Algorithmus, der die NP-complete Sprach-TEILMENGE-SUMME akzeptiert.

/ /

//Das ist ein polynomisch-maliger Algorithmus wenn und nur wenn P=NP.

/ /

//"Polynomisch-malig" bedeutet, dass es "ja" in der polynomischen Zeit wenn zurückgibt

//die Antwort sollte "ja" und Läufe für immer sein, wenn es "nein" ist.

/ /

//Eingang: S = ein begrenzter Satz von ganzen Zahlen

//Produktion: "Ja", wenn sich eine Teilmenge von S 0 beläuft.

//Läufe für immer ohne Produktion sonst.

//Zeichen: "Programm Nummer P" ist das durch erhaltene Programm

//das Schreiben der ganzen Zahl P in der Dualzahl, dann

//das Betrachten dass Schnur von Bit, um ein zu sein

//Programm. Jedes mögliche Programm kann sein

//erzeugt dieser Weg, obwohl die meisten nichts tun

//wegen Syntax-Fehler.

FÜR N = 1... Unendlichkeit

FÜR P = 1... N

Das geführte Programm Nummer P für N geht mit dem Eingang S

WENN die Programm-Produktionen eine Liste von verschiedenen ganzen Zahlen

UND die ganzen Zahlen sind alle in S

UND die ganzen Zahlen resümieren zu 0

DANN

PRODUKTION "ja" und HALT

Wenn, und nur wenn, P = NP, dann ist das ein polynomisch-maliger Algorithmus, der eine NP-complete Sprache akzeptiert. "Das Annehmen" bedeutet, dass es "ja" Antworten in der polynomischen Zeit gibt, aber erlaubt wird, für immer zu laufen, wenn die Antwort "nein" ist.

Dieser Algorithmus, ist selbst wenn P = NP enorm unpraktisch. Wenn das kürzeste Programm, das TEILMENGE-SUMME in der polynomischen Zeit lösen kann, b Bit lange ist, wird der obengenannte Algorithmus mindestens 21 andere Programme zuerst versuchen.

Formelle Definitionen für P und NP

Begrifflich ist ein Entscheidungsproblem ein Problem, das als Eingang eine Schnur w über ein Alphabet und Produktionen "ja" oder "nein" nimmt. Wenn es einen Algorithmus gibt (sagen Sie eine Maschine von Turing oder ein Computerprogramm mit dem unbegrenzten Gedächtnis), der die richtige Antwort für jede Eingangsschnur der Länge n in an den meisten Schritten erzeugen kann, wo k und c der Eingangsschnur unabhängige Konstanten sind, dann sagen wir, dass das Problem in der polynomischen Zeit behoben werden kann und wir es in die Klasse P legen. Formell wird P als der Satz aller Sprachen definiert, die durch eine deterministische polynomisch-malige Maschine von Turing entschieden werden können. Das, ist

:

wo

:

und eine deterministische polynomisch-malige Maschine von Turing ist eine deterministische Maschine von Turing M, die die folgenden zwei Bedingungen befriedigt:

  1. M Halte auf dem ganzen Eingang w und
  2. dort besteht solch, dass (wo sich O auf die große O Notation bezieht),

:: wo

:: und

NP kann ähnlich mit nichtdeterministischen Maschinen von Turing (der traditionelle Weg) definiert werden. Jedoch soll eine moderne Annäherung, um NP zu definieren, das Konzept des Zertifikats und verifier verwenden. Formell wird NP als der Satz von Sprachen über ein begrenztes Alphabet definiert, die einen verifier haben, der in der polynomischen Zeit läuft, wo der Begriff von "verifier" wie folgt definiert wird.

Lassen Sie L eine Sprache über ein begrenztes Alphabet sein.

L  NP wenn, und nur wenn, dort eine binäre Beziehung und eine positive ganze Zahl k solch besteht, dass die folgenden zwei Bedingungen zufrieden sind:

  1. Für alle, solch dass und; und
  2. die Sprache ist durch eine Maschine von Turing in der polynomischen Zeit entscheidbar.

Eine Turing Maschine, die L entscheidet, wird einen verifier nach L und einem solchem y genannt, der ein Zertifikat der Mitgliedschaft von x in L genannt wird.

Im Allgemeinen muss ein verifier nicht polynomisch-malig sein. Jedoch, für L, um in NP zu sein, muss es einen verifier geben, der in der polynomischen Zeit läuft.

Beispiel

Lassen Sie

:

:

Klar ist die Frage dessen, ob ein gegebener x eine Zusammensetzung ist, zur Frage dessen gleichwertig, ob x ein Mitglied der ZUSAMMENSETZUNG ist. Es kann gezeigt werden, dass ZUSAMMENSETZUNG  NP durch das Überprüfen, dass sie die obengenannte Definition befriedigt (wenn wir natürliche Zahlen mit ihren binären Darstellungen identifizieren).

ZUSAMMENSETZUNG ist auch zufällig in P.

Formelle Definition für die NP-Vollständigkeit

Es gibt viele gleichwertige Weisen, NP-Vollständigkeit zu beschreiben.

Lassen Sie, eine Sprache über ein begrenztes Alphabet zu sein.

ist NP-complete, wenn, und nur wenn die folgenden zwei Bedingungen zufrieden sind:

  1. ; und
  2. irgendwelcher ist "polynomische Zeit reduzierbar" darauf (schriftlich als), wo wenn, und nur wenn die folgenden zwei Bedingungen zufrieden sind:
  3. Dort besteht solch dass

\forall w\in\Sigma^ {*} (w\in L^ {'}\\Leftrightarrow f (w) \in L) </Mathematik>; und

  1. dort besteht eine polynomisch-malige Maschine von Turing, die mit auf seinem Band auf jedem Eingang hinkt.

Populäre Kultur

Handlungsreisender (2012-Film), durch Direktor Timothy Lanzone, ist die Geschichte von 4 von der US-Regierung angestellten Mathematikern, um das am meisten schwer erfassbare Problem in der Informatik-Geschichte zu beheben: P dagegen. NP.

Siehe auch

  • Spielkompliziertheit
  • Ungelöste Probleme in der Informatik
  • Ungelöste Probleme in der Mathematik

Referenzen

Weiterführende Literatur

Links


Kettenregel / Charles Sanders Peirce
Impressum & Datenschutz