Was ist die große Version von NC?


21

O ( log c n ) O ( n k ) c k n c 2 n kNC fängt die Idee einer effizienten Parallelisierung ein, und eine Interpretation davon sind Probleme, die in der Zeit mit parallelen Prozessoren für einige Konstanten , lösbar sind . Meine Frage ist, ob es eine analoge Komplexitätsklasse gibt, in der die Zeit und die Anzahl der Prozessoren beträgt . Zum Ausfüllen der leeren Frage:O(logcn)O(nk)cknc2nk

P E X PNC ist zu als _ _ ist zuPEXP

Insbesondere interessiere ich mich für ein Modell, bei dem eine exponentielle Anzahl von Computern in einem Netzwerk mit polynomial begrenztem Grad angeordnet ist (sagen wir, das Netzwerk ist unabhängig von der Eingabe / dem Problem oder zumindest leicht zu konstruieren oder von anderen vernünftigen Gleichförmigkeitsannahmen ). Zu jedem Zeitschritt:

  1. Jeder Computer liest die Polynomzahl der polynomgroßen Nachrichten, die er im vorherigen Zeitschritt empfangen hat.
  2. Auf jedem Computer wird eine Polytime-Berechnung ausgeführt, die von diesen Meldungen abhängen kann.
  3. Jeder Computer gibt an jeden seiner Nachbarn eine Nachricht (mit einer bestimmten Länge) weiter.

Wie heißt eine Komplexitätsklasse, die diesen Modellen entspricht? Was ist ein guter Ort, um über solche Komplexitätsklassen zu lesen? Gibt es für eine solche Klasse vollständige Probleme?



