Komplexitätsklassen P und NP

Das Verhältnis zwischen der Komplexitätsklassen P und NP ist eine Frage, die noch nicht von der Komplexitätstheorie beantwortet wurde. Im Wesentlichen ist die Frage, P = NP? bedeutet: wenn möglich "zu überprüfen" positive schnell zu einem Problem der Ja / Nein-Lösungen, ist es dann auch sein, "get" die Antworten schnell zu?

Ressourcen häufig in Rechenkomplexität untersucht werden:

- Zeit: durch eine Reihe von Schritten zur Durchführung eines Algorithmus verwendet, um ein Problem zu lösen, zu nähern.

- Space: durch Annähern der Größe des Speichers verwendet werden, um das Problem zu lösen.

Die Probleme werden in Gruppen oder Klassen von complejidad.Nosotros wir uns auf die P und NP-Klassen konzentrieren eingestuft.

Er gilt als das wichtigste Problem in diesem Bereich - das Clay Mathematics Institute hat einen Preis von einer Million Amerikaner, die für die ersten erfolgreichen Demonstration Dollar entwickeln angeboten.

Beispiel

Betrachten wir zum Beispiel die Teilsummenproblem, das ein Beispiel für ein einfaches Problem zu verifizieren ist, aber die Antwort wird angenommen, schwierig zu berechnen sein / finden. Bei einer Menge von ganzen Zahlen, gibt es eine nichtleere Teilmenge von ihnen, wobei die Summe seiner Elemente gleich 0? Zum Beispiel ist es eine Teilmenge aus der Menge {-2, -3, 15, 14, 7, -10}, so dass die Summe ihrer Bestandteile ist: 0? Die Antwort lautet ja, aber es kann einige Zeit dauern, um eine Untergruppe, die die Anforderung, je nachdem, was die Größe der Montage und Baugruppe ist erfüllt finden. Außerdem, wenn jemand sagt, dass die Antwort "ja, weil die Summe der {-2, -3, -10, 15} null," dann können wir sehr schnell und mit wenigen Rechnungen prüfen . Überprüfen Sie, dass die Summe gleich Null ist Teilmenge wird ein schneller Prozess, um die Untergruppe zu finden. Das benötigt, um eine positive / positives Ergebnis zu überprüfen Informationen wird als Zertifikat. So können wir feststellen, dass angesichts der richtigen Zertifikate, können Sie schnell die positiven Reaktionen unserer Problem zu überprüfen und aus diesem Grund ist das Problem in NP. Eine Antwort auf die Frage P = NP wäre festzustellen, ob Probleme Subset-Sum-Typ ist so einfach, die Lösung als Nachweis zu finden. Wenn Sie feststellen, dass P ungleich NP, bedeutet dies, dass einige Probleme NP wäre deutlich schwieriger, eine Lösung zu finden, es zu überprüfen. Wäre die Antwort für alle diese Probleme nicht nur auf das spezifische Beispiel der SUMA-Teilmenge.

Die Restriktions Probleme ja / keine wirklich nicht wichtig; selbst wenn kompliziertere Antworten erlaubt sind, ist die resultierende Problem äquivalent.

Kontext des Problems

Die Beziehung zwischen der Komplexität Klassen P und NP wird durch den Komplexitätstheorie untersucht, um die Berechnungstheorie Umgang mit den während der Berechnung erforderlichen Ressourcen ein bestimmtes Problem zu lösen. Die häufigsten Mittel sind Zeit und Raum.

Bei dieser Art der Analyse wird ein Computermodell, mit dem Sie die Anforderung in Bezug auf Zeit studieren wollen erforderlich. Typischerweise sind diese Modelle gehen davon aus, dass der Computer deter sequentiell. Diese Annahmen sind geeignet, um das Verhalten aller vorhandenen Computern dar, noch beinhaltet Maschinen mit Parallel-Computing.

In dieser Theorie besteht die Klasse P all dieser Probleme, die Entscheidung auf einem deter Sequentialmaschine in Polynoms Zeitperiode im Verhältnis zu den Eingangsdaten gelöst werden kann. In Komplexitätstheorie, ist eine der wichtigsten der P-Klasse; Die Klasse NP besteht aus all den Entscheidungsprobleme, deren positive / affirmative Lösungen in polynomieller Zeit davor die richtigen Informationen zugeführt, oder äquivalent, dessen Lösung in Polynomialzeit auf einem nichtdeterministische Maschine gefunden werden überprüft werden. Daher ist die wichtigste Frage unbeantwortet in der Theorie der Berechnung bezieht sich auf die Beziehung zwischen diesen beiden Klassen:


