FACTOID # 139: If you are looking for work, just go to the Falkland Islands! They have full employment and a labor shortage.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS   

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Intractable

Complexity theory is part of the theory of computation dealing with the resources required during computation to solve a given problem. The most common resources are time (how many steps it takes to solve a problem) and space (how much memory it takes). Other resources can also be considered, such as how many parallel processors are needed to solve a problem in parallel. Complexity theory differs from computability theory, which deals with whether a problem can be solved at all, regardless of the resources required. Computation can be defined as finding a solution to a problem from given inputs by means of an algorithm. ... Parallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors in order to obtain faster results. ... Computability theory is that part of the theory of computation dealing with which problems are solvable by algorithms (equivalently, by Turing machines), with various restrictions and extensions. ...

Contents


Overview

After the theory explaining which problems can be solved and which cannot be, it was natural to ask about the relative computational difficulty of computable functions. This is the subject matter of computational complexity. In computability theory computable functions or Turing computable functions are the basic objects of study. ...


A single "problem" is an entire set of related questions, where each question is a finite-length string. For example, the problem FACTORIZE is: given an integer written in binary, return all of the prime factors of that number. A particular question is called an instance. For example, "give the factors of the number 15" is one instance of the FACTORIZE problem. Generally, string is a thin piece of fiber which is used to tie, bind, or hang other objects. ... In mathematics, the integer prime-factorization (also known as prime decomposition) problem is this: given a positive integer, write it as a product of prime numbers. ... The binary or base-two numeral system is a system for representing numbers in which a radix of two is used; that is, each digit in a binary numeral may have either of two different values. ... In mathematics, a prime number (or prime) is a natural number greater than one whose only positive divisors are one and itself. ...


The time complexity of a problem is the number of steps that it takes to solve an instance of the problem, as a function of the size of the input, (usually measured in bits) using the most efficient algorithm. To understand this intuitively, consider the example of an instance that is n bits long that can be solved in n² steps. In this example we say the problem has a time complexity of n². Of course, the exact number of steps will depend on exactly what machine or language is being used. To avoid that problem, we generally use Big O notation. If a problem has time complexity O(n²) on one typical computer, then it will also have complexity O(n²) on most other computers, so this notation allows us to generalize away from the details of a particular computer. In the fields of algorithm analysis and computational complexity theory, the running time or space requirements of an algorithm are expressed as a function of the problem size. ... Flowcharts are often used to represent algorithms. ... The Big O notation is a mathematical notation used to describe the asymptotic behavior of functions. ...


Example: Mowing grass has linear complexity because it takes double the time to mow double the area. However, looking up something in a dictionary has only logarithmic complexity because a double sized dictionary only has to be opened one time more (e.g. exactly in the middle - then the problem is reduced to the half).


Decision problems

