Exam Flashcards
decidability
language is decidable if some Turing machine decides it
decidability proof
A = { < C > | C is machine M }
Turing machine M = “On input :
1. construct two DFA’s/CFG’s/PDA’s one recognizing the language to prove and the other recognizing the complement of the language to prove
2. construct DFA/CFG/PDA with L(A) = intersection of two language of 1.
3. test whether L(A) = emptiest using E_(DFA/CFG/PDA)
decider T from theorem of the book
4. if T accepts, reject; if T rejects, accept
if A is undecidable and reducible to B then …
B is undecidable
decidability of an NFA or regex
REG to NFA to DFA
recognizability
a language is TM-recognizable if some Turing machine recognizes it
all decidable languages are …
recognizable
proof L is not TM-recognizable
it suffices to show that non-recognizable languages such as complement A_TM or E_TM is mapping reducible to L
co-recognizable
L is co-recognizable if complement L is recognizable
P
U_k TIME (n^k) class of languages that are decidable in polynomial time on deterministic single tape TM
proof L in P
Given algorithm A A = "On input <i> 1. 2. 3. ..., accept; ..., reject"
Show A runs in polynomial time</i>
NP
class of languages that have polynomial time verifiers a language is in NP iff it is decided by some nondeterministic polynomial time Turing machine
verifier
a verifier for language A is an algorithm V, where
A = {w | V accepts < w, c > for some string c}
c = certificate
proof L in NP
V = "On input <<>, >: 1. test whether ..., reject 2. test whether ..., reject 3. otherwise accept " prove in polynomial time
coNP
contains languages that are complements of languages in NP
proof: show complement is in NP
example: { | phi is contradictory Boolean formula}
NP-hard
language is NP-hard if all problems in NP are polynomial time reducible to it
proof L is NP-hard
- choose known NP-hard language L’
- prove L’ < _ p L
a. give polynomial time reduction f from L’ to L
b. prove f is reduction so w in L’ iff f(w) in L
c. prove f i s computable in polynomial time
co NP-hard
contains language that are complements of language in NP-hard
NP-complete
is a problem for which the correctness of each solution can be quickly verified and a brute-force searching algorithm can actually find a solution by trying all possible solutions
proof L in NP-complete
- prove L is in NP
2. prove L is NP-hard
reducibility
if A reduces to B we can use B to solve A
computable function
a function f is computable if some TM M, on every input w, halts with just f(w) on its tape