Circuit Complexity Charaterization für DLogTime und NLogTime

13

und N L o g T i m e sind zwei der kleinsten Komplexitätsklassen, die wir haben. (Beachten Sie, dass die logarithmische Zeithierarchie L H gleich A C 0 ist und dies die ersten beiden Ebenen von L H sind. )DLogTimeNLogTimeLHAC0LH

Nach der Lektüre dieser Frage , werde ich interessiere die Trennung zwischen diesen beiden Klassen zu sehen , ob bekannt ist , und in der Tat ist es leicht , sie da zu trennen . (dank Robin Kothari Siehe auch bekanntOR(x1,...,xn)NLogTimeDLogTime). Jetzt bin ich daran interessiert, ihre entsprechende Charakterisierung der Schaltungskomplexität zu kennen. Ich habe ein bisschen gesucht und ein paar Leute gefragt, konnte aber keine Antwort finden.

Haben wir schöne Schaltungskomplexitätscharakterisierungen für die Komplexitätsklassen und N L o g T i m e ?DLogTimeNLogTime

Hinweis: zeigt sich eine Menge bei der Definition Einheitlichkeit für kleine Komplexitätsklassen. Beachten Sie, dass diese Maschinen aufgrund der kurzen Zeitspanne nicht die gesamte Eingabe lesen können. Sie können nur lg n Bits von der Eingabe lesen. Die Klassen werden mit Maschinen definiert, die die Adresse eines Bits schreiben und dieses Bit dann direkt lesen können ( dh Sie müssen nicht alle vorherigen Bits durchgehen, um dorthin zu gelangen.DLogTimelgn

Kaveh
quelle
3
Es ist einfach, die beiden Klassen zu trennen. NLOGTIME kann die OR-Funktion berechnen, während DLOGTIME dies nicht kann, da nicht die gesamte Eingabe gelesen werden kann. Diese Tatsache kann verwendet werden, um eine Sprache zu konstruieren, die die beiden mit Standardtricks trennt.
Robin Kothari
1
@Robin: wie immer vielen dank :). Ich habe es verpasst.
Kaveh
. Die Klassen haben wahrscheinlich etwas mit Polynomgrößenklausel / term / CNF / DNF zu tun. AltTime(O(1),O(logn))=AC0
Kaveh
Haben Sie endlich eine Antwort auf diese Frage gefunden? Eine Schaltungscharakterisierung für DLOGTIME würde zwei Teile haben, die Art der zulässigen Schaltungen und die auferlegte Gleichförmigkeitsbedingung. Kennen Sie die Antwort auf eine dieser Fragen?
Robin Kothari
@Robin, nein, ich kenne die Antwort nicht, aber ich vermute, dass sie wahrscheinlich nicht den Komplexitätsklassen für nette Schaltungen entsprechen.
Kaveh

Antworten:

-11

Ich finde es weitaus interessanter, dass die von der CS-Komplexitätstheorie verwendeten Schaltungskomplexitätsklassen andere Vorhersagen treffen und andere Metriken verwenden als die in der VLSI-Community. Aus der VLSI-Komplexität von Booleschen Funktionen :

