Difference between revisions 108480397 and 108480401 on dewiki

{{unsolved|computer science|Is '''NC''' {{=}} '''P''' ?}}
In [[computational complexity theory|complexity theory]], the class '''NC''' (for "Nick's Class") is the set of [[decision problem]]s decidable in [[polylogarithmic time]] on a [[parallel computing|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 [[Big O notation|''O'']](log<sup>''c''</sup>&nbsp;''n'') using [[Big O notation|''O'']](''n''<sup>''k''</sup>) 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 (complexity)|P]]''' can be thought of as the tractable problems ([[Cobham's thesis]]), 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 t(contracted; show full) 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 [[parallel random access machine|PRAM]] for descriptions of those models.  

Equivalently, '''NC''' can be defined as those decision problems decidable by 
  a [[Boolean circuit|uniform Boolean circuit]] (which can be calculated from the length of the input) with [[polylogarithmic]] depth and a polynomial number of gates.

[[RNC (complexity)|RNC]] is a class extending NC with access to randomness.

== 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
* Computation of matrix determinant, inverse, rank;
* Finding a maximal matching;
* Polynomial GCD (it is open whether integer GCD is in NC).

== The NC Hierarchy ==
'''NC'''<sup>''i''</sup> is the class of decision problems decidable by uniform boolean circuits with a polynomial number of gates and depth ''O''(log<sup>''i''</sup>&nbsp;''n''), or the class of decision problems solvable in time ''O''(log<sup>''i''</sup>&nbsp;''n'') on a p(contracted; show full)[[Category:Circuit complexity]]

[[de:NC (Komplexitätsklasse)]]
[[es:NC (clase de complejidad)]]
[[ko:NC (복잡도)]]
[[it:NC (complessità)]]
[[ja:NC (計算複雑性理論)]]
[[vi:NC (độ phức tạp)]]