NL (Komplexität)
Im Computerkomplexitätstheorie, Nl (Nondeterministisch Logarithmischer Raum) ist der Komplexitätsklasse enthält Entscheidungsprobleme das kann durch a gelöst werden Nichtdeterministische Turing -Maschine Verwendung einer logarithmisch Menge von Speicherraum.
Nl ist eine Verallgemeinerung von L, die Klasse für Logspace -Probleme auf a deterministische Turing -Maschine. Da jede deterministische Turing -Maschine auch a ist Nichtdeterministische Turing -Maschine, wir haben das L ist in Nl.
Nl kann in Bezug auf die Rechenressource formell definiert werden Nichtdeterministischer Raum (oder nspace) als Nl = Nspace(Protokoll n).
Wichtige Ergebnisse in der Komplexitätstheorie ermöglichen es uns, diese Komplexitätsklasse mit anderen Klassen in Beziehung zu setzen und uns über die relative Kraft der beteiligten Ressourcen zu informieren. Führt auf dem Gebiet von AlgorithmenMit dieser Ressource können Sie uns andererseits mitgeteilt werden, welche Probleme gelöst werden können. Wie viel Komplexitätstheorie, viele wichtige Fragen zu Nl sind immer noch offen (sehen Ungelöste Probleme in der Informatik).
Gelegentlich Nl wird bezeichnet als Rl wegen seines Probabilistische Definition unter; Dieser Name wird jedoch häufiger verwendet, um sich zu beziehen Randomisierter logarithmischer Raum, was nicht gleich bekannt ist Nl.
NL-Complete-Probleme
Es ist bekannt NL-Complete unter Log-Raum-Reduzierungen, einschließlich ST-Verbindlichkeit und 2-Satsfabilität. ST-Verbindlichkeit fragt nach Knoten S und T in einem gerichteter Graph, ob T ist erreichbar aus S. 2-Satsfabilität fragt, gegeben a Aussagen Formel, von denen jede Klausel die ist disjunktion von zwei Literalen, wenn es eine variable Zuordnung gibt, die die Formel wahr macht. Eine Beispielinstanz, wo zeigt an nicht, könnte sein:
Containments
Es ist bekannt, dass Nl ist in P, da es a gibt Polynom-Zeit-Algorithmus zum 2-Satsfabilität, aber es ist nicht bekannt, ob Nl = p oder ob L = nl. Es ist bekannt, dass Nl = co-nl, wo Co-Nl ist die Klasse von Sprachen, deren Ergänzungen sind in Nl. Dieses Ergebnis (das Imerman -Szelepcsényi Theorem) wurde unabhängig voneinander entdeckt von Neil Immerman und Róbert Szelepcsényi 1987; Sie erhielten die 1995 Gödel -Preis für diese Arbeit.
Im Komplexität der Schaltung, Nl kann innerhalb der platziert werden NC Hierarchie. In Papadimitriou 1994, Theorem 16.1 haben wir:
- .
Etwas präziser, Nl ist in AC1. Es ist bekannt, dass Nl ist gleich Zpl, die Klasse der Probleme, die durch randomisierte Algorithmen im logarithmischen Raum und unbegrenzten Zeit ohne Fehler lösbar sind. Es ist jedoch nicht bekannt oder vermutlich, dass es gleich ist RLP oder Zplpdie Polynomzeitbeschränkungen von Rl und Zpl, was einige Autoren als als bezeichnet Rl und Zpl.
Wir können uns beziehen Nl deterministischen Raum verwenden Savitchs Theorem, was uns sagt, dass jeder nichtterministische Algorithmus durch eine deterministische Maschine im höchstens quadratisch mehr Platz simuliert werden kann. Aus Savitchs Theorem haben wir direkt Folgendes:
Dies war die stärkste deterministische Raumeinbeziehung, die 1994 bekannt war (Papadimitriou 1994 Problem 16.4.10, "Symmetrischer Raum"). Da größere Weltraumklassen nicht durch quadratische Erhöhungen beeinflusst werden, sind die nichtdeterministischen und deterministischen Klassen als gleich bekannt, so dass wir beispielsweise haben PSPACE = Npspace.
Alternative Definitionen
Probabilistische Definition
Vermuten C ist der Komplexitätsklasse von Entscheidungsprobleme lösbar im logarithmitischen Raum mit Probabilistische Turing -Maschinen das akzeptiert niemals falsch, dürfte jedoch weniger als 1/3 der Zeit falsch ablehnen. das nennt man einseitiger Fehler. Die Konstante 1/3 ist willkürlich; irgendein x mit 0 ≤ x < 1/2 would suffice.
Es stellt sich heraus, dass C = Nl. Beachte das CIm Gegensatz zu seinem deterministischen Gegenstück L, ist nicht auf Polynomzeit beschränkt, da es zwar eine Polynomzahl von Konfigurationen hat, kann zufällig aus einer unendlichen Schleife entkommen. Wenn wir es auf Polynomzeit beschränken, erhalten wir die Klasse Rl, was in enthalten ist, aber nicht bekannt ist oder als gleich angenommen wird Nl.
Es gibt einen einfachen Algorithmus, der das festlegt C = Nl. Deutlich C ist in Nl, seit:
- Wenn sich die Zeichenfolge nicht in der Sprache befindet, lehnen beide alle Berechnungspfade ab.
- Wenn die Zeichenfolge in der Sprache ist, an Nl Algorithmus akzeptiert entlang mindestens einem Berechnungsweg und a C Algorithmus akzeptiert mindestens zwei Drittel seiner Berechnungspfade.
Zu zeigen, dass Nl ist in Cwir nehmen einfach eine Nl Algorithmus und wählen Sie einen zufälligen Berechnungsweg der Länge n, und führen Sie diese 2 ausn mal. Weil kein Berechnungsweg die Länge überschreitet nund weil es 2 gibtn Insgesamt Berechnungspfade haben wir eine gute Chance, das Akzeptieren zu treffen (unten durch eine Konstante begrenzt).
Das einzige Problem ist, dass wir keinen Platz im Protokollraum für einen binären Zähler haben, der auf 2 gehtn. Um dies zu umgehen, ersetzen wir es durch a zufällig Zähler, der einfach flippt n Münzen und Stopp und lehnt ab, wenn sie alle auf Köpfen landen. Da dieses Ereignis Wahrscheinlichkeit 2 hat 2−n, wir erwarten von 2 nehmen 2n Schritte im Durchschnitt, bevor Sie anhalten. Es muss nur die Anzahl der Köpfe hintereinander führen, die es sieht, die es im Protokollraum zählen kann.
Wegen dem Imerman -Szelepcsényi Theorem, nach der NL unter Ergänzungen geschlossen wird, kann der einseitige Fehler in diesen probabilistischen Berechnungen durch Null-Seitenfehler ersetzt werden. Das heißt, diese Probleme können durch probabilistische Turing -Maschinen gelöst werden, die den logarithmischen Raum verwenden und niemals Fehler machen. Die entsprechende Komplexitätsklasse, für die auch die Maschine nur die Polynomzeit verwenden muss, wird als ZPLP bezeichnet.
Wenn wir also nur den Raum allein betrachten, scheint es, dass Randomisierung und Nichtdeterminismus gleichermaßen stark sind.
Zertifikatdefinition
Nl kann äquivalent charakterisiert werden durch Zertifikate, analog zu Klassen wie z. Np. Betrachten Sie eine deterministische logarithmische Turing-Maschine mit begrenzten Turing-Maschine mit einem zusätzlichen schreibgeschützten Eingangsband. Eine Sprache ist in Nl Wenn und nur wenn eine solche Turing -Maschine ein Wort in der Sprache für eine angemessene Auswahl des Zertifikats in seinem zusätzlichen Eingabeband akzeptiert und ein Wort in der Sprache unabhängig vom Zertifikat ablehnt.[1]
Cem sagen und Abuzer Yakaryılmaz haben gezeigt, dass die deterministische logarithmische Raumturing-Maschine in der obigen Anweisung durch eine probabilistische Turing-Maschine mit begrenztem Erreger ersetzt werden kann, die nur eine konstante Anzahl zufälliger Bits verwenden darf.[2]
Beschreibende Komplexität
Es gibt eine einfache logische Charakterisierung von Nl: Es enthält genau jene Sprachen, die ausdrücklich sind Logik erster Ordnung mit einem zusätzlichen Transitive Schließung Operator.
Verschlusseigenschaften
Die Klasse NL wird im Rahmen der Operations -Komplementation, Gewerkschaft und damit der Kreuzung geschlossen. Verkettung, und Kleene Star.
Anmerkungen
- ^ Arora, Sanjeev; Barak, Boaz (2009)."Definition 4.19". Komplexitätstheorie: ein moderner Ansatz. Cambridge University Press. ISBN 978-0-521-42426-4.
- ^ A. C. Cem Say, Abuzer Yakaryılmaz, "Finite -State -Verifungsanlagen mit konstanter Zufälligkeit", Logische Methoden in der Informatik, Vol.10 (3: 6) 2014, S. 1-17.
Verweise
- Komplexitätszoo: Nl
- Papadimitriou, C. (1994)."Kapitel 16: Logarithmischer Raum". Rechenkomplexität. Addison-Wesley. ISBN 0-201-53082-1.
- Michael Sipser (27. Juni 1997)."Abschnitte 8.4–8.6: Die Klassen L und NL, NL-Completness, NL Equals Conl". Introduction to the Theory of Computation. PWS Publishing. pp.294–302. ISBN 0-534-94728-x.
- Einführung in die Komplexitätstheorie: Vortrag 7.Od Goldreich.Satz 6.1.Unser C ist das, was Goldreich Badrspace (log n) nennt.