Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI 2670 Introduction to Theory of Computing

Similar presentations


Presentation on theme: "CSCI 2670 Introduction to Theory of Computing"— Presentation transcript:

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

2 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

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

4 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 f 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 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

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


Download ppt "CSCI 2670 Introduction to Theory of Computing"

Similar presentations


Ads by Google