Theory of Computability

Slides:



Advertisements
Similar presentations
Variants of Turing machines
Advertisements

1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture15: Reductions 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.
CHAPTER 4 Decidability Contents Decidable Languages
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 6 Decidability Jan Maluszynski, IDA, 2007
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
Fall 2006Costas Busch - RPI1 Undecidable Problems (unsolvable problems)
Prof. Busch - LSU1 Reductions. Prof. Busch - LSU2 Problem is reduced to problem If we can solve problem then we can solve problem.
CSCI 2670 Introduction to Theory of Computing November 4, 2004.
Decidable languages Section 4.1 CSC 4170 Theory of Computation.
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Decidable.
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Another famous undecidable problem: The halting problem.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Undecidable.
Decidability.
 2005 SDU Lecture14 Mapping Reducibility, Complexity.
The Acceptance Problem for TMs
Theory of Computability
Recursively Enumerable and Recursive Languages
CSCI 2670 Introduction to Theory of Computing
This statement is false.
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
Busch Complexity Lectures: Reductions
Reductions.
Undecidable Problems Costas Busch - LSU.
Reductions Costas Busch - LSU.
Automata, Grammars and Languages
Theory of Computability
CSC 4170 Theory of Computation Turing reducibility Section 6.3.
Reducibility The Chinese University of Hong Kong Fall 2010
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
CS154, Lecture 8: Undecidability, Mapping Reductions
CS154, Lecture 8: Undecidability, Mapping Reductions
Decidability of logical theories
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
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
More undecidable languages
Theory of Computability
The Church-Turing Thesis
Decidability of logical theories
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
CSE 105 theory of computation
Instructor: Aaron Roth
CSC 4170 Theory of Computation Mapping Reducibility Section 5.3.
Theory of Computability
More undecidable languages
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
Theory of Computability
Instructor: Aaron Roth
Automata, Grammars and Languages
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

Theory of Computability Giorgi Japaridze Theory of Computability Reducibility Chapter 5

The undecidability of the halting problem Giorgi Japaridze Theory of Computability Let HALTTM = {<M,w> | M is a TM and M halts on input w} HALTTM is called the halting problem. Theorem 5.1: HALTTM is undecidable. Proof idea: Assume, for a contradiction, that HALTTM is decidable. I.e. there is a TM R that decides HALTTM. Construct the following TM S: S = “On input <M,w>, an encoding of a TM M and a string w: 1. Run R on input <M,w>. 2. If R rejects, reject. 3. If R accepts, simulate M on w until it halts. 4. If M has accepted, accept; if M has rejected, reject.” If M works forever on w, what will S do on <M,w>? If M accepts w, what will S do on input <M,w>? If M explicitly rejects w, what will S do on <M,w>? Thus, S decides the language But this is impossible (Theorem 4.11)

Definition of mapping reducibility Giorgi Japaridze Theory of Computability We say that A is mapping reducible to B, written AmB, if there is a computable function f: ** such that, for every w*, wA iff f(w)B. The function f is called a mapping reduction of A to B. Let A and B be languages over an alphabet . * * A B f f

An example of a mapping reduction 5.3.b Giorgi Japaridze Theory of Computability Let f be the function computed by the following TMO M: M=“On input <N,w>, where N is an NFA and w is a string, 1. Convert N into an equivalent DFA D using the algorithm we learned; 2. Return <D,w>.” f is then a mapping reduction of what language to what language? * * <N,w> <D,w> <D,w> <N,w>

Using mapping reducibility for proving decidability/undecidability Giorgi Japaridze Theory of Computability Theorem 5.22: If AmB and B is decidable, then A is decidable. Proof: Let DB be a decider for B and f be a reduction from A to B. We describe a decider DA for A as follows. DA= “On input w: 1. Compute f(w). 2. Run DB on input f(w) and do whatever DB does.” Corollary 5.23: If AmB and A is undecidable, then B is undecidable. Theorem 5.22 remains valid with “Turing recognizable” instead of “decidable”. So does Corollary 5.23.

A mapping reduction of ATM to HALTTM Giorgi Japaridze Theory of Computability For a TM M, let M* be the TM obtained from M by adding a dead-end (infinite loop) state and re-directing into it all transitions that go to the reject state. Thus, If M accepts input x, then M* If M explicitly rejects x, then M* If M never halts on x, then M* To summarize, M accepts x iff M* Let then f be the function defined by f(<M,w>)=<M*,w>. Is f computable? Obviously <M,w>ATM iff f(<M,w>) i.e. f is a So, since ATM is undecidable, HALTTM is undecidable as well.