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, TC (Threshold Circuit) is a
complexity class
In computational complexity theory, a complexity class is a set (mathematics), set of computational problems "of related resource-based computational complexity, complexity". The two most commonly analyzed resources are time complexity, time and s ...
of
decision problems that can be recognized by threshold circuits, which are
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
AND,
OR, and
Majority gates, or equivalently,
threshold gates. For each fixed ''i'', the complexity class TC
i consists of all languages that can be recognized by a family of threshold circuits of depth
,
polynomial
In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
size, and unbounded
fan-in. The class TC is defined via
:
The class was proposed in 1988 to formalize the computational complexity of
artificial neural networks.
Relation to NC and AC
The relationship between the TC,
NC and the
AC hierarchy can be summarized as follows:
:
In particular, we know that
:
The first strict containment follows from the fact that NC
0 cannot compute any function that depends on all the input bits. Thus choosing a problem that is trivially in AC
0 and depends on all bits separates the two classes. (For example, consider the OR function.) The strict containment AC
0 ⊊ TC
0 follows because parity and majority (which are both in TC
0) were shown to be not in AC
0.
As an immediate consequence of the above containments, we have that NC = AC = TC.
References
*
{{ComplexityClasses
Circuit complexity
Complexity classes