TC0

From testwiki
Jump to navigation Jump to search

Template:Short description

TC0 is a complexity class used in circuit complexity. It 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 majority gates. Equivalently, threshold gates can be used instead of majority 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.

Complexity class relations

We can relate TC0 to other circuit classes, including AC0 and NC1; Vollmer 1999 p. 126 states:

𝖠𝖢0𝖠𝖢0[p]𝖳𝖢0𝖭𝖢1.

Vollmer states that the question of whether the last inclusion above is strict is "one of the main open problems in circuit complexity" (ibid.).

We also have that uniform 𝖳𝖢0𝖯𝖯. (Allender 1996, as cited in Burtschick 1999).

Basis for uniform TC0

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}.[2] 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.

References

Template:Reflist

Template:ComplexityClasses