Wie klein kann eine geschichtete boolean Schaltung für eine Funktion mit Schaltungskomplexität


12

Betrachten wir eine Funktion durch eine Boolesche Schaltung berechnet C mit n Eingängen der Größe s ( n ) = p o l y ( n ) über der Basis { X O R , A N D , N O T } (mit indegree 2 für die X O R , A N D Tore).fCns(n)=poly(n){XOR,AND,NOT}XOR,AND

Eine Boolesche Schaltung wird geschichtet, wenn sie in Schichten ( d ist die Tiefe der Schaltung) von Gattern angeordnet werden kann, so dass jede Kante zwischen zwei Gattern benachbarte Schichten verbindet.dd

Was kann man angesichts der Tatsache, dass eine Boolesche Schaltung der Größe s hat , über die Größe einer Schichtschaltung sagen, die f berechnet ? Es gibt eine triviale obere Schranke: Durch Hinzufügen von Dummy-Knoten zu C an jeder von einer Kante gekreuzten Ebene erhalten wir einen geschichteten Kreis mit einer Größe von höchstens O ( s 2 ) . Aber können wir im Allgemeinen besser werden (z. B. O ( s log s ) oder O ( s ) ) oder für interessante Schaltungsklassen?fsfCO(s2)O(slogs)O(s)

Hintergrund. Diese Frage ergibt sich aus den letzten Ergebnissen in der Kryptographie , die zeigen , wie die sichere Rechen Boolesche Schaltungen der Größe geschichtet mit Kommunikations o ( s ) (zB s / log s oder s / log log s ) ; Ich versuche zu verstehen, wie restriktiv diese Beschränkung auf geschichtete Boolesche Schaltkreise in der Praxis sein kann, entweder für allgemeine Schaltkreise oder für "natürliche" Schaltkreise. Allerdings habe ich in der Literatur nicht viel über Schichtschaltungen gefunden. entsprechende hinweise wären auch zu begrüßen.so(s)s/logss/loglogs)


