Problems in NC
As with P, by a slight abuse of language, one might classify function problems and search problems as being in NC. NC is known to include many problems, including * Integer addition, multiplication and division; *Example
An example of problem in NC1 is the parity check on a bit string. The problem consists in counting the number of 1s in a string made of 1 and 0. A simple solution consists in summing all the string's bits. SinceThe NC hierarchy
NC''i'' is the class of decision problems decidable by uniform boolean circuits with a polynomial number of gates of at most two inputs and depth , or the class of decision problems solvable in time ''O''((log ''n'')''i'') on a parallel computer with a polynomial number of processors. Clearly, : which forms the NC-hierarchy. The smallest class, NC''0'', is the class of functions definable by boolean circuits with constant depth and bounded fan-in. The next-smallest class, NC''1'', is equal to BW4''0'' , the set of all problems solvable by polynomial-size, bounded fan-in circuits of width 4 or less. This is true for both the uniform and nonuniform case (DLOGTIME-uniformity suffices). One can relate the NC classes to the space classes L, SL, NL, LOGCFL, and AC.Clote & Kranakis (2002) p.437 : The NC classes are related to the AC classes, which are defined similarly, but with gates having unbounded fan-in. For each ''i'', : As an immediate consequence of this, NC = AC.Clote & Kranakis (2002) p.12 Also, . Similarly, NC is equivalent to the problems solvable on an alternating Turing machine restricted to at most two options at each step with ''O''(log ''n'') space and alternations. It is a major open question whether . A significant partial result states that if there exists some , and a problem in , such that it requires at least gates in , then this can be bootstrapped so that it requires superpolynomial gates, and thus not in .Uniformity
There are various levels of uniformity being considered. A family of boolean circuits is uniform if the schematics for any member of the family can be produced by a Turing machine under various resource constraints. With different levels of constraints, we would obtain possibly different complexity classes, with a more stringent constraint leading to a possibly smaller complexity class. In the literature, the following uniformities have been considered for the NC''1'' class, arranged according to strength: * NC''1'' itself. This is also called the -uniformity. It is equivalent to ALOGTIME. * LOGSPACE. * P. * Computable. Any halting Turing machine is allowed. * Non-uniform. This is the strongest case. The boolean circuit family may contain arbitrary elements of the correct width and depth, even if the family cannot be generated by any algorithm. By default, the literature uses LOGSPACE uniformity. Because it is possible that , researchers may use NC''1''-uniformity, since it is a possible strengthening. To avoid self-reference, NC''1''-uniform NC''1'' is defined as follows: A NC''1'' Boolean circuit family is NC''1''-uniform if the set of descriptions is decided by an ALOGTIME alternating Turing machine. The machine reads in a length- description of a Boolean circuit, and halts in time . For higher classes NC''2'', NC''3'', ..., there are similar uniformities definable. However, for , NC''k''-uniform NC''k'' and LOGSPACE-uniform NC''k'' are equal, and both are equivalent to the following definition: The family is decided by an alternating Turing machine. The machine reads in a length- description of a Boolean circuit, and halts in time and space .Open problem: Is NC proper?
One major open question in complexity theory is whether or not every containment in the NC hierarchy is proper. It was observed by Papadimitriou that, if NC''i'' = NC''i''+1 for some ''i'', then NC''i'' = NC''j'' for all ''j'' ≥ ''i'', and as a result, NC''i'' = NC. This observation is known as NC-hierarchy collapse because even a single equality in the chain of containments : implies that the entire NC hierarchy "collapses" down to some level ''i''. Thus, there are 2 possibilities: # # It is widely believed that (1) is the case, although no proof as to the truth of either statement has yet been discovered. If there exists a problem that is NC-complete under LOGSPACE or NC''1'' reductions, then the NC hierarchy collapses.Barrington's theorem
A branching program with ''n'' variables of width ''k'' and length ''m'' consists of a sequence of ''m'' instructions. Each of the instructions is a tuple (''i'', ''p'', ''q'') where ''i'' is the index of variable to check (1 ≤ ''i'' ≤ ''n''), and ''p'' and ''q'' are functions from to . Numbers 1, 2, ..., ''k'' are called states of the branching program. The program initially starts in state 1, and each instruction (''i'', ''p'', ''q'') changes the state from ''x'' to ''p''(''x'') or ''q''(''x''), depending on whether the ''i''th variable is 0 or 1. The function mapping an input to a final state of the program is called the ''yield'' of the program (more precisely, the yield on an input is the function mapping any initial state to the corresponding final state). The program ''accepts'' a set of variable values when there is some set of functions such that a variable sequence is in ''A'' precisely when its yield is in ''F''. A family of branching programs consists of a branching program with ''n'' variables for each ''n''. It accepts a language when the ''n'' variable program accepts the language restricted to length ''n'' inputs. It is easy to show that every language ''L'' on can be recognized by a family of branching programs of width 5 and exponential length, or by a family of exponential width and linear length. Every regular language on can be recognized by a family of branching programs of constant width and linear number of instructions (since a DFA can be converted to a branching program). BWBP denotes the class of languages recognizable by a family of branching programs of bounded width and polynomial length.Clote & Kranakis (2002) p.50 Barrington's theorem says that BWBP is exactly nonuniform NC1. The proof uses the nonsolvability of the symmetric group S5. The theorem is rather surprising. For instance, it implies that the majority function can be computed by a family of branching programs of constant width and polynomial size, while intuition might suggest that to achieve polynomial size, one needs a linear number of states.Proof of Barrington's theorem
A branching program of constant width and polynomial size can be easily converted (via divide-and-conquer) to a circuit in NC1. Conversely, suppose a circuit in NC1 is given. Without loss of generality, assume it uses only AND and NOT gates. Call a branching program α-computing a circuit ''C'' if it works as identity when 's output is 0, and as when 's output is 1. As a consequence of Lemma 1 and the fact that all cycles of length 5 are conjugate, for any two 5-cycles , , if there exists a branching program α-computing a circuit ''C'', then there exists a branching program β-computing the circuit ''C'', of the same length. The size of the branching program is at most 4, where ''d'' is the depth of the circuit. If the circuit has logarithmic depth, the branching program has polynomial length.Notes
References
* *