NC (complexity): Difference between revisions
RjwilmsiBot (talk | contribs) m →The NC Hierarchy: fixing page range dashes using AWB (7151) |
|||
Line 32: | Line 32: | ||
==References== |
==References== |
||
<references/> |
<references/> |
||
* Greenlaw, Raymond, James Hoover, and Walter Ruzzo. ''Limits To Parallel computation; P-Completeness Theory''. ISBN 0-19-508591-4 |
* [http://www.cs.armstrong.edu/greenlaw/research/PARALLEL/limits.pdf Greenlaw, Raymond, James Hoover, and Walter Ruzzo. ''Limits To Parallel computation; P-Completeness Theory''. ISBN 0-19-508591-4] |
||
* Heribert Vollmer. ''Introduction to Circuit Complexity -- A Uniform Approach''. ISBN 3-540-64310-9 |
* Heribert Vollmer. ''Introduction to Circuit Complexity -- A Uniform Approach''. ISBN 3-540-64310-9 |
||
* {{cite book|author = [[Christos Papadimitriou]] | year = 1993 | title = Computational Complexity | publisher = Addison Wesley | edition = 1st edition | isbn = 0-201-53082-1}} Section 15.3: The class '''NC''', pp.375–381. |
* {{cite book|author = [[Christos Papadimitriou]] | year = 1993 | title = Computational Complexity | publisher = Addison Wesley | edition = 1st edition | isbn = 0-201-53082-1}} Section 15.3: The class '''NC''', pp.375–381. |
Revision as of 05:27, 8 October 2010
In complexity theory, the class NC (for "Nick's Class") is the set of decision problems decidable in polylogarithmic time on a parallel computer with a polynomial number of processors. In other words, a problem is in NC if there exist constants c and k such that it can be solved in time O(logc n) using O(nk) parallel processors. Stephen Cook coined the name "Nick's class" after Nick Pippenger, who had done extensive research on circuits with polylogarithmic depth and polynomial size.
Just as the class P can be thought of as the tractable problems, so NC can be thought of as the problems that can be efficiently solved on a parallel computer. NC is a subset of P because polylogarithmic parallel computations can be simulated by polynomial-time sequential ones. It is unknown whether NC = P, but most researchers suspect this to be false, meaning that there are probably some tractable problems which are "inherently sequential" and cannot significantly be sped up by using parallelism. Just as the class NP-Complete can be thought of as "probably intractable", so the class P-Complete, when using NC reductions, can be thought of as "probably not parallelizable" or "probably inherently sequential".
The parallel computer in the definition can be assumed to be a parallel, random-access machine (PRAM). That is a parallel computer with a central pool of memory, and any processor can access any bit of memory in constant time. The definition of NC is not affected by the choice of how the PRAM handles simultaneous access to a single bit by more than one processor. It can be CRCW, CREW, or EREW. See PRAM for descriptions of those models.
Equivalently, NC can be defined as those decision problems decidable by a uniform Boolean circuit (which can be calculated from the length of the input) with polylogarithmic depth and a polynomial number of gates.
The NC Hierarchy
NCi is the class of decision problems decidable by uniform boolean circuits with a polynomial number of gates and depth O(logi n), or the class of decision problems solvable in time O(logi n) on a parallel computer with a polynomial number of processors. Clearly, we have
which forms the NC-hierarchy.
We can relate the NC classes to the space classes L and NL. From Papadimitriou 1994, Theorem 16.1:
Similarly, we have that NCi is equivalent to the problems solvable on an alternating Turing machine with space and alternations.[2]
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 NCi = NCi+1 for some i, then NCi = NCj for all j ≥ i, and as a result, NCi = 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.
References
- ^ Nick's Class [dead link]
- ^ S. Bellantoni and I. Oitavem (2004). "Separating NC along the delta axis". Theoretical Computer Science. 318: 57–78.
- Greenlaw, Raymond, James Hoover, and Walter Ruzzo. Limits To Parallel computation; P-Completeness Theory. ISBN 0-19-508591-4
- Heribert Vollmer. Introduction to Circuit Complexity -- A Uniform Approach. ISBN 3-540-64310-9
- Christos Papadimitriou (1993). Computational Complexity (1st edition ed.). Addison Wesley. ISBN 0-201-53082-1.
{{cite book}}
:|edition=
has extra text (help) Section 15.3: The class NC, pp.375–381. - Dexter Kozen (2006). Theory of Computation. Springer. ISBN 1-84628-297-7. Lecture 12: Relation of NC to Time-Space Classes