1 / 21

CSCI 2670 Introduction to Theory of Computing

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.

Download Presentation

CSCI 2670 Introduction to Theory of Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSCI 2670Introduction to Theory of Computing November 3, 2005

  2. 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

  3. Announcement • Remember to let me know if you want to come to my pizza party next Wednesday November 3, 2005

  4. f f Mapping reducibility Definition: Language A is mapping reducible to language B, written AmB, if there is a computable function f:*→ *, where for every w, w  A iff f(w)  B November 3, 2005

  5. 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

  6. 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

  7. \{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

  8. 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,AB> • A has an even number of 1’s if and only if L(A) = L(AB) • 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. Have a great weekend! November 3, 2005

More Related