Computational complexity Theory Flashcards
NP Stands for
Non Deterministic Polynomial Time
P
A fundamental complexity class that contains all decision problems that can be solved by a deterministic Turing machine using a polynomial amount of computation time
Tractable vs intractable
A problem that can be solved in theory (e.g. given large but finite resources, especially time), but for which in practice any solution takes too many resources to be useful, is known as an intractable problem.[14] Conversely, a problem that can be solved in practice is called a tractable problem, literally “a problem that can be handled”.
Cobham’s thesis
asserts that computational problems can be feasibly computed on some computational device only if they can be computed in polynomial time; that is, if they lie in the complexity class P.[4] In modern terms, it identifies tractable problems with the complexity class P.
Cobham’s thesis limitations
Obviously in practice not all exponentials are slow and not all polynomials are fast for reasonable values of n. E.g n^10000 is practically a lot slower than .000001^(.00001n)
L
the class of problems decidable by a deterministic Turing Machine using a logarithmic amount of memory space
L aka
LSpace or DLSpace
NP
is the set of decision problems solvable in polynomial time by a non-deterministic Turing machine; also can be thought of as the set of decision problems for which the problem instances, where the answer is “yes”, have proofs verifiable in polynomial time by a deterministic Turing machine
Turing degree of a set
is a measure of how difficult it is to solve the decision problem associated with the set, that is, to determine whether an arbitrary number is in the given set.
a Cook reduction
A Turing reduction in which the oracle machine runs in polynomial time
How do we represent a decision problem?
is represented as a set A of natural numbers (or strings). An instance of the problem is an arbitrary natural number (or string). The solution to the instance is “YES” if the number (string) is in the set, and “NO” otherwise.
Oracle machine
a Turing machine with a black box, called an oracle, which is able to solve certain decision problems in a single operation. The problem can be of any complexity class. Even undecidable problems, such as the halting problem, can be used.
Turing reduction
a Turing reduction from a decision problem A to a decision problem B is an oracle machine which decides problem A given an oracle for B (Rogers 1967, Soare 1987). It can be understood as an algorithm that could be used to solve A if it had available to it a subroutine for solving B.
Nondeterministic Turing Machine
a Turing machine that may have a set of rules that prescribes more than one action for a given situation
IP stands for
Interactive Polynomial Time