language-icon Old Web
English
Sign In

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 Boolean circuits that compute them. One speaks of the circuit complexity of a Boolean circuit. A related notion is the circuit complexity of a recursive language that is decided by a uniform family of circuits C 1 , C 2 , … {displaystyle C_{1},C_{2},ldots } (see below). 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 Boolean circuits that compute them. One speaks of the circuit complexity of a Boolean circuit. A related notion is the circuit complexity of a recursive language that is decided by a uniform family of circuits C 1 , C 2 , … {displaystyle C_{1},C_{2},ldots } (see below). Complexity classes defined in terms of Boolean circuits include AC0, AC, TC0 and NC. A Boolean circuit with n {displaystyle n} input bits is a directed acyclic graph in which every node (usually called gates in this context) is either an input node of in-degree 0 labelled by one of the n {displaystyle n} input bits, an AND gate, an OR gate, or a NOT gate. One of these gates is designated as the output gate. Such a circuit naturally computes a function of its n {displaystyle n} inputs. The size of a circuit is the number of gates it contains and its depth is the maximal length of a path from an input gate to the output gate. There are two major notions of circuit complexity (these are outlined in Sipser (1997):324). The circuit-size complexity of a Boolean function f {displaystyle f} is the minimal size of any circuit computing f {displaystyle f} . The circuit-depth complexity of a Boolean function f {displaystyle f} is the minimal depth of any circuit computing f {displaystyle f} . These notions generalize when one considers the circuit complexity of any language that contains strings with different bit lengths, especially infinite formal languages. Boolean circuits, however, only allow a fixed number of input bits. Thus no single Boolean circuit is capable of deciding such a language. To account for this possibility, one considers families of circuits C 1 , C 2 , … {displaystyle C_{1},C_{2},ldots } where each C n {displaystyle C_{n}} accepts inputs of size n {displaystyle n} . Each circuit family will naturally generate the language by circuit C n {displaystyle C_{n}} outputting 1 {displaystyle 1} when a length n {displaystyle n} string is a member of the family, and 0 {displaystyle 0} otherwise. We say that a family of circuits is size minimal if there is no other family that decides on inputs of any size, n {displaystyle n} , with a circuit of smaller size than C n {displaystyle C_{n}} (respectively for depth minimal families). Thus circuit complexity is meaningful even for non-recursive languages. The notion of a uniform family (see below) enables variants of circuit complexity to be related to algorithm based complexity measures of recursive languages. However, the non-uniform variant is helpful to find lower bounds on how complex any circuit family must be in order to decide given languages. Hence, the circuit-size complexity of a formal language A {displaystyle A} is defined as the function t : N → N {displaystyle t:mathbb {N} o mathbb {N} } , that relates a bit length of an input, n {displaystyle n} , to the circuit-size complexity of a minimal circuit C n {displaystyle C_{n}} that decides whether inputs of that length are in A {displaystyle A} . The circuit-depth complexity is defined similarly. Boolean circuits are one of the prime examples of so-called non-uniform models of computation in the sense that inputs of different lengths are processed by different circuits, in contrast with uniform models such as Turing machines where the same computational device is used for all possible input lengths. An individual computational problem is thus associated with a particular family of Boolean circuits C 1 , C 2 , … {displaystyle C_{1},C_{2},dots } where each C n {displaystyle C_{n}} is the circuit handling inputs of n bits. A uniformity condition is often imposed on these families, requiring the existence of some possibly resource-bounded Turing machine that, on input n, produces a description of the individual circuit C n {displaystyle C_{n}} . When this Turing machine has a running time polynomial in n, the circuit family is said to be P-uniform. The stricter requirement of DLOGTIME-uniformity is of particular interest in the study of shallow-depth circuit-classes such as AC0 or TC0. When no resource bounds are specified, a language is recursive (i.e., decidable by a Turing machine) if and only if the language is decided by a uniform family of Boolean circuits. A family of Boolean circuits { C n : n ∈ N } {displaystyle {C_{n}:nin mathbb {N} }} is polynomial-time uniform if there exists a deterministic Turing machine M, such that A family of Boolean circuits { C n : n ∈ N } {displaystyle {C_{n}:nin mathbb {N} }} is logspace uniform if there exists a deterministic Turing machine M, such that

[ "Electronic circuit", "Algorithm", "Electronic engineering", "Theoretical computer science", "NC", "monotone circuits", "ACC0" ]
Parent Topic
Child Topic
    No Parent Topic