Es ist bekannt, dass alle Booleschen Funktionen von Variablen durch eine Logikschaltung mit O ( 2 n / n ) Gattern berechnet werden können (Lupanov-Theorem) und dass es Boolesche Funktionen von n Variablen gibt, die Logikschaltungen dieser Größe erfordern (Shannon's) Satz). Wir präsentieren entsprechende Ergebnisse für Boolesche Funktionen, die von VLSI-Schaltkreisen unter Verwendung des Thompson-Modells eines VLSI-Chips berechnet wurden. Wir beweisen, dass alle Booleschen Funktionen von n Variablen durch eine VLSI-Schaltung mit O ( 2 n ) Fläche und Periode 1 berechnet werden können , und wir beweisen, dass es Boolesche Funktionen von n gibtnO(2n/n)nO(2n)nVariablen, für die jeder (konvexe) VLSI-Chip eine Fläche von haben muss.Ω(2n)

Interessanterweise neigt die Komplexität von VLSI-Schaltkreisen dazu, die Tiefe als "irrelevant" zu behandeln, da es nur eine "Tiefe" gibt, die von Bedeutung ist: den kritischen Pfad. Für die meisten praktischen Zwecke kann eine beliebig komplexe Schaltung als mit einer Latenz von n behandelt werden .O(1)n

Tatsächlich bin ich mir nicht einmal sicher, ob sich das Konzept von / N L O G T I M E direkt in der Komplexität der VLSI-Schaltung niederschlägt. Selbst das Ergebnis von Shannons 2 n / n lässt sich nicht leicht übersetzen: Shannons Ergebnisse gelten nur für eine Boolesche Basis, die aus der Arität 2 {AND, OR, NOT} besteht. Dies ist nicht die einzige Grundlage, und die Anzahl der benötigten "Tore" sinkt dramatisch, da Sie immer mehr Tortypen zulassen. Die folgenden sind a r e a 2DLogTimeNLogTime2n/n2area2 aus einer kommerziellen VLSI-Standardzellenbibliothek, die auf die Größe eines NAND-Gatters mit 2 Eingängen normiert ist:

        2 3 4 <- Arität
und 1,14 1,28 1,41
nand 1.00 1.14 1.28
oder 1,14 1,41 1,41
noch 1,00 1,14 1,41
x oder 1,62 2,44
xnor 1,62 2,44

buf 1.14
inv 0,80

aoi22 1.28
aoi222 1.62
aoi33 1.62
oai22 1.41
oai222 1.72
oai33 1.62

addf 2.64

Insbesondere beachte das aoi/ oaiGatter welcher And Or Invert/ die Or And Invertaus arity bemessen erster Funktion die zweite Funktion zugeführt wird , wobei die Anzahl der ersten Funktion Gatter die Anzahl von Malen gleich ist arity erscheint. Beispiel: aoi22"Zwei UND-Gatter mit zwei Eingängen, die ein NOR-Gatter speisen".

Mein Punkt ist: Getrennt betrachtet kann eine oai222Funktion unter Verwendung von drei ODER-Gattern mit 2 Eingängen und einem NAND-Gatter mit 3 Eingängen für eine Gesamtfläche von ~ 4,56 ohne eine für die Verbindung verwendete Fläche aufgebaut werden. Dieses Grundelement kann jedoch auf einer Fläche von nur 1,72 realisiert werden, was bedeutet, dass eine diskrete Manifestation derselben Booleschen Funktion das 2,65-fache der Fläche verbraucht.

Beachten Sie auch , dass der Bereich für ein Eingangs {AND, NAND, OR, NOR, XOR, XNOR} Gate, wobei n 2 , ist viel kleiner als die Fläche , dass es dauern würde, die gleiche Funktion unter Verwendung diskretes 2 Eingangsgates zu bauen. Beachten Sie auch, dass der für {XOR, XNOR} für diesen Prozess angegebene Bereich im Vergleich zu den anderen Gattern "groß" ist. Es gibt jedoch auch andere Möglichkeiten, die gleichen n Eingangsgatter mit weniger Bereich zu erstellen .nn2n

Die Ausbreitungseigenschaften für die komplexeren Grundelemente sind ebenfalls erheblich besser als bei Verwendung diskreter Gatter.

Warum ist das wichtig? Zumindest habe ich für mich eine gewaltige Menge Zeit aufgewendet, um die Ergebnisse der Komplexitätstheorie zu sichten, die auf einer Reihe von Annahmen beruhen, die bewirken, dass das Ergebnis entweder unbrauchbar oder falsch wird, wenn die Annahme verletzt wird. Das Folgende ist von Steven Cooks gegen N PPNP :

Um also zu beweisen, genügt es, eine Superpolynom-Untergrenze für die Größe einer Familie von Booleschen Schaltungen zu beweisen, die ein bestimmtes N P -vollständiges Problem wie 3-SAT löst . Bereits 1949 bewies Shannon, dass für fast alle Booleschen Funktionen f : { 0 , 1 } n{ 0 , 1 } jede Boolesche Schaltung, die f berechnet , mindestens 2 n / n Gatter benötigt. Leider gibt sein Zählargument keinen Hinweis darauf, wie man untere Schranken für Probleme in N P beweistPNPNPf:{0,1}n{0,1}f2n/nNP.

f:{0,1}n{0,1}NP{0,1}n2n/nnnNPNP2n/n

Zur Komplexität von VLSI-Implementierungen und Graphendarstellungen von Booleschen Funktionen mit Anwendung auf Ganzzahlmultiplikation zeigt sich, dass die Vorhersage der Schaltungskomplexität mithilfe eines OBDD-Modells die tatsächliche Schaltungskomplexität überschätzt:

AT2=Ω(n2)Ω(cn)c<1AT2=O(n1+c)

n2n1i12ni11inAT2=Ω(i2) and any OBDD representation must have Ω(1.09i) vertices.

johne
quelle
5
-1: I don't see how this is relevant to the OP's question.
Robin Kothari
5
Your bit in the middle about Shannon and Cook doesn't seem to make any sense. Shannon showed that "most" functions require an exponentially large circuit. How can we conclude that any NP problem only requires a linear sized family? And you do realize that we are talking about families of circuits, right?
Mark Reitblatt
6
johne: this is not an appropriate forum for what can only be described as rants about the VLSI community vis-a-vis the CS community.
Suresh Venkat