Much of complexity theory deals with decision problems. A decision problem is a problem where the answer is always YES/NO. For example, the problem IS-PRIME is: given an integer written in binary, return whether it is a prime number or not. A decision problem is equivalent to a language, which is a set of finite-length strings. For a given decision problem, the equivalent language is the set of all strings for which the answer is YES. In logic, a decision problem is determining whether or not there exists a decision procedure or algorithm for a class S of questions requiring a Boolean value (i. ...


Decision problems are often considered because an arbitrary problem can always be reduced to a decision problem. For example, the problem HAS-FACTOR is: given integers n and k written in binary, return whether n has any prime factors less than k. If we can solve HAS-FACTOR with a certain amount of resources, then we can use that solution to solve FACTORIZE without much more resources. Just do a binary search on k until you find the smallest factor of n. Then divide out that factor, and repeat until you find all the factors. In computer science, binary search is a search algorithm for searching a set of sorted data for a particular value. ...


Complexity theory often makes a distinction between YES answers and NO answers. For example, the set NP is defined as the set of problems where the YES instances can be checked "quickly" (i.e. in polynomial time). The set Co-NP is the set of problems where the NO instances can be checked quickly. The "Co" in the name stands for "complement". The complement of a problem is one where all the YES and NO answers are swapped, such as IS-COMPOSITE for IS-PRIME. In computational complexity theory, the complement of a decision problem is the decision problem resulting from reversing the yes and no answers. ...


An important result in complexity theory is the fact that no matter how hard a problem can get (i.e. how much time and space resources it requires), there will always be even harder problems. At least for time complexity, and for polynomial-time decision problems, this is determined by the time hierarchy theorem. A similar space hierarchy theorem can also be derived. In computational complexity theory, the time hierarchy theorems are important statements that ensure the existence of certain hard problems which cannot be solved in a given amount of time. ... In computational complexity theory, the space hierarchy theorems are the exact analogues of the time hierarchy theorems for space. ...


Complexity classes

Decision problems fall into sets of comparable complexity, called complexity classes. In computational complexity theory, a complexity class is a set of problems of related complexity. ...

Unsolved problems in computer science: The class "P" are problems whose solution can be found in polynomial time, and the class "NP" are problems whose solution can be verified in polynomial time. Any problem in P is also in NP. Is NP in P, and hence are the classes equal?

The complexity class P is the set of decision problems that can be solved by a deterministic machine in polynomial time. This class corresponds to an intuitive idea of the problems which can be effectively solved in the worst cases. General science-related image. ... This is a list of open problems in computer science. ... In computational complexity theory, P is the complexity class containing decision problems which can be solved by a deterministic Turing machine using a polynomial amount of computation time, or polynomial time. ... In computational complexity theory, Polynomial time refers to the computation time of a problem where the time, m(n), is no greater than a polynomial function of the problem size, n. ... In computational complexity theory, NP (Non-deterministic Polynomial time) is the MONKEY ... Classes can refer to: social class scientific classification class (object-oriented programming) a subject in school see also class. ... In computational complexity theory, P is the complexity class containing decision problems which can be solved by a deterministic Turing machine using a polynomial amount of computation time, or polynomial time. ...


The complexity class NP is the set of decision problems that can be solved by a non-deterministic machine in polynomial time. This class contains many problems that people would like to be able to solve effectively, including the Boolean satisfiability problem, the Hamiltonian path problem and the Vertex cover problem. All the problems in this class have the property that their solutions can be checked effectively. In computational complexity theory, NP (Non-deterministic Polynomial time) is the MONKEY ... The Boolean satisfiability problem (SAT) is a decision problem considered in complexity theory. ... In the mathematical field of graph theory the Hamiltonian path problem and the Hamiltonian cycle problem is the problem of determinining whether a Hamiltonian path or a Hamiltonian cycle exists in a given graph. ... In computer science, the vertex cover problem or node cover problem is an NP-complete problem in complexity theory, and was one of Karps 21 NP-complete problems. ...


Many complexity classes can be characterized in terms of the mathematical logic needed to express them; see descriptive complexity. Mathematical logic is a discipline within mathematics, studying formal systems in relation to the way they encode intuitive concepts of proof and computation as part of the foundations of mathematics. ... Descriptive complexity is a branch of finite model theory, a subfield of computational complexity theory and mathematical logic, in which we seek to characterize complexity classes by the type of logic needed to express the languages in them. ...


See the list of complexity classes. This is a list of complexity classes in computational complexity theory. ...


The P = NP question

The question of whether P is the same set as NP is the most important open question in theoretical computer science. There is even a $1,000,000 prize for solving it. (See complexity classes P and NP and oracles). The Clay Mathematics Institute (CMI) is a private, non-profit foundation, based in Cambridge, Massachusetts, and dedicated to increasing and disseminating mathematical knowledge. ... Diagram of complexity classes provided that P ≠ NP. If P = NP, then all three classes are equal. ... In complexity theory and computability theory, an oracle machine is an abstract machine used to study decision problems. ...


Questions like this motivate the concepts of hard and complete. A set of problems X is hard for a set of problems Y if every problem in Y can be transformed easily into some problem in X with the same answer. The definition of "easily" is different in different contexts. The most important hard set is NP-hard. Set X is complete for Y if it is hard for Y, and is also a subset of Y. The most important complete set is NP-complete. See the articles on those two sets for more detail on the definition of "hard" and "complete". In computational complexity theory, NP-hard (Non-deterministic Polynomial-time hard) refers to the class of decision problems that contains all problems H such that for all decision problems L in NP there is a polynomial-time many-one reduction to H. Informally this class can be described as containing... In complexity theory, the NP-complete problems are the most difficult problems in NP, in the sense that they are the ones most likely not to be in P. The reason is that if you could find a way to solve an NP-complete problem quickly, then you could use...


Notable researchers

Manindra Agrawal (born 20 May 1966 in Allahabad) is a professor of computer science at the Indian Institute of Technology, Kanpur. ... Manuel Blum (born 26 April 1938) is a computer scientist who received the Turing Award in 1995 In recognition of his contributions to the foundations of computational complexity theory and its application to cryptography and program checking. Some of his work includes the Blum Blum Shub pseudorandom number generator, the... Stephen A. Cook is a noted computer scientist. ... Juris Hartmanis (born July 7, 1928 in Riga, Latvia) is a prominent computer scientist who, with Richard E. Stearns, received the 1993 ACM Turing Award in recognition of their seminal paper which established the foundations for the field of computational complexity theory. Born in Latvia, he moved to Germany after... Richard M. Karp (born 1935) is a computer scientist, notable for research in the theory of algorithms, for which he received a Turing Award in 1985. ... Leonid Levin (born 1948, USSR) was a computer scientist and a student of Andrey Kolmogorov. ... Richard Edwin Stearns is a prominent computer scientist who, with Juris Hartmanis, received the 1993 ACM Turing Award in recognition of their seminal paper which established the foundations for the field of computational complexity theory. Stearns is now Distinguished Professor Emeritus of Computer Science at the University at Albany, which... Madhu Sudan (मधु सूदन) (b. ... Andrew Chi-Chih Yao (姚期智, pinyin: Yáo Qīzhì) (born December 24, 1946) is a prominent computer scientist. ...

See also

This is a list of important publications in computer science, organized by field. ... Unsolved problems in : Note: Use the unsolved tag: {{unsolved|F|X}}, where F is any field in the sciences: and X is a concise explanation with or without links. ... This is a list of computability and complexity topics, by Wikipedia page. ...

External links


Important complexity classes (more)
P | NP | Co-NP | NP-C | Co-NP-C | NP-hard | UP | #P | #P-C | L | NC | P-C
PSPACE | PSPACE-C | EXPTIME | EXPSPACE | BQP | BPP | RP | ZPP | PCP | IP | PH

  Results from FactBites:
 
Intractable Pain Treatment Laws and Regulations (3138 words)
Intractable pain is a term that is used and defined in the federal controlled substances regulations and now in some state laws.
Intractable pain treatment policy refers to laws, regulations, or other government-issued policies and guidelines that address the legitimacy of the medical use of opioid analgesics to treat patients with intractable pain.
Intractable pain is defined as "pain for which, in the generally accepted course of medical practice, the cause cannot be removed and otherwise treated" (Florida Statutes, 1994, p.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.