4
Hier ist ein Beispiel für eine Schaltung, die sich nur schwer in eine Schichtschaltung umwandeln lässt, ohne dass die Größe erheblich zunimmt. Definieren Sie als eine Funktion, die in der Größe u berechnet werden kann . Definiere g ( x 1 , , x n ) = ( x 2 , , x n , x 1f ( x 2 ,f:{0,1}n1{0,1}u , und lassen Sie C sein t Iterationen g . Dann hat C die Größe O ( t u ) . Es scheint schwierig zu sein, eine geschichtete Schaltung mit einer Größe von weniger als Θ ( n t ) aufzubauen. Wenn also u = o ( n ) ist , sollten wir vielleicht eine Lücke zwischen der Größe einer Schaltung und der Größe einer Schichtschaltung erwarten. Kein Beweis, nur ein anschauliches Beispiel, um vielleicht die Intuition voranzutreiben. g(x1,,xn)=(x2,,xn,x1f(x2,,xn))CtgCO(tu)Θ(nt)u=o(n)
DW

2
Soweit ich mich erinnere, hat für geschichtete Schaltungen die bekannteste Untergrenze die Form . Der Nachweis einer n- zu- n- Funktion ist besonders einfach . Nehmen wir zum Beispiel eine lineare Abbildung A x, in der A { 0 , 1 } n × n nur auf der Hauptdiagonale Nullen hat. Dann muss es mindestens n Tore auf jeder Schicht haben und die Anzahl der Schichten beträgt mindestens log 2 n . Beachten Sie, dass diese Funktion leicht mit einem regulären Kreis der Größe O berechnet werden kann (Ω(nlogn)nnAxA{0,1}n×nnlog2n . Für Single-Output-Funktionen ist es auch möglich, dieselbe Untergrenze zu beweisen, aber ich erinnere mich nicht an das Argument. O(n)
Alexander S. Kulikov

1
Vielen Dank für die Kommentare. @ AlexanderS.Kulikov, ist Ihre Argumentation folkloristisch, oder haben Sie einen Hinweis darauf, wie man auf geschichteten Schaltungen arbeitet? Das macht Sinn - ich wäre sehr überrascht von etwas Kleinerem gewesen - aber ist O ( n 2 ) die einzige bekannte Obergrenze? Ω(nlogn)O(n2)
Geoffroy Couteau

1
Ich denke, es ist eine Folklore, ja. Ich bin nicht sicher, ob ich die Frage nach der oberen Grenze von bekomme . Vielleicht möchten Sie sich das folgende Dokument ansehen: cs.utexas.edu/~panni/sizedepth.pdfO(n2)
Alexander S. Kulikov

1
Ich denke, wir kennen im Allgemeinen keine bessere Transformation als . Man beachte , dass eine Schaltung mit einer Größe s und die Tiefen D kann höchstens zu einem geschichteten Schaltung der Größe umgewandelt werden d s . (Was im schlimmsten Fall eine Schaltung der Größe O ( s 2 ) ergibt .) Ich wollte nur darauf hinweisen, dass dies der Fall wäre, wenn wir eine Untergrenze von ω ( n log n ) für die Größe einer Schichtschaltung nachweisen könnten Geben Sie eine superlineare Untergrenze für die Größe der logarithmischen Tiefenschaltungen für diese Funktion an. Diese Frage bleibt seit mehr als 40 Jahren offen.O(s2)sddsO(s2)ω(nlogn)
Alex Golovnev

Antworten:


8

Soweit ich weiß, wurden drei Klassen von Schichtschaltungen untersucht. In all diesen Definitionen sind Bögen nur zwischen zwei benachbarten Ebenen zulässig.

  1. Eine Schaltung heißt synchron ( Harper 1977 ), wenn alle Gatter in Schichten angeordnet sind und die Eingänge auf der Schicht 0 liegen müssen. (Eine äquivalente Definition: Für jedes Gatter g haben alle Pfade von den Eingängen zu g die gleiche Länge.)

  2. Eine Schaltung ist lokal synchron ( Belaga 1984 ), wenn jede Eingabe genau einmal erfolgt, jedoch auf einer beliebigen Ebene.

  3. Eine Schaltung ist geschichtet ( Gál, Jang 2010 ). Wenn Gatter und Eingänge in Schichten angeordnet sind, können Eingänge in verschiedenen Schichten mehrfach auftreten. (Eine äquivalente Definition: Für jedes Gate g und jedes Ausgangsgate o haben alle gerichteten Pfade von g nach o die gleiche Länge.)

Es ist leicht zu erkennen, dass die drei Klassen von den schwächsten bis zu den stärksten aufgeführt sind (und die Klasse der uneingeschränkten Stromkreise noch stärker ist).

In Bezug auf die Größe einer Schichtschaltung, die eine uneingeschränkte Schaltung der Größe s berechnet , ist Folgendes bekannt:

  1. Jede Schaltung der Größe s kann durch eine synchrone / lokal synchrone / geschichtete Schaltung der Größe s2 berechnet werden ( Wegener 1987, Abschnitt 12.1 ).

  2. Es sollte schwierig sein, eine explizite Funktion zu finden, die eine synchrone / lokal synchrone / geschichtete Schaltung der Größe ω(slogs) erfordert . Tatsächlich kann jeder Kreis der Größe s und der Tiefe d durch einen Synchronkreis der Größe O(sd) berechnet werden ( Wegener 1987, Abschnitt 12.1 ). Selbst wenn wir also eine explizite Funktion f die synchrone Schaltungen der Größe ω(nlogn) erfordert (unabhängig von ihrer Komplexität in der Klasse der uneingeschränkten Schaltungen), dann f kann nicht durch einen Schaltkreis der Tiefe O(logn) und Größe berechnet werden )O(n), which answers a long-standing open question in circuit complexity (Valiant 1977).

  3. There exist explicit functions

    3.1. with Ω(nlogn) lower bound for synchronous circuits but O(n) upper bound for locally synchronous circuits (Turán 1989).

    Ω(nlogn)O(n)

n

As an example, consider the function f:{0,1}n{0,1}n where the ith output bit is an XOR of all inputs except for the ith one. This function can easily be computed by a layered circuit of size O(n): First compute an XOR of all inputs in logn layers of total size n, then compute all outputs in one layer of size n. On the other hand, f requires synchronous circuits of size Ω(nlogn). Indeed, in order to compute a parity of length n1, the circuit depth must be at least Ω(logn). On the other hand, each layer must transmit n bits of information, thus its size must be at least n.

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.