CSCI 2670 Introduction to Theory of Computing

Slides:



Advertisements
Similar presentations
1 CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem KN Hung SHB 1026.
Advertisements

1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Mapping Reducibility Sipser 5.3 (pages ).
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
Mapping Reducibility Sipser 5.3 (pages ). CS 311 Fall Computable functions Definition 5.17: A function f:Σ*→Σ* is a computable function.
Reducibility A reduction is a way of converting one problem into another problem in such a way that a solution to the second problem can be used to solve.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 6 Decidability Jan Maluszynski, IDA, 2007
CSCI 2670 Introduction to Theory of Computing November 4, 2004.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
CSCI 2670 Introduction to Theory of Computing October 12, 2005.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
CSCI 2670 Introduction to Theory of Computing
The Acceptance Problem for TMs
Recursively Enumerable Languages
Theory of Computability
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
PARTIAL RECURSIVE FUNCTION
Theory of Computability
Busch Complexity Lectures: Reductions
Reductions.
CSCI 2670 Introduction to Theory of Computing
Reductions Costas Busch - LSU.
Intro to Theory of Computation
BCS 2143 Theory of Computer Science
Theory of Computability
CSC 4170 Theory of Computation Turing reducibility Section 6.3.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Reducibility The Chinese University of Hong Kong Fall 2010
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
CS154, Lecture 10: Rice’s Theorem, Oracle Machines
CSE 105 theory of computation
CS154, Lecture 8: Undecidability, Mapping Reductions
CS154, Lecture 10: Rice’s Theorem, Oracle Machines
CS154, Lecture 8: Undecidability, Mapping Reductions
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
CSC 4170 Theory of Computation Decidable languages Section 4.1.
CSCI 2670 Introduction to Theory of Computing
Reducability Sipser, pages
CSCI 2670 Introduction to Theory of Computing
CSC 4170 Theory of Computation Mapping Reducibility Section 5.3.
CSCI 2670 Introduction to Theory of Computing
Do not hand in your homework until the end of class
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
CSE 105 theory of computation
Theory of Computability
Instructor: Aaron Roth
CSC 4170 Theory of Computation Mapping Reducibility Section 5.3.
Theory of Computability
More undecidable languages
Turing -Recognizable vs. -Decidable
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
Theory of Computability
Instructor: Aaron Roth
Automata, Grammars and Languages
Turing -Recognizable vs. -Decidable
CSE 105 theory of computation
Intro to Theory of Computation
Intro to Theory of Computation
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

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 AmB, 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,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

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