Computational complexity theory is a branch of the theory of computation The theory of computation is the branch of computer science and mathematics that deals with whether and how efficiently problems can be solved on a model of computation, using an algorithm. The field is divided into two major branches: computability theory and complexity theory, but both branches deal with formal models of computation in computer science Computer science or computing science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. It is frequently described as the systematic study of algorithmic processes that create, describe and transform information. According to Peter J that focuses on classifying computational problems according to their inherent difficulty. In this context, a computational problem is understood to be a task that is in principle amenable to being solved by a computer. 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 In mathematics, a prime number is a natural number that has exactly two distinct natural number divisors: 1 and itself. The first twenty-six prime numbers are: or not. The instances of this problem are natural numbers In mathematics, there are two conventions for the set of natural numbers: it is either the set of positive integers {1, 2, 3, ...} according to the traditional definition or the set of non-negative integers {0, 1, 2, ...} according to a definition first appearing in the nineteenth century, 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 solving the problem requires a large amount of resources, independent of the algorithm used for solving it. 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 A logic gate performs a logical operation on one or more logic inputs and produces a single logic output. The logic normally performed is Boolean logic and is most commonly found in digital circuits. Logic gates are primarily implemented electronically using diodes or transistors, but can also be constructed using electromagnetic relays, fluidics, in a circuit (used in circuit complexity) and the number of processors (used in parallel computing Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level, instruction level, data, and task parallelism). In particular, computational complexity theory determines the practical limits on what computers A computer is a machine that manipulates data according to a set of instructions can and cannot do.
Closely related fields in theoretical computer science are analysis of algorithms To analyze an algorithm is to determine the amount of resources necessary to execute it. Most algorithms are designed to work with inputs of arbitrary length. Usually the efficiency or complexity of an algorithm is stated as a function relating the input length to the number of steps (time complexity) or storage locations (space complexity) and computability theory Computability theory, also called Recursion theory, is a branch of mathematical logic that originated in the 1930s with the study of computable functions and Turing degrees. The field has grown to include the study of generalized computability and definability. In these areas, recursion theory overlaps with proof theory and effective descriptive. A key distinction between computational complexity theory and analysis of algorithms is that the latter is devoted to analyzing the amount of resources needed by a particular algorithm to solve a problem, whereas the former 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 be solved in principle algorithmically.
Contents |
unknown
2008-04-28 18:36:49
Surgical Procedure May Provide Relief for Patients with Chronic . Intractable. Headaches -HeadachesMigraineSurgery - Surgical Procedure May Provide Relief for Patients with Chronic . Intractable. Headaches.
