# Computational Complexity Theory

Computational complexity theory is a branch of the theory of computation in theoretical computer science and mathematics that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other. In this context, a computational problem is understood to be a task that is in principle amenable to being solved by a computer (i.e. the problem can be stated by a set of mathematical instructions). Informally, a computational problem consists of problem instances and solutions to these problem instances. For example, primality testing is the problem of determining whether a given number is prime or not. The instances of this problem are natural numbers, and the solution to an instance is yes or no based on whether the number is prime or not.

A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used. The theory formalizes this intuition, by introducing mathematical models of computation to study these problems and quantifying the amount of resources needed to solve them, such as time and storage. Other complexity measures are also used, such as the amount of communication (used in communication complexity), the number of gates in a circuit (used in circuit complexity) and the number of processors (used in parallel computing). One of the roles of computational complexity theory is to determine the practical limits on what computers can and cannot do.

Closely related fields in theoretical computer science are analysis of algorithms and computability theory. A key distinction between analysis of algorithms and computational complexity theory is that the former is devoted to analyzing the amount of resources needed by a particular algorithm to solve a problem, whereas the latter asks a more general question about all possible algorithms that could be used to solve the same problem. More precisely, it tries to classify problems that can or cannot be solved with appropriately restricted resources. In turn, imposing restrictions on the available resources is what distinguishes computational complexity from computability theory: the latter theory asks what kind of problems can, in principle, be solved algorithmically.

### Other articles related to "computational complexity theory, complexity, computational complexity, computational, theory":

Computational Complexity Theory - History
... Before the actual research explicitly devoted to the complexity of algorithmic problems started off, numerous foundations were laid out by various researchers. 2003) date the beginning of systematic studies in computational complexity to the seminal paper "On the Computational Complexity of Algorithms" by Juris Hartmanis and ... Trakhtenbrot (1956), a pioneer in the field from the USSR, studied another specific complexity measure ...
Systems Theory In Anthropology - Main Concepts in Systems Theory - Complexity
... The challenge is then how to non-represent empirical reality without reducing the complexity of a system ...
Reduction (recursion Theory) - Reductions Stronger Than Turing Reducibility - Strong Reductions in Computational Complexity
... by a decision procedure but do not otherwise limit the computational resources available ... This is acceptable in the study of recursion theory, which is interested in theoretical computability, but it is not reasonable for computational complexity theory, which studies which ... The most common reducibility in computational complexity theory is polynomial-time reducibility a set A is polynomial-time reducible to a set B if there is a polynomial-time ...
Complexity, Problem Solving, And Sustainable Societies - Focus - Requirement of Knowledge
... Lowering the costs of complexity in one sphere causes them to rise in another." "Industrialism illustrates this point ... It generated its own problems of complexity and costliness ... While such elements of complexity are usually thought to facilitate economic growth, in fact they can do so only when subsidized by energy." (italics ours) ...
List Of Theorems - S
... differential geometry) Sarkovskii's theorem (dynamical systems) Savitch's theorem (computational complexity theory) Sazonov's theorem (functional analysis) Schaefer's dichotomy theorem (computation ...

### Famous quotes containing the words theory and/or complexity:

We commonly say that the rich man can speak the truth, can afford honesty, can afford independence of opinion and action;—and that is the theory of nobility. But it is the rich man in a true sense, that is to say, not the man of large income and large expenditure, but solely the man whose outlay is less than his income and is steadily kept so.
Ralph Waldo Emerson (1803–1882)

In times like ours, where the growing complexity of life leaves us barely the time to read the newspapers, where the map of Europe has endured profound rearrangements and is perhaps on the brink of enduring yet others, where so many threatening and new problems appear everywhere, you will admit it may be demanded of a writer that he be more than a fine wit who makes us forget in idle and byzantine discussions on the merits of pure form ...
Marcel Proust (1871–1922)