CSCI 2670 Introduction to Theory of Computing November 3, 2005
Agenda Yesterday Today Reductions (Section 5.3) More on reductions We will not be covering section 6.4 I will discuss some basic issues of this section when covering chapter 7 November 3, 2005
Announcement Remember to let me know if you want to come to my pizza party next Wednesday November 3, 2005
Mapping reducibility Definition: Language A is mapping reducible to language B, written AmB, if there is a computable function f:* → *, where for every w, w A iff f(w) B f November 3, 2005
Why ≤m? In some sense, if A ≤m B, then A is “less powerful” than B For example, we can map from CFG’s to decidable languages that aren’t CF, but not vice versa Example We can easily map any CFG C to ACFG f(w) = <C,w> w C iff <C,w> ACFG You can use this example to help you remember how to use reductions November 3, 2005
Mapping reductions & decidability Theorem: If A m B and B is decidable, then A is decidable. Proof: Let M be a decider for B and let f be a reduction from A to B. Consider the following TM, N: N = “On input w: Compute f(w) Run M on f(w) and report M’s output” Then N decides A November 3, 2005
Example Let EV = {<A>| A is a DFA all strings in L(A) have an even number of 1’s} How can we prove EV is decidable using a mapping reduction? Consider the following DFA B 1 \{1} L(B) = {w * | w has an even number of 1’s} November 3, 2005
Mapping reduction of L Use EQDFA = {<A,B> | A and B are DFA’s with L(A) = L(B)} Mapping from EV to EQDFA f(<A>) = <A,AB> A has an even number of 1’s if and only if L(A) = L(AB) I.e., A EV iff f(A) EQDFA Since we know EQDFA is decidable and EV ≤m EQDFA, we now know EV is decidable November 3, 2005
Mapping reductions & undecidability Corollary: If A m B and A is undecidable, then B is undecidable. We have been using this corollary implicitly already November 3, 2005
Example We showed that HALTTM is undecidable by contradiction Now let’s show it’s undecidable using mapping reduction Need a function that takes input <M,w> Halts if M accepts w, and loops if not November 3, 2005
Mapping from ATM to HALTTM F = “On input x If x ≠ <M,w> for some TM M, output x Otherwise, construct the following TM M’ = “On input x: 1. Run M on x 2. If M accepts, accept 3. If M rejects, enter a loop” 2. Output <M’,w>” If M accepts w M’ halts on w, otherwise M’ loops or generates a string not in HALTTM I.e., <M,w>ATM iff <M’,w>HALTTM November 3, 2005
HALTTM is undecidable We just showed that ATM ≤m HALTTM Since we know ATM is undecidable, we can conclude that HALTTM is undecidable November 3, 2005
Reductions & TM-recognizability Theorem: If A m B and B is Turing-recognizable, then A is Turing-recognizable. Proof: (same as decidable proof) Let M be a recognizer for B and let f be a reduction from A to B. Consider the following TM, N: N = “On input w: Compute f(w) Run M on f(w) and report M’s output” Then N recognizes A November 3, 2005
Reductions & non-TM-recognizability Corollary: If A m B and A is not Turing-recognizable, then B is not Turing-recognizable. Question: Which language have we seen that is not Turing-recognizable? Answer: ATM November 3, 2005
Proving non-Turing-recognizability Question: If A m U is Ā m Ū? Answer: Yes since x A iff f(x) U How can we use this to prove non-Turing-recognizability? Prove ATM m U or prove ATM m Ū November 3, 2005
Is mapping reducibility enough? Mapping reducibility does not completely capture our intuition about reductions Example: ATM and ATM are not mapping reducible ATM is Turing-recognizable and ATM isn’t A solution to ATM would also provide a solution to ATM November 3, 2005
Oracle An oracle for a language B is an external device that is capable of reporting whether any string w is a member of B We are not concerned how the oracle determines membership An oracle Turing machine is a Turing machine that can query an oracle The machine MB can query an oracle for the language B November 3, 2005
Example An oracle Turing machine with an oracle for EQTM can decide ETM TEQ-TM = “On input <M> Create TM M1 such that L(M1) = M1 has a transition from start state to reject state for every element of Call the EQTM oracle on input <M,M1> If it accepts, accept; if it rejects, reject” TEQ-TM decides ETM ETM is decidable relative to EQTM November 3, 2005
Turing reducibility Definition: A language A is Turing reducible to a language B, written A T B, if A is decidable relative to B Previous slide shows ETM is Turing reducible to EQTM Whenever A is mapping reducible to B, then A is Turing reducible to B The function in the mapping reducibility could be replaced by an oracle November 3, 2005
Applications If A T B and B is decidable, then A is decidable If A T B and A is undecidable, then B is undecidable If A T B and B is Turing-recognizable, then A is Turing-recognizable If A T B and A is non-Turing-recognizable, then B is non-Turing-recognizable November 3, 2005
Have a great weekend! November 3, 2005