Theory of Computation
Smith Computer Science
The Emptiness Problem
They’re a way for us to relate problems to one another
If A reduces to B and B is easy => A is easy too
More common: if A reduces to be and A is hard => B is hard too
We started with ATM (which we proved was undecidable using a big ugly contradiction )
Reduced ATM to HALT (ATM ≤ HALT): we showed that if we had a decider HALT, we could use that to decide ATM
(so that means HALT must also be undecidable)
We did the same thing with ATM-01
And EmptyTM
Later, we also showed that if we had a decider for HALT, we could use that to decide EmptyTM
And that if we had a decider for EQ_TM, we could yet again decide EmptyTM (mapping)
Our previous example:
Remember, we have to be able to deal with any input, but we don’t necessarily have to map them all to unique outputs.
This is why a mapping reduction is sometimes called a “many-one” reduction.
Let’s start by assuming that ∅ ∉ P (that is, it doesn’t exhibit the non-trivial property we care about).
Because we’re trying to prove undecidability, I claim that we can assume this WLOG.
Why? (otherwise, just work with the complement of P).
Let M1 be any TM such that L(M1) = ∅, so < M1 > ∉ MP.
Cool, so now we’ve got something we could map not-in-ATM words to.
Next let M2 be any TM such that L(M2) ∈ P, so < M1 > ∈ MP.
How do we know M2 exists?
Because P is nontrivial.
We have M1 not in P, M2 in P
Goal:
on any input x:
if \(x = < M,w >\) ∈ ATM, map to something in MP
otherwise, map to something not in MP (like M1)
Easy part: If x isn’t of the form \(< M,w >\) return something ∉ MP, like \(< M1>\).
Harder part: If x IS of the form \(< M,w >\) , we have two cases: if it’s in ATM, we want to map it to a machine in MP and if it’s NOT in ATM, we want to map it to something not in MP.
Time to get tricksy:
if x is of the form \(< M,w >\) , then return the following machine: \(< M^{\prime}_{M,w} >\)
\(< M^{\prime}_{M,w} >\) :
On any input y:
Run M on w. #(If stuck on a loop, this is M1!)
If M accepts w then run M2 on y ADWID
If M rejects w, REJECT.
If M accepts w, what is \(< M^{\prime}_{M,w} >\)’s language?
exactly the same as M2’s, which means this machine is in MP
(If M accepts w, then \(< M^{\prime}_{M,w} >\) is just the result of M2)
If M doesn’t accept w, what is its language?
the empty language, exactly like M1, which means NOT in MP
(If M doesn't accept w,\(< M^{\prime}_{M,w} >\) is just M1)
Therefore, ATM \( \leq_m\) MP using this process.
This implies that MP is undecidable