TOPICS
Search

Computational Complexity


Computational complexity quantifies the resources required to perform a computational process or execute an algorithm. A computational complexity measure specifies a model of computation, a resource, and an input-size parameter, then records the resource usage as a function of that size. Common resources are computation time and memory, giving time and space complexity, respectively. Their growth is normally described using asymptotic notation, with separate best-case, average-case, and worst-case measures when these differ. In a model whose elementary steps are operations on bits, the time measure is bit complexity, with input size measured in bits.

A complexity class groups computational problems according to a computational model and resource bound. For decision problems, the class P consists of problems solvable in polynomial time by a deterministic Turing machine, while NP consists of problems solvable in polynomial time by a nondeterministic Turing machine. Equivalently, proposed solutions to NP problems can be verified in polynomial time. The inclusion P subset= NP is known, but whether P=NP is the P versus NP problem. An NP-hard problem is at least as hard as every problem in NP, and an NP-complete problem is both NP-hard and in NP. The classification of problems by such resource requirements is studied in complexity theory (Du and Ko 2000).

Communication complexity measures the number of bits exchanged between parties that hold separate parts of an input. Local computation is unrestricted in this model, so communication is the resource being bounded (Kushilevitz and Nisan 1997).


See also

Algorithm, Arithmetic Circuit, Asymptotic Notation, Big-O Notation, Bit Complexity, Boolean Circuit, Communication Complexity, Complexity Theory, Computation Time, Counting Hierarchy, Decision Problem, EXPTIME, EXPTIME-Complete Problem, Logarithmic Space, Multiplicative Complexity, NP-Complete Problem, NP-Hard Problem, NP-Problem, P-Problem, P Versus NP Problem, PPAD, Query Complexity, Turing Machine

Explore with Wolfram|Alpha

References

Du, D.-Z. and Ko, K.-I. Theory of Computational Complexity. New York: Wiley, 2000.Weisstein, E. W. "Books about Computational Complexity." http://www.ericweisstein.com/encyclopedias/books/ComputationalComplexity.html.Kushilevitz, E. and Nisan, N. Communication Complexity. Cambridge, England: Cambridge University Press, 1997. https://doi.org/10.1017/CBO9780511574948.

Referenced on Wolfram|Alpha

Computational Complexity

Cite this as:

Weisstein, Eric W. "Computational Complexity." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/ComputationalComplexity.html

Subject classifications