TC0
   HOME

TheInfoList



OR:

In
theoretical computer science Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation. It is difficult to circumscribe the theoretical areas precisely. The Associati ...
, and specifically
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
and
circuit complexity In theoretical computer science, circuit complexity is a branch of computational complexity theory in which Boolean functions are classified according to the size or depth of the Boolean circuits that compute them. A related notion is the circui ...
, TC0 (Threshold Circuit) is the first class in the hierarchy of TC classes. TC0 contains all languages which are decided by
Boolean circuit In computational complexity theory and circuit complexity, a Boolean circuit is a mathematical model for combinational digital logic circuits. A formal language can be decided by a family of Boolean circuits, one circuit for each possible inpu ...
s with constant depth and polynomial size, containing only unbounded fan-in
AND gate The AND gate is a basic digital logic gate that implements the logical conjunction (∧) from mathematical logic AND gates behave according to their truth table. A HIGH output (1) results only if all the inputs to the AND gate are HIGH (1). If a ...
s,
OR gate The OR gate is a digital logic gate that implements logical disjunction. The OR gate outputs "true" if any of its inputs is "true"; otherwise it outputs "false". The input and output states are normally represented by different voltage levels. ...
s,
NOT gate Not or NOT may also refer to: Language * Not, the general declarative form of "no", indicating a negation of a related statement that usually precedes * ... Not!, a grammatical construction used as a contradiction, popularized in the early 1990 ...
s, and MAJ gates, or equivalently, threshold gates. TC0 contains several important problems, such as sorting ''n'' ''n''-bit numbers, multiplying two ''n''-bit numbers, integer division or recognizing the
Dyck language In the theory of formal languages of computer science, mathematics, and linguistics, a Dyck word is a balanced string of brackets. The set of Dyck words forms a Dyck language. The simplest, Dyck-1, uses just two matching brackets, e.g. ( and ). ...
with two types of parentheses. It is commonly used to model the computational complexity of bounded-depth
neural networks A neural network is a group of interconnected units called neurons that send signals to one another. Neurons can be either Cell (biology), biological cells or signal pathways. While individual neurons are simple, many of them together in a netwo ...
, and indeed, it was originally proposed for this purpose.


Definitions

A Boolean circuit family is a sequence of Boolean circuits C_1, C_2, C_3, \dots consisting of a feedforward network of Boolean functions. A binary language L \in 2^* is in the TC0 class if there exists a Boolean circuit family C_1, C_2, C_3, \dots , such that * There exists a polynomial function p , and a constant d . * Each C_n is composed of up to p(n) unbounded fan-in AND, OR, NOT, and MAJ gates in up to d layers. * For each x \in 2^n , we have x \in L iff C_n(x) = 1 . Equivalently, instead of majority gates, we can use threshold gates with integer weights and thresholds, bounded by a polynomial. A threshold gate with k inputs is defined by a list of weights w_1, \dots, w_k and a single threshold \theta. Upon binary inputs x_1, \dots, x_k, it outputs +1 if \sum_i w_i x_k > \theta, else it outputs -1 . A threshold gate is also called an
artificial neuron An artificial neuron is a mathematical function conceived as a model of a biological neuron in a neural network. The artificial neuron is the elementary unit of an ''artificial neural network''. The design of the artificial neuron was inspired ...
. Given a Boolean circuit with AND, OR, NOT, and threshold gates whose weights and thresholds are bounded within M, +M/math>, If we also provide the network with negations of binary inputs: \neg x_1, \dots, \neg x_k, then we can convert the network to one that computes the same input-output function using only AND, OR, and threshold gates, with the same depth, at most double the number of gates in each layer, weights bounded within , +M/math>, and thresholds bounded within M, +M/math>. Therefore, TC0 can be defined equivalently as the languages decidable by some Boolean circuit family C_1, C_2, C_3, \dots such that *There exists a polynomial function p , and a constant d . * Each C_n is composed of up to p(n) threshold gates in up to d layers, whose weights are non-negative integers, thresholds are integers, and both weights and thresholds are bounded within \pm p(n). * For each x \in 2^n , we have x \in L iff C_n(x) = 1 . In this article, we by default consider Boolean circuits with a polynomial number of AND, OR, NOT, and threshold gates, with polynomial bound on integer weights and thresholds. The polynomial bound on weights and thresholds can be relaxed without changing the class \mathsf^0. In arithmetic circuit complexity theory, \mathsf^0 can be equivalently characterized as the class of languages defined as the images of \mathrm \circ f_n, where each f_n : \^n \to \Z is computed by a polynomial-size constant-depth unbounded-fan-in arithmetic circuits with + and × gates, and constants from \.


