Presentation is loading. Please wait.

Presentation is loading. Please wait.

Theory of Computability

Similar presentations


Presentation on theme: "Theory of Computability"— Presentation transcript:

1 Theory of Computability
Giorgi Japaridze Theory of Computability Reducibility Chapter 5

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

3 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

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

5 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 remains valid with “Turing recognizable” instead of “decidable”. So does Corollary 5.23.

6 A mapping reduction of ATM to HALTTM
Giorgi Japaridze Theory of Computability For every TM M, let M* be the following TM: M* = “On input x: 1. Run M on x. 2. If M accepts, accept. 3. If M rejects, enter an infinite loop.” 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.


Download ppt "Theory of Computability"

Similar presentations


Ads by Google