Wir haben , N C = A S p a c e T i m e ( O ( log n ) , ( log n ) O ( 1 ) ) , NCk=ASpaceTime(O(logn),(logn)k)NC=ASpaceTime(O(logn),(logn)O(1)) , E X P = T i m e ( 2 n 0 ( 1 ) ) . Die zu N C k korrespondierende Klassekönnte also so etwas wie A S p a c e T i m e ( n O ( 1 ) , 2 O ( log n) seinP=Time(nO(1))EXP=Time(2nO(1))NCkund die entsprechende Klasse dannNC wirdASpaceTime(n O ( 1 ) ,2 ( log n ) O ( 1 ) ). Es ist nur eine algebraische Manipulation, ich habe nicht überprüft, ob sie Ihren Anforderungen entspricht, aber ich denke, dass sie die drei Bedingungen erfüllt, aber nicht über exponentiell viele Computer verfügt. Ich denke, Sie sollten diese Anforderung ansonsten fallen lassen (mehr)ASpaceTime(nO(1),2O(logn)k)NCASpaceTime(nO(1),2(logn)O(1))
Kaveh

Die resultierende Klasse wird und die Analogie wird nicht als N C P gelten . EXPNCP
Kaveh

Ich verstehe nicht, wo Sie bekam den Raum Komplexität. Soweit ich weiß, erlaubt N C polynomiell viele Tore. Wenn wir uns an Ihrem Analog orientieren möchten, sollten wir N C als P T / W K ( l o g c n , n k ) / p o l y betrachten, und dann ist die Komplexitätsklasse, nach der ich suche, etwas wie P T / W K ( n c , 2lognNCNCPT/WK(logcn,nk)/poly. Ich hatte jedoch gehofft, dass es eine bessere Charakterisierung gibt als diese. PT/WK(nc,2nk)/poly
Artem Kaznatcheev

Das ist Standard (obwohl es nicht im Complexity Zoo ist), überprüfen Sie zB Ruzzo, "On uniform circuit complexity", 1981. Auch ich denke, Sie sollten mit einheitlichen Klassen arbeiten, jede Funktion hat exponentielle Größenwechsel / logische Tiefe 2 Schaltungen (und Dies wird die drei Bedingungen erfüllen, wenn wir begrenztes Fan-In und Tiefen- ) verwenden. Und wie gesagt, wenn es exponentiell viele Knoten gibt, dann gilt die Analogie nicht. Auch eine Haupteigenschaft der parallelen Berechnung wird Zeit gespart, es ist zB Poly-log Zeit im Fall von N C . Ich denke, Quasi-Polynom-Zeit würde Poly-Log-Zeit entsprechen. lognNC
Kaveh

Antworten:


27

Ich glaube , die Klasse Sie suchen , ist . Angenommen, Sie haben e x p ( n k ) = 2 O ( n k ) Prozessoren, die die Anforderungen erfüllen:PSPACEexp(nk)=2O(nk)

  1. Jeder Computer liest die Polynomzahl der polynomgroßen Nachrichten, die er im vorherigen Zeitschritt empfangen hat.
  2. Auf jedem Computer wird eine Polytime-Berechnung ausgeführt, die von diesen Meldungen abhängen kann.
  3. Jeder Computer gibt an jeden seiner Nachbarn eine Nachricht (mit einer bestimmten Länge) weiter.

Dies kann mit einer Schaltung mit modelliert werden Schichten, wobei jede Schicht e x p ( n k ) „gates“, und jedes „Gate“ funktioniert einen Polynom Zeitberechnung (befriedigend Teil 2) mit Polynom Fan-In (Teil 1) und Polynom-Fan-Out (Teil 3). poly(n)exp(nk)

Da jedes Gatter eine Polynomzeitfunktion berechnet, kann jede durch eine polynomgroße Schaltung (mit UND / ODER / NICHT) auf die übliche Weise ersetzt werden. Beachten Sie, dass die polynomiellen Fan-Ins und Fan-Outs auf 2 festgelegt werden können, indem die Tiefe nur um einen Faktor ( log n ) erhöht wird. Was bleibt , ist ein p o l y ( n ) Tiefe einheitliche Schaltung mit e x p ( n k ) UND / ODER / NICHT - Gatter. Dies ist genau die alternierende Polynomzeit, die genau P S P A C E ist .O(logn)poly(n)exp(nk)PSPACE


Ryan, ich weiß nicht, wie Sie die exponentielle Anzahl von Computern in polynomiell viele Schichten einteilen. Es scheint mir, dass die Tiefe exponentiell sein kann. Können Sie es ein bisschen genauer erklären, warum dies möglich ist? Auch scheint mir der triviale Aufbau einer CNF-Schaltung einer beliebigen Funktion als Fan-In-2-Schaltung den Anforderungen zu genügen, fehle ich etwas?
Kaveh

1
@Kaveh: Ich verstehe deine erste Frage nicht. Obwohl es für jede Funktion eine Schaltung mit der Tiefe 2 in Exponentialgröße gibt, erfordert NC (Poly), dass Sie die Schaltungen einheitlich generieren können, damit Sie nicht für jede Eingangsgröße beliebige Schaltungen erzeugen können.
Robin Kothari

@ Robin, danke. Wahrscheinlich bin ich verwirrend. (Ich bin der Meinung, dass die Tiefe der Schaltkreise, die PSpace entsprechen, exponentiell sein sollte. Ich denke auch, dass PSpace EXP ist, so wie L für P ist. Dasselbe zu sagen, wenn L durch NC ersetzt wird, ist für mich seltsam. Ich denke, dass die Klasse, die wir sind Die Pflege sollte zwischen PSpace und EXP liegen.) Ich muss ein bisschen mehr nachdenken, um zu verstehen, was hier vor sich geht.
Kaveh

@Kaveh, ich habe die Anzahl der Ebenen (dh die Tiefe) als exponentiell zugewiesen, daher kann die Tiefe per Definition nicht exponentiell sein. Es gibt exponentiell viele Prozessoren, sodass Ihr CNF ein exponentielles Fan-In benötigt, wodurch eine der Bedingungen verletzt wird. Die Tiefe von Schaltkreisen mit Exponentialgröße, die PSPACE entsprechen, ist polynomiell. Der Grund dafür, dass dies zutrifft, und der Grund dafür, dass beide Analogien in gewisser Weise "gültig" sind ("PSPACE ist zu EXP wie L zu P" und "PSPACE ist zu EXP wie NC zu P"), ist, dass PSPACE = Alternating Polynom Zeit. Wir wissen nicht, ob L = alternierende logarithmische Zeit ist (dies ist NC1).
Ryan Williams

Ich denke, ich verstehe die Situation besser, nachdem ich Ihre und Robins Kommentare gelesen habe, danke.
Kaveh

21

Wie Ryan sagt, ist diese Klasse PSPACE. Diese Klasse wird in der Literatur häufig als NC (Poly) bezeichnet. Hier ist ein direktes Zitat aus dem QIP = PSPACE- Papier:

Wir betrachten eine vergrößerte Variante von NC, bei der es sich um die Komplexitätsklasse NC (poly) handelt, die aus allen Funktionen besteht, die durch polynomraumuniformierte Familien von Booleschen Schaltungen mit Polynomtiefe berechenbar sind. (Die Notation NC (2 poly ) wurde auch zuvor für diese Klasse verwendet [11].) Für Entscheidungsprobleme ist bekannt, dass NC (poly) = PSPACE [10].

[10] A. Borodin. Zeit und Raum in Beziehung setzen zu Größe und Tiefe. SIAM Journal on Computing, 6: 733–744, 1977.

[11] A. Borodin, S. Cook und N. Pippenger. Parallele Berechnung für gut ausgestattete Ringe und weltraumgebundene probabilistische Maschinen. Information and Control, 58: 113–136, 1983.

Eine Möglichkeit, dies zu sehen, besteht darin, beide Einschlüsse direkt zu beweisen. Um zu sehen, dass sich NC (poly) in PSPACE befindet, können wir die Ausgabe des endgültigen Gatters rekursiv berechnen und benötigen nur einen Stapel mit einer Größe, die der Tiefe der Schaltung entspricht, die polynomiell ist. Um zu zeigen, dass sich PSPACE in NC (poly) befindet, ist zu beachten, dass QBF, das PSPACE-vollständig ist, wie üblich als Polynomtiefenschaltung mit exponentiell vielen Gattern geschrieben werden kann - der existierende Quantifizierer ist ein ODER-Gatter, der Forall-Quantifizierer ist ein UND-Gatter. Da es nur polynomisch viele Quantifizierer gibt, handelt es sich um eine polynomische Tiefenschaltung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.