Complexity class relations

We can relate TC0 to other circuit classes, including AC0 and NC1 as follows:
\mathsf^0 \subsetneq \mathsf^0 \subsetneq \mathsf^0 \subseteq \mathsf^1.
Whether \mathsf^0 \subseteq \mathsf^1 is a strict inclusion is "one of the main open problems in circuit complexity". In fact, it is even open whether \mathsf^0 \subseteq \mathsf is a strict inclusion! This is in some sense unsurprising, since there is no
natural proof In computational complexity theory, a natural proof is a certain kind of proof establishing that one complexity class differs from another one. While these proofs are in some sense "natural", it can be shown (assuming a widely believed conjecture o ...
for \mathsf^0 \subsetneq \mathsf , assuming that there is a
cryptographically secure pseudorandom number generator A cryptographically secure pseudorandom number generator (CSPRNG) or cryptographic pseudorandom number generator (CPRNG) is a pseudorandom number generator (PRNG) with properties that make it suitable for use in cryptography. It is also referred t ...
in \mathsf^0 , which have been explicitly constructed under the assumption that factoring Blum integers is hard (i.e. requires circuits of size 2^), which is widely suspected to be true. More generally, randomness and hardness for have been shown to be closely related. It is also an open question whether \mathsf \subseteq \mathsf^0 . Indeed, \mathsf \not\subseteq \mathsf^0 was only proven in 2011. Note that because non-uniform \mathsf^0 and \mathsf^0 can compute functions that are not Turing-computable, it is certainly the case that \mathsf^0 \not\subseteq \mathsf and \mathsf^0 \not\subseteq \mathsf . The 2011 result simply shows that \mathsf^0 and \mathsf are incomparable classes. The open question is whether \mathsf^0 and \mathsf are incomparable as well. Note that, while the
time hierarchy theorem In computational complexity theory, the time hierarchy theorems are important statements about time-bounded computation on Turing machines. Informally, these theorems say that given more time, a Turing machine can solve more problems. For example, ...
proves that \mathsf \subsetneq \mathsf , both complexity classes are ''uniform'', meaning that a single Turing machine is responsible for solving the problem at any input length. In contrast, a \mathsf^0 circuit family may be non-uniform, meaning that there may be no good algorithm for finding the correct circuit, other than exhaustive search over all 2^ possible Boolean circuits of bounded depth and \mathsf(n) size, then checking all 2^n possible inputs to verify that the circuit is correct. It has been proven that if \mathsf^0 = \mathsf^1, then any \epsilon > 0, there exists a \mathsf^0 circuit family of gate number O(n^) that solves the Boolean Formula Evaluation problem. Thus, any superlinear bound suffices to prove \mathsf^0 \neq \mathsf^1.


Uniform TC0

DLOGTIME In computational complexity theory, DLOGTIME is the complexity class of all computational problems solvable in a logarithmic amount of computation time on a deterministic Turing machine. It must be defined on a random-access Turing machine, since ...
-uniform \mathsf^0 is also known as \mathsf , because it is equivalent to
first-order logic First-order logic, also called predicate logic, predicate calculus, or quantificational logic, is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantified variables over ...
with Majority quantifiers. Specifically, given a logic formula that takes x_1, x_2, \dots, x_n Boolean variables, a Majority quantifier M is used as follows: given a formula with exactly one free variable \phi(x), the quantified Mx \phi(x) is true iff \phi(x_i) is true for over half of i \in 1:n, Integer division (given x, y n-bit integers, find \lfloor x/y\rfloor), powering (given x an n-bit integer, and k a O(\ln(n))-bit integer, find x^k), and iterated multiplication (multiplying n of n-bit integers) are all in DLOGTIME-uniform \mathsf^0 . It is usually considered the appropriate level of uniformity for \mathsf^0 , neither too strong nor too weak. Specifically, because P is usually suspected to be stronger than \mathsf^0 , while DLOGTIME is suspected to be equivalent in strength in some sense, DLOGTIME-uniformity is usually assumed, when uniformity is considered for \mathsf^0 . The permanent of a 0-1 matrix is not in uniform \mathsf^0 . Uniform \mathsf^0 \subsetneq \mathsf. The functional version of the uniform TC0 coincides with the closure with respect to composition of the projections and one of the following function sets \, \. Here n \,\stackrel\, m=\max(0,n-m), n\wedge m is a bitwise AND of n and m. By functional version one means the set of all functions f(x_1,\ldots,x_n) over non-negative integers that are bounded by functions of FP and (y\textf(x_1,\ldots,x_n)) is in the uniform TC0.


Fine structure

TC0 can be divided further, into a hierarchy of languages requiring up to 1 layer, 2 layers, etc. Let \mathsf^0_d be the class of languages decidable by a threshold circuit family of up to depth d:\mathsf^0_1 \subset \mathsf^0_2 \subset \cdots \subset \mathsf^0 = \bigcup_^\infty \mathsf^0_d The hierarchy can be even more finely divided.


MAJ vs threshold

The MAJ gate is sometimes called an unweighted threshold gate. They are equivalent up to a uniform polynomial overhead. In detail: * A MAJ gate is a threshold gate where all the weights are 1, and threshold is 1/2 the fan-in. * A polynomial-size circuit containing threshold gates with polynomial integer weights and threshold can be converted to a polynomial-size circuit with the same depth. Specifically, the weights can be simulated by replicating the input circuits, and the threshold can be simulated by replicating constant True/False inputs. Furthermore, there is an explicit algorithm, by which, given a single n-input threshold gate with arbitrary (unbounded) integer weights and thresholds, it constructs a depth-2 circuit using \mathsf(n)-many AND, OR, NOT, and MAJ gates. Thus, any polynomial-size, depth-d threshold circuit can be simulated uniformly by a polynomial-size majority circuit of depth d+1. As a separation theorem, it is known that the n -input Boolean inner product function (IP), defined below, is computable by a majority circuit with 3 layers and O(n) gates, but is not computable by a threshold circuit with 2 layers and \mathsf(n) gates.


Arbitrary threshold gate

For any fixed n, because there are only finitely many Boolean functions that can be computed by a threshold logic unit, it is possible to set all w_1, \dots, w_n, \theta to be integers. Let W(n) be the smallest number W such that every possible real threshold function of n variables can be realized using integer weights of absolute value \leq W. It is known that\frac 12 n \log n - 2n + o(n) \leq \log_2 W(n) \leq \frac 12 n \log n - n + o(n)See for a literature review. Sometimes the class of polynomial-bounded weights and thresholds with depth d is denoted as \widehat_d := \mathsf_d^0, and \mathsf_d denotes the class where the weight and thresholds are unbounded ("large weight threshold circuit"). This formalizes neural networks with real-valued activation functions. As previously stated, any polynomial-size, depth-d threshold circuit can be simulated uniformly by a polynomial-size majority circuit of depth d+1. Therefore, \mathsf_d^0 \subset \mathsf_d \subset \mathsf_^0. It has been proven that \mathsf_2^0 \subsetneq \mathsf_2. Allowing the sigmoid activation function \sigma does not increase the power, that is, \mathsf_d^0 = \mathsf_d^0(\sigma) for all d \geq 1, assuming the weights are polynomially bounded.


Probabilistic version

Like how the P class has a probabilistic version BPP, the \mathsf^0 has a probabilistic version \mathsf^0. It is defined as the class of languages that can be polynomial-probabilistically decided. Let C_1, C_2, C_3, \dots be a Boolean circuit family that takes two kinds of inputs. A given circuit C_n takes the deterministic inputs x_1, \dots, x_n, and the random inputs y_1, \dots, y_m, where m = \mathsf(n). The random inputs are sampled uniformly over all 2^m possibilities. A language L \subset 2^* is decided polynomial-probabilistically by the family if for each x \in 2^n, if x \in L, then the probability that C_n(x, y) = +1 is at least \frac 12 + \frac, and if x \not\in L, then the probability that C_n(x, y) = +1 is at most \frac 12 - \frac. Similarly, (feedforward) Boltzmann machines have been modelled as \mathsf^0 circuits with boundedly-unreliable threshold units. That is, each threshold unit may, independently at random, with a bounded probability \epsilon < 1/2, make the wrong output. Sometimes, this class is also called \mathsf^0, in a closer analogy with BPP. In this definition, the probability that C_n(x, y) = +1 is at least \frac 23, and if x \not\in L, then the probability that C_n(x, y) = +1 is at most \frac 13. By the standard trick of sampling many times then taking the majority opinion, any d-layer \mathsf^0 circuit can be converted to a (d+1)-layer \mathsf^0 circuit.


Hierarchy

Analogous to how \mathsf^0_1 \subset \mathsf^0_2 \subset \cdots \subset \mathsf^0 = \bigcup_^\infty \mathsf^0_d , \mathsf^0 can also be divided into\mathsf^0_1 \subset \mathsf^0_2 \subset \cdots \subset \mathsf^0 = \bigcup_^\infty \mathsf^0_dBy definition, \mathsf^0_d \subset \mathsf^0_d. Furthermore, since \mathsf^0_d \subset \mathsf^0_ , there is a full hierarchy: \mathsf^0_1 \subset \mathsf^0_1 \subset \mathsf^0_ \subset \mathsf^0_ \subset \cdots \subset \mathsf^0 = \mathsf^0Similarly, allowing boundedly-unreliable threshold units, a \mathsf^0_d circuit can be converted to a \mathsf^0_ circuit by running several copies of the original circuit in parallel, each with a fixed choice for the random inputs (a hardcoded advice), and then taking a Majority over their outputs. That at least one advice exists is proven by
Hoeffding's inequality In probability theory, Hoeffding's inequality provides an upper bound on the probability that the sum of bounded independent random variables deviates from its expected value by more than a certain amount. Hoeffding's inequality was proven by Wass ...
, with essentially the same argument as the median trick. This argument is merely an existence proof, and thus not uniform in a way that matters for \mathsf^0 , since it gives no algorithm for discovering the advice other than brute-force enumeration. Similarly, \mathsf^0 / \mathsf = \mathsf^0 / \mathsf. Let \oplus be defined as the parity function, or the XOR function. Then the following two separations are theorems: * \mathsf^0_ \subsetneq \mathsf^0_: The PARITY function \oplus is in \mathsf^0_, but not in \mathsf^0_1 . * \mathsf^0_ \subsetneq \mathsf^0_: The Boolean inner product function (IP) is in \mathsf^0_ but not in \mathsf^0_, where \mathrm_n\left(x_1, \ldots, x_n, x_1^, \ldots, x_n^\right)=\bigoplus_^n \mathrm\left(x_i, x_i^\right) The inner product function falls outside \mathsf^0_ in a precise sense: * If the weights of the bottom gates of a threshold circuit of depth 2 computing \mathrm_n are polynomial, then for any \epsilon > 0, for all large enough n, \mathrm_n requires \geq 2^ gates. * If the weights of the top gate in a threshold circuit of depth 2 computing \mathrm_n are at most 2^, then the top gate must have fanin at least 2^. * If the weights of the bottom gates of a threshold circuit of depth 2 computing \mathrm_n do not exceed 2^, then the top gate must have fanin at least 2^. It is an open question how many levels the hierarchy has. It is also an open question whether the hierarchy collapses, that is, \mathsf^0 = \mathsf^0_. In fact, there is still no exponential lower bound for \mathsf^0_. Therefore, ''a fortiori'', there is still no exponential lower bound for depth-3 polynomial-size majority circuits. There are exponential lower bounds if further restrictions are imposed on layer 1, such as requiring it to only contain AND gates, or only bounded fan-in gates. The hierarchy for ''monotone'' \mathsf^0 (that is, \mathsf^0 without Boolean negations) is strongly separated. Specifically, for each d, there has been constructed a language that is decidable by a depth d circuit family using only O(n) AND and OR gates, but requires exponential size to compute by a monotone \mathsf^0_ . If the polynomial bound on the number of gates is relaxed, then \mathsf^0_3 is quite powerful. Specifically, any language in \mathsf^0 can be decided by a circuit family in \mathsf^0_3 (using Majority gates), except that it uses a
quasi-polynomial In mathematics, a quasi-polynomial (pseudo-polynomial) is a generalization of polynomials. While the coefficients of a polynomial come from a ring, the coefficients of quasi-polynomials are instead periodic functions with integral period. Quasi- ...
number of gates (instead of polynomial). This result is optimal, in that there exists a function that is computable with 3 layers of \mathsf^0 , but requires at least an exponential number of gates for \mathsf^0_2 (using Majority gates).


References


Further reading

* *


External links

* {{ComplexityClasses Circuit complexity Complexity classes