In einer Umfrage im Jahr 2002 unter den 100 Forschern durchgeführt, 61 angenommen, dass die Antwort war nein 9 angenommen, dass die Antwort war ja, 22 waren sich nicht sicher, und 8 angenommen, dass die Frage könnte unabhängig von den derzeit anerkannten Axiomen zu sein, und im sowohl unbeweisbar durch die JA oder NEIN.

Formale Definitionen

Genauer gesagt, ist ein Entscheidungsproblem ein Problem, das eine Reihe von als eine Lösung und eine Antwort für JA oder NEIN erforderlichen Eingabedaten angibt. Wenn es sich um einen Algorithmus, der Lage ist, die richtige Antwort für alle Datenfolgenlänge n in höchstens Schritten, wobei k und c sind unabhängig konstante Datensatz ist, dann wird gesagt, dass das Problem in polynomialer Zeit gelöst werden und als zu der Klasse P. Intuitiv gehörig klassifiziert, glauben wir, dass die Probleme in P sind diejenigen, die recht schnell gelöst werden können.

P ist in der Regel die Klasse des Berechnungsprobleme sind "lösbar wirksam" oder "behandelbar", obwohl es potentiell größeren Klassen werden auch als behandelbare RP und BPP. Aber es gibt auch Probleme in P, die nicht in der Praxis behandelbar; Beispielsweise erfordern einige Operationen zumindest.

Intuitiv könnte man denken, dass NP ist ein Entscheidungsproblem ist schwierig zu lösen, ob irgendwelche anderen Daten oder Informationen nicht zu besitzen. Allerdings, wenn weitere Informationen vorliegen, nannte ein Zertifikat, dann ist das Problem leicht gelöst werden. Zum Beispiel, wenn wir die Zahl 323 angegeben und wir fragen uns, ob 323 ist ein factorNummer, ohne uns Informationen oder weitere Informationen, sollten alle positiven ganzen Zahlen größer als 2, jedoch weniger als 323 zu analysieren, um zu studieren, wenn einer von ihnen geteilt genau auf 323. Allerdings, wenn wir die Zahl 17 angegeben, können wir 323 durch 17 teilen und schnell prüfen, ob 323 factor. Die Zahl 17 wird als Zertifikat. Der Teilungsprozess, um sicherzustellen, dass 323 ist factor ist im Wesentlichen eine Turing-Maschine und in diesem Fall wird als die prüfende Instanz 323. Technisch gesehen heißt es, dass das Problem ist einfacher, wenn Sie in polynomieller Zeit lösen können, und es ist schwierig, wenn in behoben exponentieller Zeit. Formal wird NP als eine Reihe von Sprachen, die bestimmte Bedingungen erfüllen definiert.

Sei L eine über einem endlichen Alphabet definierte Sprache sein.

Wenn es eine binäre Beziehung und eine positive ganze Zahl, so dass für alle folgenden Bedingungen erfüllt sind:

 so dass und O.

 Language = en ist vorhersehbar.


So Turing-Maschine, die er beschließt, wird als Verifier für und heißt das Zertifikat der Mitgliedschaft.

Schließlich ist es in NP "IFF" läuft in polynomialer Zeit.

Beispiel.

Seien =

 =

Selbstverständlich ist die Frage, ob ein gegebener ist faktorisierbar äquivalent zu der Frage, ob es ein Mitglied ist. In der Tat, können Sie ganz einfach beweisen, dass wenn nachgewiesen, dass die Bedingung bereits angedeutet.

Die P-Klasse

P ist bekannt, dass viele natürliche Probleme, einschließlich der Versionen Entscheidung des linearen Programms, die Berechnung des größten gemeinsamen Teiler enthalten, und finden Sie maximale Übereinstimmung.

Erhebliche Probleme bei P

Einige natürliche Probleme sind komplett für P, einschließlich Konnektivität in ungerichtete Graphen.

Eine Verallgemeinerung P NP, das die Sprachklasse entscheidbar in Polynomzeit auf einem nicht-deterministischen Turing Maschine ist. Trivialerweise ist, dass P eine Teilmenge von NP. Wenn auch nicht bewiesen, glauben die meisten Experten, dass dies eine strenge Untergruppe.

Hier ist EXPTIME die Art von lösbaren Probleme in exponentieller Zeit. Der oben gezeigten alle Klassen werden nur zwei strenge Contain bekannt:

  • P-Gehalt strikt EXPTIME.
  • L ist streng in PSPACE enthalten.


Die schwierigsten Probleme in P sind die P-vollständige Probleme

