We know that fast computers can solve many problems efficiently. But can many computers working in parallel solve them faster still?
The class P captures problems solvable in polynomial time on one processor. The class NC (Nick's Class) captures problems solvable in polylogarithmic time with polynomially many parallel processors â roughly, the problems that genuinely benefit from parallelism. Since NC â P, every problem that parallelizes well is already in P.
The open question is whether NC = P. If they are equal, then every efficiently-solvable problem can be parallelized. If they differ, there exist problems in P that no amount of extra hardware can meaningfully accelerate. Those hardest-to-parallelize problems in P are called P-complete.
Just as NP-complete problems are the hardest in NP (under polynomial reductions), P-complete problems are the hardest in P under the sharper yardstick of NC reductions â reductions computable in polylogarithmic parallel time. Solving any one of them efficiently in parallel would collapse all of P into NC.
The canonical example is the Circuit Value Problem (CVP): given a Boolean circuit and an input, compute the output. Evaluating a circuit feels sequential â each gate depends on its predecessors â and it has been proven P-complete (Cook, 1985). Another classic is the lexicographically first depth-first search (lex-first DFS) order of a graph, also proven P-complete.
Comments
Loading comments...