P-complete
Im Computerkomplexitätstheorie, a Entscheidungsproblem ist P-Complete (Komplett für die Komplexitätsklasse P) Wenn es in ist P und jedes Problem in P kann reduziert werden dazu durch eine angemessene Reduzierung.
Der Begriff von P-Complete Entscheidungsprobleme sind nützlich bei der Analyse von:
- Welche Probleme sind schwer zu parallelisieren, effektiv zu parallelisieren,
- Welche Probleme im begrenzten Raum schwer zu lösen sind.
Insbesondere, wenn stärkere Reduktibilitätsvorstellungen als Polytime-Reduzierbarkeit berücksichtigt werden.
Die spezifische Art der verwendeten Reduktion variiert und kann die genauen Reihe von Problemen beeinflussen. Generell werden reduzierende Reduktionen als Polynomzeitverringerungen verwendet, da alle Sprachen in P (außer der leeren Sprache und der Sprache aller Saiten) sind P-Complete unter Polynomzeitverringerungen. Wenn wir verwenden NC Reduzierungen, dh Reduktionen, die in Betrieb arbeiten können Polylogarithmische Zeit auf einem parallelen Computer mit einer Polynomzahl von Prozessoren, dann alle P-Complete -Probleme liegen draußen NC und kann daher unter der unbewiesenen Annahme nicht effektiv parallelisiert werden NC≠P. Wenn wir das stärker verwenden Log-Raum-Reduktion, Dies bleibt wahr, aber außerdem lernen wir das alle P-Complete -Probleme liegen draußen L unter der schwächeren unbewiesenen Annahme das L≠P. In diesem letzteren Fall der Satz P-Complete kann kleiner sein.
Motivation
Die Klasse P, typischerweise, um alle "Tractable" -Probleme für einen sequentiellen Computer zu bestehen, enthält die Klasse NC, was aus diesen Problemen besteht, die auf einem parallelen Computer effizient gelöst werden können. Dies liegt daran, dass parallele Computer auf einer sequentiellen Maschine simuliert werden können. Es ist nicht bekannt, ob NC=P. Mit anderen Worten, es ist nicht bekannt, ob es inhärent sequentielle Probleme gibt. So wie es weithin vermutet wird P ist nicht gleich Npso wird weithin vermutet, dass das NC ist nicht gleich P.
Ebenso die Klasse L Enthält alle Probleme, die von einem sequentiellen Computer im logarithmischen Bereich gelöst werden können. Solche Maschinen werden in Polynomzeit ausgeführt, da sie eine Polynomzahl von Konfigurationen haben können. Es wird vermutet, dass L≠P; Das heißt, einige Probleme, die in der Polynomzeit gelöst werden können, erfordern auch mehr als logarithmisch.
Ähnlich wie bei der Verwendung von NP-Complete Probleme zur Analyse der P=Np Frage, die P-Komplete Probleme, die als "wahrscheinlich nicht parallelisierbar" oder "wahrscheinlich inhärent sequentielle" Probleme angesehen werden, dient in ähnlicher Weise, um das zu untersuchen NC=P Frage. Einen effizienten Weg finden, um die Lösung für einige zu parallelisieren P-Complete Problem würde das zeigen NC=P. Es kann auch als "Probleme betrachtet werden, die einen Superlogarithmischen Raum erfordern"; eine Log-Raum-Lösung für a P-Complete-Problems (unter Verwendung der Definition basierend auf Log-Raum L=P.
Die Logik dahinter ist analog zur Logik, dass eine Polynomzeitlösung für eine Np-Complete Problem würde beweisen P=Np: Wenn wir eine haben NC Reduzierung von jedem Problem in P zu einem Problem a und a NC Lösung für a dann NC=P. In ähnlicher Weise, wenn wir eine Log-Raum-Reduktion von einem Problem in einem Problem haben P zu einem Problem A und einer Log-Raum-Lösung für a dann L=P.
P-Complete-Probleme
Das einfachste P-Complete Problem unter logspace Viele Reduktionen folgen: gegeben a Turing Maschine , ein Eingang für diese Maschine X und eine Zahl T (geschrieben in einstellig), Halt diese Maschine diesen Eingang innerhalb des ersten T Schritte? Für jeden x in In P die Codierung der Turing-Maschine ausgeben, die sie in Polynomzeit, die Codierung von X selbst und eine Reihe von Schritten akzeptiert entsprechend dem P, das dort an der Turing-Maschine an der Polynomzeit gebunden ist entscheiden , . Die Maschine m hält auf x innen an Schritte Wenn und nur wenn X in L. klar ist. Wenn wir eine allgemeine Simulation eines sequentiellen Computers parallelisieren können (dh die Turing -Maschinen -Simulation eines Turing -Maschine), können wir jedes Programm parallelisieren, das auf diesem Computer ausgeführt wird . Wenn dieses Problem in ist NCso ist auch jedes andere Problem in P. Wenn die Anzahl der Schritte in binär geschrieben ist, ist das Problem Expime-Complete. Dieses Problem zeigt einen gemeinsamen Trick in der Theorie von P-Vollständigkeit. Wir sind nicht wirklich daran interessiert, ob ein Problem auf einer parallele Maschine schnell gelöst werden kann. Wir sind nur daran interessiert, ob eine parallele Maschine es löst viel mehr schnell als eine sequentielle Maschine. Daher müssen wir das Problem neu formulieren, damit die sequentielle Version in der P. Deshalb erforderte dieses Problem T in Unary geschrieben sein. Wenn eine Zahl T ist geschrieben als binär Nummer (eine Zeichenfolge von n Eins und Nullen, wo n= LogT), dann kann der offensichtliche sequentielle Algorithmus Zeit 2 dauern 2n. Andererseits, wenn T wird als Unary -Nummer geschrieben (eine Zeichenfolge von n Einen, wo n=T), dann braucht es nur Zeit n. Durch Schreiben T In Unary als Binary haben wir den offensichtlichen sequentiellen Algorithmus von der exponentiellen Zeit bis zur linearen Zeit reduziert. Das macht das sequentielle Problem in P. Dann wird es in sein NC wenn und nur wenn es parallelisierbar ist.
Es wurden viele andere Probleme erwiesen, als es sich handelt P-Complete, und es wird daher allgemein angenommen, dass sie von Natur aus sequentiell sind. Dazu gehören die folgenden Probleme, die sind P-Complete unter mindestens Logspace-Reduzierungen, entweder als gegeben oder in einem Entscheidungsproblem:
- Schaltungswertproblem (CVP) - gegeben a SchaltkreisBerechnen Sie den Ausgang dieses Gates.
- Eingeschränkter Fall von CVP - Wie CVP, außer dass jedes Gate zwei Eingänge und zwei Ausgänge (f und nicht f) hat, ist jede andere Schicht gerecht und Gates, der Rest sind oder Gates (oder entsprechend alle Tore sind NAND -Gates oder alle Gates sind NOR -Gates), die Eingaben eines Tors stammen aus der unmittelbaren vorhergehenden Schicht
- Lineares Programmieren - Maximieren Sie eine lineare Funktion, die linearen Ungleichheitsbeschränkungen unterliegt
- Lexikografisch erste Tiefe erste Suchreihenfolge - gegeben a Graph mit festgeordneten Adjazenzlisten und Knoten u und v, ist Scheitelpunkt u vor dem Scheitelpunkt besucht v In einer Tiefe-First-Suche in der Reihenfolge der Adjazenzlisten induziert?
- Kontextfreie Grammatikmitgliedschaft - gegeben a Kontextfreie Grammatik Und eine Zeichenfolge, kann diese Zeichenfolge durch diese Grammatik generiert werden?
- Hornsanschlag - Bei einem Satz von HornklauselnGibt es eine variable Zuordnung, die sie erfüllt? Das ist P's Version der Boolesche Zufriedenheitsproblem.
- Game of Life - gegeben eine anfängliche Konfiguration von Conways Leben des Lebens, eine bestimmte Zelle und eine Zeit T (in Unary) ist diese Zelle lebendig danach T Schritte?
- LZW (Algorithmus) (1978 Paradigm) Datenkomprimierung - gegebene Zeichenfolgen s und t, wird komprimieren s mit einer LZ78 -Methode hinzufügen t zum Wörterbuch? (Beachten Sie das für LZ77 Komprimierung wie gzipDies ist viel einfacher, da sich das Problem auf "ist" ist " t in s? ".)
- Geben Sie Inferenz ein für Teiltypen - gegeben eine ungetarn Begriff aus dem Lambda -Kalkül, bestimmen Sie, ob dieser Begriff einen Teiltyp hat.
Die meisten oben oben genannten Sprachen sind P-Complete unter noch stärkeren Reduktionsvorstellungen, wie z. B. einheitlich Viele Reduktionen, Dlogime-Reduktionen oder Polylogarithmische Projektionen.
Um zu beweisen, dass ein bestimmtes Problem in P ist P-Complete versucht normalerweise, einen bekannten zu reduzieren P-Complete Problem zum gegebenen.
Im Jahr 1999 zeigten Jin-yi Cai und D. Sivakumar, die auf Arbeiten von Ogihara aufbauten spärliche Sprache das ist P-Complete, dann L=P.[1]
P-Complete -Probleme können mit unterschiedlichen Lösungen lösbar sein Zeitkomplexität. Zum Beispiel die Schaltungswertproblem kann gelöst werden lineare Zeit durch eine Topologische Art. Natürlich, weil die Reduzierungen auf a P-Complete Problem kann unterschiedliche Zeitkomplexität haben, diese Tatsache bedeutet nicht, dass alle Probleme in P kann auch in linearer Zeit gelöst werden.
Probleme, die nicht als P-Complete bekannt sind
Etwas Np-Probleme sind auch nicht bekannt Np-Complete oder in P. Diese Probleme (z. Factoring, Graph Isomorphismus, Paritätsspiele) werden vermutet, dass sie schwierig sind. Ebenso gibt es Probleme in P Es ist auch nicht bekannt, dass es sich auch darum kümmert P-Complete oder NC, werden aber als schwer zu parallelisieren. Beispiele sind die Entscheidungsproblemformen des Findens der größter gemeinsamer Teiler von zwei Zahlen, um zu bestimmen, was Antwort auf erweiterter euklidischer Algorithmus würde zurückkehren, wenn er zwei Zahlen gegeben hat und die berechnet Maximales Gewichtsanpassung einer Grafik mit großen Ganzzahlgewichten.
Anmerkungen
- ^ Cai, Jin-yi; Sivakumar, D. (1999), "Spärliche harte Sets für P: Auflösung einer Vermutung von Hartmanis", Journal of Computer and System Sciences, 58 (2): 280–296, doi:10.1006/jcs.1998.1615
Verweise
- Greenlaw, Raymond, James Hoover und Walter Ruzzo. 1995. Grenzen für parallele Berechnung; P-Completness-Theorie. ISBN0-19-508591-4. -Entwickelt die Theorie, katalogisiert dann 96 P-Complete-Probleme.
- Satoru Miyano, Shuji Shiraishi und Takayoshi Shoudai. Eine Liste von P-Complete-Problemen. Kyushu University, Rifis-TR-CS-17. Dezember 1990.