Eine weitere Verallgemeinerung der P nicht gleichmäßig Polynomialzeit. Ob ein Problem in P / poly, dann kann es in polynomialer Zeit gelöst werden ermittelt, die bei einer Kette, das nur abhängig von der Länge der Eingabe. Im Gegensatz zu NP, die defekten Ketten Eingabe der Turing-Maschine, da es nicht eine Prüfstelle wird nicht geprüft.

P / Poly ist eine große Klasse, die fast alle praktischen Algorithmen, einschließlich aller BPP enthält. Enthält es NP kollabiert Polynomialzeit-Hierarchie auf der zweiten Ebene. Außerdem enthält dieser auch einige unpraktisch Algorithmen, darunter auch einige nicht entscheidbar Probleme.

Immobilien

Polynomzeit Algorithmen sind relativ zu der Zusammensetzung geschlossen wird. Intuitiv bedeutet dies, dass, wenn Sie eine Funktion mit einem bestimmten polynomieller Zeit zu schreiben und wir glauben, dass Anrufe auf die gleiche Funktion konstant und in polynomieller Zeit sind, dann ist die volle Algorithmus ist Polynomialzeit. Dies ist einer der Hauptgründe, warum P wird als eine separate Maschine; Einige Funktionen dieses Geräts, wie beispielsweise Random Access ist in polynomieller Zeit die Haupt Polynomialzeit-Algorithmus zu einer Grundmaschine reduzieren sie berechnet werden.

Die existentielle Tests Polynomialzeit-Algorithmen

Es ist bekannt, dass einige Probleme sind in Polynomialzeit lösbar, aber keine spezifischen Algorithmus bekannt ist, sie zu lösen. Beispielsweise gewährleistet das Robertson-Seymour Satz, daß es eine endliche Liste zulässiger unter Zusammensetzen des Satzes von Graphiken, die auf einem Torus integriert werden kann; auch Robertson und Seymour gezeigt, dass es eine Komplexität O in dem Algorithmus zur Bestimmung, ob ein Graph ist ein Graph, enthalten. Dies gibt uns eine nicht-konstruktiven Beweis, dass es eine Polynomialzeitalgorithmus zu bestimmen, ob bei einer Grafik kann auf eines Torus integriert werden, obwohl sie nicht wissen, keine besondere Algorithmus für diese Problem.

Beispiele

Mindest Weg: den kürzesten Weg von einer Quelle Scheitelpunkt zu allen anderen Ecken.

Euler-Zyklus: Die Suche nach einer durchlaufen jedes Bogens eines Graphen einmal.

Die Klasse NP

Die Klasse NP besteht aus Probleme mit einer prägnanten Zertifikat für alle Instanzen, deren Antwort ist ja. Der einzige Weg, um ein Polynom Zeit führt eine Zufallsphase, einschließlich der Möglichkeit, irgendwie wählen eine mögliche Lösung, und dann später überprüft, ob die Lösung richtig.

Mit anderen Worten, da eine Lösung für eine bestimmte Instanz, können Sie überprüfen es in der Zeit gültig ist. Für SAT, als Zuordnung von Wahrheitswerten, können Sie leicht überprüfen, wenn die Formel wahr ist oder nicht. Ein nMT können "erraten" die Lösung in O, und überprüfen Sie in polynomieller Zeit.

Vollständigkeit NP

Zur Analyse der Frage, P = NP, ist das Konzept der NP-Vollständigkeit hilfreich. Informell werden die NP-vollständige Probleme die am "schwierigen" Probleme in NP in dem Sinne, dass sie sind diejenigen, die am ehesten in P. NP-harten Probleme sind nicht jene, für die jede NP Problem kann Es ist in polynomieller Zeit reduziert. NP-vollständige Probleme sind die NP-schwere Probleme in NP. Zum Beispiel das Entscheidungsproblem Version des Handelsvertreterproblem ist NP vollständig. So kein Problem, wenn eine NP kann mechanisch in einem Teil des Reiseproblem in polynomieller Zeit transformiert werden. Wenn daher das Problem des Handlungsreis wurde in P enthalten ist, dann ist P = NP. Das Problem des Handlungsreis ist eine von vielen NP-vollständige Probleme. Falls vorhanden NP-vollständiges Problem wird in P enthalten ist, dann wäre es, dass P = NP verifizieren. Unglücklicherweise hat es sich gezeigt, dass viele wichtige Probleme sind NP-vollständig und ist nicht bekannt, dass alle schnellen Algorithmus für sie.

Die obige Definition der NP ermöglicht selbstverständlich betrachten eine Klasse von zusätzlichen Problemen. Die co-NP besteht aus Problemen mit einer kurzen Gegen für alle Instanzen, deren Antwort ist nein.

Clique Problem

Clique rufen Sie folgende Aufgabe:

Gegeben ein Graph G und eine ganze Zahl k, ist es möglich, eine vollständige Teilgraph von G der Größe k finden?

