Generated by GPT-5-mini| NC (complexity) | |
|---|---|
| Name | NC |
| Type | Complexity class |
| Introduced | 1984 |
| Related | P, L, P-complete, RNC, AC, TC |
| Typical problems | Boolean matrix multiplication, graph connectivity, matrix inversion |
NC (complexity)
NC is the class of decision problems decidable in polylogarithmic time on a parallel random-access machine with a polynomial number of processors. It formalizes efficient parallel computation and is central to theoretical computer science, parallel algorithms, and circuit complexity studies involving circuits of polylogarithmic depth and polynomial size.
NC is defined via uniform families of Boolean circuits of polynomial size and O((log n)^k) depth for some fixed k, and by equivalently bounded-time algorithms on parallel models such as the parallel random-access machine. The formalization of uniformity uses notions introduced by researchers associated with Frederick J. Brooks Jr., Michael J. Fischer, Leslie Valiant, Richard Karp, Jurgen Stockmeyer, and ties to uniformity conditions studied by Stephen Cook, Richard Lipton, Dana Scott, Kenneth Arrow, and John Hopcroft. Definitions rely on circuit families and uniformity constraints related to log-space or NC^1-uniformity studied by Rudolf E. K. Seidel, Neil Immerman, Juan Cruz, and Leslie Goldfarb.
Canonical examples in NC include arithmetic and algebraic tasks proven to have polylogarithmic-depth circuits, such as integer addition studied by John von Neumann, Charles Babbage, Alonzo Church, Alan Turing, Stephen Cook, and Andrew Yao; integer multiplication results connected to works by Peter Montgomery, David Harvey, Andrew Odlyzko, and Don Knuth; and Boolean matrix multiplication building on techniques from Volker Strassen, Robert Strassen, Rudolf Müllner, and Richard Brent. Graph problems like connectivity, matching, and minimum spanning tree have NC algorithms tied to contributions by David L. Johnson, Robert Tarjan, Michael Rabin, Ronald Rivest, Vaughan Pratt, and Leslie Valiant. Complete problems for subclasses include problems complete for NC^1 via reductions developed in papers by Stephen Cook, Murray Gerstenhaber, Neil Immerman, Michael Sipser, and others. Randomized parallel classes like RNC relate to derandomization techniques explored by Noam Nisan, Michael Saks, Noga Alon, and Avi Wigderson, leading to NC algorithms for specific cases such as determinant and matrix inversion derived from works of Daniel Spielman, Gary Miller, Shafi Goldwasser, and Silvio Micali.
NC is contained in P and believed to be a strict subset of P, a conjecture examined by Stephen Cook, Richard Karp, Leonid Levin, Scott Aaronson, and Leslie Valiant. Its relationship with L (logarithmic space) and NL (nondeterministic logarithmic space) has been studied by Neil Immerman, Ravi Kannan, Sanjeev Arora, and Eric Allender; problems in LOGSPACE sometimes lie in NC whereas many P-complete problems (identified by Christos Papadimitriou, Erich Bacharach, Jack Edmonds, and Michael O. Rabin) resist parallelization. Comparisons with circuit classes AC, TC, and NC^i leverage circuit lower bound programs initiated by Valiant, Alexei Chervonenkis, Miklós Ajtai, Warren McCulloch, and J. Hartmanis. Relativized and oracle separations have been explored by Bennett Bonner, Alan Selman, Leslie Valiant, and Ronald Fagin to probe separations like NC versus P. Connections to derandomization and probabilistic classes involve researchers such as Oded Goldreich, Shafi Goldwasser, Silvio Micali, Noam Nisan, and Avi Wigderson.
Practical and theoretical NC algorithms exploit parallel models including PRAM variants (EREW, CREW, CRCW) formalized in works by Richard Karp, John H. Reif, Jerrold Traub, Danny Dolev, and Nancy Lynch. Circuit constructions use depth-reduction techniques from Valiant, Seba Vadhan, Moses Charikar, and Sanjeev Arora. Parallel prefix, tree contraction, and divide-and-conquer paradigms are core methods with seminal contributors like Guy Blelloch, Robert Tarjan, Andrew Yao, Michael J. Fischer, and Kenneth Thomson. Parallel algorithms for linear algebra, graph connectivity, and flow use ideas from Gary Miller, Richard Lipton, David Karger, Rajeev Motwani, and Éva Tardos. Implementations on multicore and GPU platforms reference influences from John Hennessy, David Patterson, Gordon Bell, James Demmel, and William Gropp.
NC exhibits closure properties under complement, union, intersection, and certain reductions with results attributed to researchers like Neil Immerman, Rūsiņš Freivalds, Stephen Cook, Richard Karp, and Leslie Valiant. Completeness under NC reductions defines hardness notions studied by Christos Papadimitriou, Gary Johnson, Michael Rabin, and Neil Immerman. Circuit lower bounds and tradeoffs between depth, size, and fan-in—central to NC structure—trace back to foundational work by Shimon Even, Noga Alon, Miklós Ajtai, Ajtai Komlós Szemerédi, and Valentine Kabanets. Algebraic, monotone, and bounded-depth circuit separations involve contributors such as Jan Krajíček, Alexander Razborov, Ran Raz, and Alexander A. Sherstov.
Major open problems include whether NC = P and whether specific P-complete problems admit NC algorithms, questions pursued by Stephen Cook, Richard Karp, Michael Sipser, Leslie Valiant, and Scott Aaronson. Proving circuit lower bounds separating NC from P engages researchers like Ryan Williams, Noam Nisan, Ethan Bernstein, and Eric Allender. Derandomization of RNC into NC and deterministic parallel algorithms for matching and determinant continue to attract work from Noga Alon, Oded Goldreich, Avi Wigderson, Salil Vadhan, and Daniel Spielman. Advances in fine-grained parallel complexity, tradeoffs between space and time in parallel models, and practical parallel implementations continue to be explored by Guy Blelloch, Gary Miller, Éva Tardos, Rajeev Motwani, and Alan Turing.