NC Class and Parallel Circuit Complexity

Graduate Depth 71 in the knowledge graph I know this Set as goal
parallel-computation circuits depth-bounds

Core Idea

NC (Nick's Class) contains languages computable by circuits of polynomial size and logarithmic depth. These circuits model highly parallel computation: depth corresponds to parallel time while size represents total operations. NC ⊆ P, and whether NC = P remains open. NC-hierarchy captures degrees of parallelizability, with NC^1 (linear size, log depth) being particularly fundamental for understanding parallelism.

Explainer

From your study of circuit complexity, you know that Boolean circuits measure two distinct resources: size (total gates, corresponding to work) and depth (longest path from input to output, corresponding to time if gates can compute in parallel). NC exploits this separation: it defines the class of problems solvable with polynomial total work but only logarithmic parallel time.

The key intuition is that depth measures how many sequential steps you need if you have unlimited processors. Consider adding two n-bit numbers: naively done left to right, you have n sequential carries — depth Θ(n). But with a carry-lookahead tree, you can compute carries in O(log n) depth using O(n) gates. This is why integer addition is in NC^1 (circuits of O(n) size and O(log n) depth). More generally, NC^i consists of problems solvable by polynomial-size circuits of depth O(log^i n). The full class NC = ∪_i NC^i is what you can solve in polylogarithmic parallel time.

NC ⊆ P follows directly: a polynomial-size, polylogarithmic-depth circuit can be evaluated in polynomial time sequentially (just evaluate gate by gate in topological order). The reverse containment NC = P is open — it asks whether every polynomial-time algorithm can be efficiently parallelized down to polylogarithmic depth. The intuition for why P ≠ NC is plausible: some problems seem inherently sequential, where each step depends critically on the previous result.

The NC hierarchy refines parallelizability: NC^1 captures the most aggressively parallelizable problems (formula evaluation, regular languages), while NC^2 captures linear algebra over finite fields (matrix multiplication). Between NC and P lies an important class called P-complete: problems that are in P but believed not to be in NC because they capture sequential computation. The canonical P-complete problem is circuit value problem (CVP) — evaluating a given circuit on a given input — with all the irony that the very model used to define NC turns out to characterize its complement.

Practice Questions 5 questions

Prerequisite Chain

Counting to 10Counting to 20Understanding ZeroThe Number ZeroCounting to FiveOne-to-One CorrespondenceCombining Small Groups Within 5Addition Within 10Addition Within 20Two-Digit Addition Without RegroupingTwo-Digit Addition with RegroupingAddition Within 100Repeated Addition as MultiplicationMultiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Two-Digit by One-Digit DivisionDivision with RemaindersRemainders and Quotients in DivisionDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueReading and Writing DecimalsComparing and Ordering DecimalsAdding and Subtracting DecimalsMultiplying DecimalsDividing DecimalsDividing FractionsMixed Number ArithmeticOrder of OperationsInteger Order of OperationsVariable ExpressionsCombining Like TermsOne-Step EquationsTwo-Step EquationsSolving Multi-Step EquationsEquations with Variables on Both SidesLiteral EquationsSlope-Intercept FormPoint-Slope FormWriting Linear EquationsParallel and Perpendicular Line SlopesGraphing Linear EquationsPiecewise FunctionsStep FunctionsComposition of FunctionsInverse FunctionsRadical Functions and GraphsRational ExponentsExponential Functions and GraphsLogarithms IntroductionBig-O Notation and Asymptotic AnalysisBreadth-First Search (BFS)Shortest Paths in Unweighted GraphsDijkstra's Shortest Path AlgorithmAlgorithm Analysis and Big-O NotationTuring MachinesTime Complexity and the Class PNondeterministic Turing MachinesSpace Complexity: PSPACE, L, and NLCircuit ComplexityNC Class and Parallel Circuit Complexity

Longest path: 72 steps · 362 total prerequisite topics

Prerequisites (2)

Leads To (0)

No topics depend on this one yet.