Difference between revisions of "Circuit complexity"
(Created page with "A circuit is a model for computing Boolean functions, in which functions are computed using a sequence of elementary operations, called gates. Different circuit models exist,...") |
|||
(5 intermediate revisions by one other user not shown) | |||
Line 28: | Line 28: | ||
The value of the circuit is the value of each of the output gates. | The value of the circuit is the value of each of the output gates. | ||
− | = AC<sup>0</sup> = | + | == AC<sup>0</sup> == |
For a fixed positive integer <math>d</math>, let AC<sup>0</sup><sub>d</sub> be all families of circuits with depth exactly <math>d</math>, size polynomial in <math>n</math>, unlimited fan-in AND and OR gates, and NOT gates at the inputs. The class AC<sup>0</sup> is the union of AC<sup>0</sup><sub>d</sub> over all <math>d</math>, i.e it is the class of all constant depth, polynomial-sized circuits which use AND and OR gates. | For a fixed positive integer <math>d</math>, let AC<sup>0</sup><sub>d</sub> be all families of circuits with depth exactly <math>d</math>, size polynomial in <math>n</math>, unlimited fan-in AND and OR gates, and NOT gates at the inputs. The class AC<sup>0</sup> is the union of AC<sup>0</sup><sub>d</sub> over all <math>d</math>, i.e it is the class of all constant depth, polynomial-sized circuits which use AND and OR gates. | ||
+ | |||
+ | == Randomness == | ||
+ | |||
+ | We say a function <math>g: \{-1, 1\}^n \times \{-1, 1\}^r \rightarrow \{-1, 1\}</math> is a randomized function for <math>f:\{-1, 1\}^n \rightarrow \{-1, 1\}</math> if | ||
+ | |||
+ | :<math> | ||
+ | P_{r}[g(x, r) = f(x)] \geq 1/3 | ||
+ | </math> | ||
+ | |||
+ | Where r is drawn from the uniform distribution. | ||
+ | |||
+ | A randomized circuit is a circuit implementing a randomized function. A circuit C is a randomized circuit for a function f if it implements a randomized function for f. | ||
+ | |||
+ | Randomized circuits can be simulated by deterministic circuits with a size increase of only <math>O(n)</math> using Adleman's Theorem <ref>Luca Trevisan [https://cs.stanford.edu/~trevisan/cs254-10/lecture04.pdf Computational Complexity: Lecture 10]</ref>. To actually perform this derandomization, it requires to at least compute [https://booleanzoo.weizmann.ac.il/index.php/Majority#Promise_Majority Promise Majority]. Promise majority only requires a depth 3 monotone AC<sup>0</sup> circuit<ref>Emanuele Viola [http://www.ccs.neu.edu/home/viola/papers/BPvsE.pdf On Approximate Majority and Probabilistic Time] In: Computational Complexity, Volume 18, Issue 3 Page 337</ref>. Thus converting a randomized circuit to a deterministic one only costs polynomial size and small circuit depth for most common circuit classes. | ||
+ | |||
+ | One thing to note about Adleman's theorem is that it produces pseudorandom inputs non uniformly. That is the derandomization is non explicit. Finding pseudorandom generators (PRGs) with log seed length even for AC<sup>0</sup> is still open. Although many polylogarithmic seed length PRGs for AC<sup>0</sup> are known <ref>Rocco A. Servedio. Li-Yang Tan [https://drops.dagstuhl.de/opus/volltexte/2019/11260/pdf/LIPIcs-APPROX-RANDOM-2019-45.pdf Improved Pseudorandom Generators fromPseudorandom Multi-Switching Lemmas] In: 23rd International Workshop on Randomness and Computation (RANDOM), 2019</ref>. | ||
+ | |||
+ | == Nondeterminism == | ||
+ | We say a function <math>g: \{-1, 1\}^n \times \{-1, 1\}^m \rightarrow \{-1, 1\}</math> is a certificate verifier for function <math>f:\{-1, 1\}^n \rightarrow \{-1, 1\}</math> with certificate length m if | ||
+ | |||
+ | :<math> | ||
+ | \exists c: g(x, c) \iff f(x) | ||
+ | </math> | ||
+ | |||
+ | Such a c causing g to accept is the certificate of x for g. We say that a circuit, C, implementing a certificate verifier for a function, f, is a nondeterministic circuit for f. Polynomial sized non deterministic circuits are the complexity class [https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nppoly NP/poly]. | ||
+ | |||
+ | It can be shown that any non deterministic circuit can be implemented with constant depth by an alternating circuit with only constant size overhead in the following way: | ||
+ | |||
+ | Let C be a non deterministic circuit implementing <math>g: \{-1, 1\}^n \times \{-1, 1\}^m \rightarrow \{-1, 1\}</math>. We make a circuit A with certificate length <math>m + |C|</math> which expects as a certificate for x the certificate c for g, then the output of every gate in C when run on x and c. Then the circuit just computes what the output of every gate should be and verifies every gate output calculated agrees with the claimed output AND the final output is accept. | ||
+ | |||
+ | Thus limited depth polynomial sized non deterministic circuits are not usually studied. | ||
== Properties == | == Properties == |
Latest revision as of 10:08, 20 March 2022
A circuit is a model for computing Boolean functions, in which functions are computed using a sequence of elementary operations, called gates. Different circuit models exist, depending on how they restrict the width, depth, size, and pool of usable gates. The circuit size, or circuit complexity of a family of Boolean functions [math]\{f_n\}_n[/math], deals with how the size of the smallest circuit computing [math]f_n[/math] grows as [math]n \to \infty[/math].
Contents
General definition
A circuit which computes a Boolean function is a tuple [math](L, G)[/math], where
- [math]L[/math] is a set of gate labels, each of which is a function from [math]\{-1,1\}^{i}[/math] to [math]\{-1,1\}[/math] for some non-negative integer [math]i[/math] (where [math]i[/math] represents the number of inputs to the gate), and
- [math]G[/math] is a labelled directed acyclic graph with labels from [math]L[/math].
The vertices of the graph are called gates. For each gate [math]g[/math] of in-degree [math]i[/math], the gate [math]g[/math] can be labeled by an element [math]\ell[/math] of [math]L[/math] if and only if [math]\ell[/math] is defined on [math]\{-1,1\}^{i}[/math].
Terminology
The gates of in-degree 0 are called inputs or leaves. The gates of out-degree 0 are called outputs. If there is an edge from gate [math]g[/math] to gate [math]h[/math] in the graph [math]G[/math] then [math]h[/math] is called a child of [math]g[/math]. We suppose there is an order on the vertices of the graph, so we can speak of the [math]k[/math]th child of a gate when [math]k[/math] is less than the out-degree of the gate.
The size of a circuit is the number of nodes of a circuit. The depth of a gate [math]g[/math] is the length of the longest path in [math]G[/math] beginning at [math]g[/math] up to an output gate. In particular, the gates of out-degree 0 are the only gates of depth 1. The depth of a circuit is the maximum depth of any gate.
Level [math]i[/math] is the set of all gates of depth [math]i[/math]. A levelled circuit is a circuit in which the edges to gates of depth [math]i[/math] comes only from gates of depth [math]i + 1[/math] or from the inputs. In other words, edges only exist between adjacent levels of the circuit. The width of a levelled circuit is the maximum size of any level.
Evaluation
The exact value [math]V(g)[/math] of a gate [math]g[/math] with in-degree [math]i[/math] and label [math]l[/math] is defined recursively for all gates [math]g[/math].
- [math] V(g) = \begin{cases} l & \text{if } g \text{ is an input} \\ l(V(g_1), \dotsc, V(g_i)) & \text{otherwise,} \end{cases} [/math]
where each [math]g_j[/math] is a parent of [math]g[/math].
The value of the circuit is the value of each of the output gates.
AC0
For a fixed positive integer [math]d[/math], let AC0d be all families of circuits with depth exactly [math]d[/math], size polynomial in [math]n[/math], unlimited fan-in AND and OR gates, and NOT gates at the inputs. The class AC0 is the union of AC0d over all [math]d[/math], i.e it is the class of all constant depth, polynomial-sized circuits which use AND and OR gates.
Randomness
We say a function [math]g: \{-1, 1\}^n \times \{-1, 1\}^r \rightarrow \{-1, 1\}[/math] is a randomized function for [math]f:\{-1, 1\}^n \rightarrow \{-1, 1\}[/math] if
- [math] P_{r}[g(x, r) = f(x)] \geq 1/3 [/math]
Where r is drawn from the uniform distribution.
A randomized circuit is a circuit implementing a randomized function. A circuit C is a randomized circuit for a function f if it implements a randomized function for f.
Randomized circuits can be simulated by deterministic circuits with a size increase of only [math]O(n)[/math] using Adleman's Theorem [1]. To actually perform this derandomization, it requires to at least compute Promise Majority. Promise majority only requires a depth 3 monotone AC0 circuit[2]. Thus converting a randomized circuit to a deterministic one only costs polynomial size and small circuit depth for most common circuit classes.
One thing to note about Adleman's theorem is that it produces pseudorandom inputs non uniformly. That is the derandomization is non explicit. Finding pseudorandom generators (PRGs) with log seed length even for AC0 is still open. Although many polylogarithmic seed length PRGs for AC0 are known [3].
Nondeterminism
We say a function [math]g: \{-1, 1\}^n \times \{-1, 1\}^m \rightarrow \{-1, 1\}[/math] is a certificate verifier for function [math]f:\{-1, 1\}^n \rightarrow \{-1, 1\}[/math] with certificate length m if
- [math] \exists c: g(x, c) \iff f(x) [/math]
Such a c causing g to accept is the certificate of x for g. We say that a circuit, C, implementing a certificate verifier for a function, f, is a nondeterministic circuit for f. Polynomial sized non deterministic circuits are the complexity class NP/poly.
It can be shown that any non deterministic circuit can be implemented with constant depth by an alternating circuit with only constant size overhead in the following way:
Let C be a non deterministic circuit implementing [math]g: \{-1, 1\}^n \times \{-1, 1\}^m \rightarrow \{-1, 1\}[/math]. We make a circuit A with certificate length [math]m + |C|[/math] which expects as a certificate for x the certificate c for g, then the output of every gate in C when run on x and c. Then the circuit just computes what the output of every gate should be and verifies every gate output calculated agrees with the claimed output AND the final output is accept.
Thus limited depth polynomial sized non deterministic circuits are not usually studied.
Properties
- TODO: There is vast literature on the relation between different complexity measures: Bounded depth circuit size, Fourier tail, noise sensitivity, etc. Start citing, please!
References
- ↑ Luca Trevisan Computational Complexity: Lecture 10
- ↑ Emanuele Viola On Approximate Majority and Probabilistic Time In: Computational Complexity, Volume 18, Issue 3 Page 337
- ↑ Rocco A. Servedio. Li-Yang Tan Improved Pseudorandom Generators fromPseudorandom Multi-Switching Lemmas In: 23rd International Workshop on Randomness and Computation (RANDOM), 2019