TC0

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description

In theoretical computer science, and specifically computational complexity theory and circuit complexity, TC0 (Threshold Circuit) is the first class in the hierarchy of TC classes. TC0 contains all languages which are decided by Boolean circuits with constant depth and polynomial size, containing only unbounded fan-in AND gates, OR gates, NOT gates, 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[1] or recognizing the Dyck language with two types of parentheses. It is commonly used to model the computational complexity of bounded-depth neural networks, and indeed, it was originally proposed for this purpose.[2]

Definitions

A Boolean circuit family is a sequence of Boolean circuits C1,C2,C3, consisting of a feedforward network of Boolean functions. A binary language L2* is in the TC0 class if there exists a Boolean circuit family C1,C2,C3,, such that

  • There exists a polynomial function p, and a constant d.
  • Each Cn is composed of up to p(n) unbounded fan-in AND, OR, NOT, and MAJ gates in up to d layers.
  • For each x2n, we have xL iff Cn(x)=1.
Artificial neuron structure
Threshold gate.

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 w1,,wk and a single threshold θ. Upon binary inputs x1,,xk, it outputs +1 if iwixk>θ, else it outputs 1. A threshold gate is also called an artificial neuron.

Given a Boolean circuit with AND, OR, NOT, and threshold gates whose weights and thresholds are bounded within [M,+M], If we also provide the network with negations of binary inputs: ¬x1,,¬xk, 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 [0,+M], and thresholds bounded within [M,+M]. Therefore, TC0 can be defined equivalently as the languages decidable by some Boolean circuit family C1,C2,C3, such that

  • There exists a polynomial function p, and a constant d.
  • Each Cn 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 ±p(n).
  • For each x2n, we have xL iff Cn(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 TC0.

In arithmetic circuit complexity theory, TC0 can be equivalently characterized as the class of languages defined as the images of signfn, where each fn:{0,1}n is computed by a polynomial-size constant-depth unbounded-fan-in arithmetic circuits with + and × gates, and constants from {1,0,+1}.[3]

Complexity class relations

<templatestyles src="Unsolved/styles.css" />

Unsolved problem in computer science
TC0=?NC1

We can relate TC0 to other circuit classes, including AC0 and NC1 as follows:[4]

AC0AC0[p]TC0NC1.

Whether TC0NC1 is a strict inclusion is "one of the main open problems in circuit complexity".[4] In fact, it is even open whether TC0P/poly is a strict inclusion! This is in some sense unsurprising, since there is no natural proof for TC0P/poly, assuming that there is a cryptographically secure pseudorandom number generator in TC0, which have been explicitly constructed under the assumption that factoring Blum integers is hard (i.e. requires circuits of size 2poly(n)), which is widely suspected to be true.[5] More generally, randomness and hardness for have been shown to be closely related.[6] It is also an open question whether NEXPTC0. Indeed, NEXP⊈ACC0 was only proven in 2011.[7]

Note that because non-uniform TC0 and ACC0 can compute functions that are not Turing-computable, it is certainly the case that TC0⊈NEXP and ACC0⊈NEXP. The 2011 result simply shows that ACC0 and NEXP are incomparable classes. The open question is whether TC0 and NEXP are incomparable as well.

Note that, while the time hierarchy theorem proves that NPNEXP, both complexity classes are uniform, meaning that a single Turing machine is responsible for solving the problem at any input length. In contrast, a TC0 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 2poly(n) possible Boolean circuits of bounded depth and poly(n) size, then checking all 2n possible inputs to verify that the circuit is correct.

It has been proven that if TC0=NC1, then any ϵ>0, there exists a TC0 circuit family of gate number O(n1+ϵ) that solves the Boolean Formula Evaluation problem. Thus, any superlinear bound suffices to prove TC0NC1.[8]

Uniform TC0

DLOGTIME-uniform TC0 is also known as FOM, because it is equivalent to first-order logic with Majority quantifiers.[9] Specifically, given a logic formula that takes x1,x2,,xn Boolean variables, a Majority quantifier M is used as follows: given a formula with exactly one free variable ϕ(x), the quantified Mxϕ(x) is true iff ϕ(xi) is true for over half of i1:n, Integer division (given x,y n-bit integers, find x/y), powering (given x an n-bit integer, and k a O(ln(n))-bit integer, find xk), and iterated multiplication (multiplying n of n-bit integers) are all in DLOGTIME-uniform TC0.[10][1] It is usually considered the appropriate level of uniformity for TC0, neither too strong nor too weak. Specifically, because P is usually suspected to be stronger than TC0, while DLOGTIME is suspected to be equivalent in strength in some sense, DLOGTIME-uniformity is usually assumed, when uniformity is considered for TC0.[11]

The permanent of a 0-1 matrix is not in uniform TC0.[12]

Uniform TC0PP.[13]

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 {n+m,n.m,nm,n/m,2log2n2}, {n+m,n.m,nm,n/m,nlog2m}.[14] Here n.m=max(0,nm), nm is a bitwise AND of n and m. By functional version one means the set of all functions f(x1,,xn) over non-negative integers that are bounded by functions of FP and (y-th bit of f(x1,,xn)) 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 TCd0 be the class of languages decidable by a threshold circuit family of up to depth d:TC10TC20TC0=d=1TCd0The 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 poly(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.[15][16]

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 poly(n) gates.[17]Template:Pg

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 w1,,wn,θ 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 W. It is known that[18]12nlogn2n+o(n)log2W(n)12nlognn+o(n)See [17]Template:Pg for a literature review.

Sometimes the class of polynomial-bounded weights and thresholds with depth d is denoted as LT^d:=TCd0, and LTd denotes the class where the weight and thresholds are unbounded ("large weight threshold circuit"). This formalizes neural networks with real-valued activation functions.[19]

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, TCd0LTdTCd+10. It has been proven that TC20LT2.[15]

Allowing the sigmoid activation function σ does not increase the power, that is, TCd0=TCd0(σ) for all d1, assuming the weights are polynomially bounded.[20]

Probabilistic version

Like how the P class has a probabilistic version BPP, the TC0 has a probabilistic version RTC0. It is defined as the class of languages that can be polynomial-probabilistically decided.[21]

Let C1,C2,C3, be a Boolean circuit family that takes two kinds of inputs. A given circuit Cn takes the deterministic inputs x1,,xn, and the random inputs y1,,ym, where m=poly(n). The random inputs are sampled uniformly over all 2m possibilities.

A language L2* is decided polynomial-probabilistically by the family if for each x2n, if xL, then the probability that Cn(x,y)=+1 is at least 12+1poly(n), and if x∉L, then the probability that Cn(x,y)=+1 is at most 121poly(n).

Similarly, (feedforward) Boltzmann machines have been modelled as RTC0 circuits with boundedly-unreliable threshold units. That is, each threshold unit may, independently at random, with a bounded probability ϵ<1/2, make the wrong output.[22]

Sometimes, this class is also called BPTC0, in a closer analogy with BPP. In this definition, the probability that Cn(x,y)=+1 is at least 23, and if x∉L, then the probability that Cn(x,y)=+1 is at most 13. By the standard trick of sampling many times then taking the majority opinion, any d-layer RTC0 circuit can be converted to a (d+1)-layer BPTC0 circuit.

Hierarchy

Analogous to how TC10TC20TC0=d=1TCd0, RTC0 can also be divided intoRTC10RTC20RTC0=d=1RTCd0By definition, TCd0RTCd0. Furthermore, since RTCd0TCd+10,[21] there is a full hierarchy: TC10RTC10TC20RC20TC0=RTC0Similarly, allowing boundedly-unreliable threshold units, a RTCd0 circuit can be converted to a TCd+10 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, with essentially the same argument as the median trick.[22] This argument is merely an existence proof, and thus not uniform in a way that matters for TC0, since it gives no algorithm for discovering the advice other than brute-force enumeration.

Similarly, RTC0/poly=TC0/poly.[23]

Let be defined as the parity function, or the XOR function. Then the following two separations are theorems:[21]

  • RTC10TC20: The PARITY function is in TC20, but not in RTC10.[21]
  • TC20RTC20: The Boolean inner product function (IP) is in RTC20 but not in TC20, where[21] IPn(x1,,xn,x1,,xn)=i=1nAND(xi,xi)

The inner product function falls outside TC20 in a precise sense:[17]Template:Pg

  • If the weights of the bottom gates of a threshold circuit of depth 2 computing IPn are polynomial, then for any ϵ>0, for all large enough n, IPn requires 2(1/2ϵ)n gates.[21]
  • If the weights of the top gate in a threshold circuit of depth 2 computing IPn are at most 2o(n1/3), then the top gate must have fanin at least 2Ω(n1/3).[21]
  • If the weights of the bottom gates of a threshold circuit of depth 2 computing IPn do not exceed 2n/3, then the top gate must have fanin at least 2Ω(n).[24]

It is an open question how many levels the hierarchy has. It is also an open question whether the hierarchy collapses, that is, TC0=TC30.[19] In fact, there is still no exponential lower bound for LT20. 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.[17]Template:Pg

The hierarchy for monotone TC0 (that is, TC0 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 TCd10.[25]

If the polynomial bound on the number of gates is relaxed, then TC30 is quite powerful. Specifically, any language in ACC0 can be decided by a circuit family in TC30 (using Majority gates), except that it uses a quasi-polynomial number of gates (instead of polynomial).[26][27] This result is optimal, in that there exists a function that is computable with 3 layers of AC0, but requires at least an exponential number of gates for TC20 (using Majority gates).[28]

References

<templatestyles src="Reflist/styles.css" />

  1. a b Script error: No such module "Citation/CS1".
  2. Script error: No such module "Citation/CS1".
  3. Script error: No such module "Citation/CS1".
  4. a b Script error: No such module "citation/CS1".
  5. Script error: No such module "Citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. Script error: No such module "citation/CS1".
  8. Script error: No such module "Citation/CS1".
  9. Script error: No such module "Citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Script error: No such module "Citation/CS1".
  12. Script error: No such module "Citation/CS1".
  13. Script error: No such module "citation/CS1". As cited in Script error: No such module "Citation/CS1".
  14. Script error: No such module "citation/CS1".
  15. a b Script error: No such module "Citation/CS1".
  16. Script error: No such module "Citation/CS1".
  17. a b c d Script error: No such module "citation/CS1".
  18. Script error: No such module "Citation/CS1".
  19. a b Script error: No such module "Citation/CS1".
  20. Script error: No such module "citation/CS1".
  21. a b c d e f g Script error: No such module "Citation/CS1".
  22. a b Script error: No such module "Citation/CS1".
  23. Script error: No such module "citation/CS1".
  24. Script error: No such module "citation/CS1".
  25. Script error: No such module "Citation/CS1".
  26. Script error: No such module "citation/CS1".
  27. Script error: No such module "citation/CS1".
  28. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

Further reading

  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".

External links

Template:ComplexityClasses