• Klar Clique ist in NP.

• Jetzt müssen wir eine Reduktion SAT NP zu machen.

• Nehmen Sie eine Formel in KNF haben:

C1 C2 v v v ... Ck mit n Aussagenvariablen.

Wir werden ein Graph G mit einem Knoten für jede wörtliche in jeder Klausel erscheinen, bilden. Jeder Knoten ist mit der wörtlichen, die es geboren hat beschriftet. Hinzufügen eines Lichtbogens zwischen einem Knoten Markierung mit l und einem Knoten Markierung mit l0, wenn und nur wenn:

- L und L0 sind in verschiedenen Klauseln.

- L ist die komplementäre literal l.

Nehmen wir die folgende Formel: ^ ^. Der resultierende Graph ist als:


Jetzt zeigen wir, dass G einen vollständigen Graphen der Größe k, wenn erfüllbar ist. Wie alle Mitglieder der Untergraph gehören zu verschiedenen Klauseln, jede Bewertung, die wahr macht, alle wörtlichen im Graph macht wahre Formel. Wenn die Formel erfüllt ist, muss es eine Bewertung, die wahre mindestens eine wörtliche in jede Klausel macht. Sean l1 gehört zu C1, gehört l2 bis C2, ..., lk gehört Ck diese wörtliche. Man beachte, dass es nicht zwei komplementären Literalen Li und Lj ist. Notwendigerweise, dann können wir Bögen zwischen jedem Paar von Knoten, wo sie erscheinen wörtliche zu konstruieren, sagte nach den Regeln der Konstruktion des Graphen.


Beispiele

Maximaler Weg: Gegeben zwei Ecken eines Graphen, um die maximale Weg zu finden.

Hamilton-Zyklus: Einfache Zyklus enthält jeder Knoten des Graphen.

NP-vollständig

Um der Frage, ob P = NP, das Konzept der NP Vollständigkeit ist sehr nützlich. Informell werden die NP-vollständige Probleme die schwierigsten Probleme der NP, in dem Sinne, dass sie die höchstwahrscheinlich nicht in P. Der NP-vollständige Probleme sind solche NP-harten Probleme, die in NP, in denen enthalten sind NP-harten Probleme sind, so daß jede NP Problem kann, um polynomiale Komplexität reduziert werden. Zum Beispiel ist die Entscheidung des Handelsvertreterproblem ist NP-vollständig, so dass jede Falle eines Problems in NP kann mechanisch im Fall des Handelsvertreterproblem, Polynom Komplexität umgewandelt werden. Das Problem des Handlungsreis sind die vielen bestehenden NP-vollständige Probleme. Wenn eine NP-vollständiges Problem war in P, dann würde es zeigen, dass P = NP. Unglücklicherweise ist es bekannt, dass viele wichtige Probleme NP-vollständig und ab dem Jahr 2008 wird keine schnellen Algorithmus für einen von ihnen bekannt sind. Nur basierend auf dieser Idee ist es nicht offensichtlich, dass es eine NP-vollständiges Problem. Da eine Beschreibung einer Turing-Maschine M stoppt in polynomieller Zeit, gibt es ein Polynom Eingangsgröße M akzeptieren: NP-vollständiges Problem und entwickelte trivial, kann wie folgt formuliert werden? Es ist NP, da angesichts eines Eingangs, einfacheren Überprüfung, wenn M nicht akzeptiert oder Eingabe simuliert M, NP-schwer ist, weil der Prüfer für einen bestimmten Fall Problem NP kann als M von Polynom-Zeitmaschine codiert werden, dass die statt Lösung, die als Eingabe überprüft werden. Die Frage, ob oder ob nicht der Fall ist ein Fall, wird durch die Existenz eines gültigen Eintrag bestimmt. Das erste Problem, das natürlich zu sein NP-vollständig bewiesen, war die Boolesche Erfüllbarkeit Problem. Das Ergebnis wird als das Theorem bekannt Cook-Levin, seinen Nachweis, dass die Erfüllbarkeit ist NP-vollständig enthält die technischen Einzelheiten zu den Turing-Maschinen und wie sie sich auf die Definition der NP beziehen. Nachdem jedoch wurde gezeigt, dass das Problem NP-vollständig ist, Nachweis von einer Reduktion, sofern es einen einfachen Weg, um zu zeigen, daß viele andere Probleme sind in dieser Klasse. Daher ist eine große Klasse von scheinbar unabhängige Probleme sind reduzierbare zum anderen, und in diesem Sinne sind das gleiche Problem.

  0   0
Vorherige Artikel Orion Klasse
Nächster Artikel Thomas Holley Chivers

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha