210 likes | 328 Views
CSCI 2670 Introduction to Theory of Computing. November 3, 2005. Agenda. Yesterday Reductions (Section 5.3) Today More on reductions Section 6.3 We will not be covering section 6.4 I will discuss some basic issues of this section when covering chapter 7. Announcement.
E N D
CSCI 2670Introduction to Theory of Computing November 3, 2005
Agenda • Yesterday • Reductions (Section 5.3) • Today • More on reductions • Section 6.3 • 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
f f 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 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
\{1} \{1} 1 1 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 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