You are on page 1of 5

TMS

REDUC
P
NP

Undecidable:

ATM = HALTTM = {<M, w> | M is a TM and M accepts w}

nontrivial properties of Turing machines are undecidable

CFTM = {<M> | M is a TM and L(M) is context free}

FINITETM = {<M> | M is a TM and L(M) is finite}

DECIDEABLETM = {<M> | M is a TM and L(M) is decideable}

ETM = {<M> | M is a TM and L(M) = empty set}

REGULARTM = {<M> | M is a TM and L(M) is regular}

EQTM = {<M1, M2> | M1, M2 are TMs and L(M1) = L(M2)}

ELBA = {<M> | M is an LBA and L(M) = empty set}

ALLCFG = {<G> | G is a CFG and L(G) = *}

EQCFG = {<G> | G is a CFG and L(A) = empty set}

PCP (Post correspondence problem) {<P> | P is a collections of dominoes with a


match}

Decidable:

ADFA = {<B, w> | B is a DFA and w exists in L(B)}

AREX = {<R, w> | R is a regular expression that generates w}

ANFA = {<B, w> | B is an NFA and w exists in L(B)}

EDFA = {<B> | B is a DFA and L(A) = empty set}

EQDFA= {<A, B> | A, B are DFAs and L(A) = L(B)}

ACFG = {<G, w> | G is a CFG generating w}

ECFG = {<G> | G is a CFG and L(A) = empty set}

ALBA = {<M, w> | M is a LBA that determines w}

Polynomial decidable (P) languages:

PATH = {<G, s, t> | G is a directed graph with directed path from s to t}

RELPRIME = {<x, y> | x, y are relatively prime} use Euclidean algorithm

Every context free language use CYK algorithm

Polynomial verifiable (NP) languages:

HAMPATH = {<G, s, t> | G is a digraph with a Hamiltonian path from s to t}

COMPOSITES = <x | x = pq for integers p, q > 1}

CLIQUE = {<G, k> | G is an undirected graph with a k-clique}

SUBSET SUM = {<S, t> | S {x1 , , xn} and there is a S S such that y = t, y
exists in S}

NP-Complete Languages:

VERTEX COVER = {(G, k) | G is an undirected graph with a k-node vertex cover}

HAMPATH =

Definitions:
Regular language If we can check every word is in the language with finite memory
Ambiguity If a CFG has two or more leftmost derivations (some languages are inherently so)
Context free language each rule points to a single variable
Push Down Automata (PDA) has a memory stack, recognizes CFGs
* = all possibilities of a given language, i.e. {, 0, 1, 00, 01, 11, }
A is mapping reducible to B when there is a function such that w exists in A only if f(w) exists in
B. If A is undecidable, B is undecidable. If B is Turing recognizable, A is also. If A is not
Turing recognizable, neither is B. EQTMis neither Turing recognizable or co-Turing
recognizable.
Co-Turing recognizable (co-recursively enumerable) the complement of a Turing recognizable
language
Configuration the state, tape contents, and tape head position of a TM
Computation histories the series of configurations leading to an accepting or rejection
Linear Bounded Automaton Turing machine that may only use the original portion of the tape
Context sensitive languages languages accepted by LBAs
Time complexity time require to solve a problem
Space complexity space required to solve a problem
O(n) = asymptotic upper bound, f(n) is O(g(n)) means f(n) <= g(n) after removing constants

o(n) = means f(n) < g(n)


P = polynomial equivalent = class of languages that are decidable in polynomial time on a
deterministic single-tape Turing machine
NP = nondeterministic polynomial time = class of languages that are verifiable in polynomial
time OR class of languages decidable in polynomial time by nondeterministic TMs
Verifier = an algorithm V where A = {w | V accepts <w, c> for some string c}
c = certificate (proof)
polynomial time computable function = function that has a polynomial time TM that halts with
F(w) on its tape given an input w
clique subgraph of an undirected graph in which every two vertices are connected by an edge
NTIME(t(n)) = {L | L is a language decidable by a O(t(n)) time NTM}
NP-complete = NP and NP-hard (every NP language can be reduced to it)
Equisatisfiable = A is only satisfied if and only if A is

a, a b == given an a, pop an a and write a b

You might also like