Difference between revisions 108480392 and 108480397 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 cons(contracted; show full) The theorem is rather surprising. It implies that majority function can be computed with a family of branching programs of constant width and polynomial size, while intuition might suggest that to achieve polynomial size, one needs 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 NC<sup>1</sup>. Conversely, suppose a circuit in NC<sup>1</sup> is given. Without loss of generality, assume it uses only AND and NOT gates. Lemma 1: If there exists a branching program that sometimes works as permutation ''P'' and sometimes as ''Q'', by right-multiplying permutations in first instruction by <math>\alpha</math>, and in last instruction left-multiplying by <math>\beta</math>, we can make a circuit of the same length that behaves as <math>\beta P \alpha</math> or <math>\beta Q \alpha</math> respectively. Call a branching program <math>\alpha</math>-computing a circuit <math>C</math> if it works as identity when C's output is 0, and as <math>\alpha</math> when C'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 <math>\alpha, \beta</math> if there exists a branching program <math>\alpha</math>-computing a circuit ''C'', then there exists a branching program <math>\beta</math>-computing the circuit ''C'', of the same length. Lemma 2: There exists 5-cycles <math>\gamma, \delta</math> such that their [[commutator]] <math>\gamma \delta \gamma^{-1} \delta^{-1} = \epsilon</math> is a 5-cycle. For example, <math>\gamma = (1 2 3 4 5)</math>, <math>\delta = (1 3 5 4 2)</math>. We will now prove Barrington's theorem by induction. Assume that for all subcircuits <math>D</math> of <math>C</math> and 5-cycles <math>\alpha</math>, there exists a branching program <math>\alpha</math>-computing <math>C</math>. We will show that for all 5-cycles <math>\alpha</math>, there exists a branching program <math>\alpha</math>-computing <math>C</math>. * If the circuit outputs <math>x_i</math>, the branching program has one instruction checking <math>x_i</math> and outputting identity or <math>\alpha</math> respectively. * If the circuit outputs <math>\neg C</math>, where <math>C</math> is a different circuit. Create a branching program <math>\alpha^{-1}</math>-computing <math>C</math>, and multiply output of the program (using lemma 1) by <math>\alpha</math> to get a branching program outputting <math>id</math> or <math>\alpha</math>, i.e. <math>\alpha</math>-computing <math>\neg C</math>. * If the circuit outputs <math>C \wedge D</math>, join the branching programs that <math>\delta^{-1}</math>-compute D, <math>{\gamma}^{-1} </math>-compute C,<math>\delta</math>-compute D, <math>\gamma</math>-compute C. If one of the circuits outputs 0, the resulting program will be identity; if both circuits output 1, the resulting program will work as <math>\epsilon</math>. In other words, we get a program <math>\epsilon</math>-computing <math>C \wedge D</math>. Because <math>\epsilon</math> and <math>\alpha</math> are two 5-cycles, they are conjugate, and there exists a program <math>\alpha</math>-computing <math>C \wedge D</math>. The size of the branching program is at most <math>4^d</math>, where ''d'' is the depth of the circuit. If the circuit has logarithmic depth, the branching program has polynomial length.⏎ ⏎ ==References== <references/> * [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 * {{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 = [[Dexter Kozen]] | year = 2006 | title = Theory of Computation | publisher = Springer | isbn = 1-84628-297-7}} Lecture 12: Relation of ''NC'' to Time-Space Classes {{ComplexityClasses}} {{DEFAULTSORT:Nc (Complexity)}} [[Category:Complexity classes]] [[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)]] All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://de.wikipedia.org/w/index.php?diff=prev&oldid=108480397.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|