Theory of Computation Review
This is a midterm review for CS6382 (syllabus)
Important problems
Topic 1: Determining decidability
Concepts
- r.e. = Turing-recognizable
- recursive = Turing-decidable
- A r.e. property
is a language of TM codes such that every pair of TMs that generated the same language must either both inside or outside ofA A
Halting problem ⟨x,M⟩ , but fix x . Is this decidable?
Halting problem ⟨x,M⟩ , but fix M . Is this decidable?
Topic 2: “Characterization” of NP
Informally, the NP class is defined as the collection of languages that can be recognized by a Non-deterministic Turing Machine (NTM) in polynomial time.
To precisely define “polynomial time”, and “can be recognized”, we come to the following definition.
Human language:
- there eixsts
- another language
inB P - a polynomial
p
- another language
- such that:
- for any string
with lengthx :n belongs tox if and only if:A - there exits a string
y - such that:
- length of
does not exceedy p(n) - the concatenation
belongs to⟨x,y⟩ .B
- length of
- there exits a string
- for any string
With that,
In some cases, we restrict the alphabet for
Topic 3: Using Partition and Subsum to prove NP-completeness
Concepts
The following two problems are NP-complete:
- Partition: Given a set of positive intergers
. Check if there exists a partitionA (disjoint) such that Sum(A1∩A2=2 ) = Sum(A1 ).A2 - Subsum: Given a set of positive intergers
. Check if there exists a subsetA such that Sum(B⊂A ) =A .S
To prove a problem
- If using many-to-one reduction, we need to (1)construct a polynomial-time many-to-one reduction algorithm to reduce the input
ofy to the inputB ofx , then prove that (2)A and (3) the converse.y∈B⇒x∈A - If using Turing reduction, we need to construct a polynomial-time DTM with oracle A that accepts B.
Topic 4: Using Turing-reduction to prove a completeness in Polynomial Hierarchy
Concepts
- More about Turing reduction:
- rather than changing the input to another one in many-one reduction, we use the original input, but consulting an oracle in the TM.
- It is transitive.
- Notations for
A≤pTB ,A∈P(B) - or
.A∈PB
- It is a “weaker” reduction than many-to-one.
- It should not be merged naively with many-to-one.
- Polynomial Hierarchy (PH) arises from this:
- The hierachy starts with
Σp0=Πp0=Δp0=P - Then built by:
Σpn+1=P(Σpn),Πpn+1=NP(Σpn),Δpn+1=co−NP(Σpn) - Level 1:
Σp1=NP(P)=NP;Δp1=co−NP(P)=co−NP(P);Πp1=P(P)=P - Level 2:
…Δp2=P(NP)
- Level 1:
- Finally,
PH=∪nΣpn
- The hierachy starts with
Example: Prove that Exact-Clique is ≤pT -complete in Δp2
Proof:
- We have Exact-Clique
Clique≤pT Exact-Clique⇒ ∈P(NP)=Δp2 - Every problem in
can be Turing-reduced to some problem inΔp2 , which can be many-one-reduced to Clique, which can be Turing-reduced to Exact-Clique (q.e.d.)NP
Topic 5: Proving Space Bounded Halting Problem is PSPACE-complete
Problem. SBHP = “Given an DTM M, an input x and a string
Proof.
- Language form:
L={⟨m,x,0s⟩|M accepts x within space s} - First, prove it belongs to PSPACE by the existence of the universal TM.
- p-m reduction: From a string y in A, construct the input
for⟨M,y,0p(|y|)⟩ . We haveL . Therefore, we have reduced all problem in PSPACE toA∈PSPACE⇔⟨M,y,op(|y|)⟩∈L .L
Miscelaneous
“The barber that cuts his own hair”
- Diagionalization technique is very intersting. Used to prove something is non-countable by contradiction.
- Halting problem is one of those. The language version:
{M|M accepts code(M)} - Method 1: See the textbook
- Method 2: Still cooking it …
- In class, my prof used the barber paradox to illustrate. I was in fact inspired by this technique to cut my actual hair.