60 likes | 657 Views
Giorgi Japaridze Theory of Computability. Reducibility. Chapter 5. 5.1.a. Giorgi Japaridze Theory of Computability. The undecidability of the halting problem. Let HALT TM = {<M,w> | M is a TM and M halts on input w} HALT TM is called the halting problem . .
E N D
Giorgi Japaridze Theory of Computability Reducibility Chapter 5
5.1.a Giorgi JaparidzeTheory of Computability The undecidability of the halting problem 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 HALTTMis 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)
5.3.a Giorgi JaparidzeTheory of Computability Definition of mapping reducibility Let A and B be languages over an alphabet . We say that A is mapping reducible to B, written AmB, if there is a computable function f: ** such that, for every w*, wA iff f(w)B. The function f is called a mappingreduction of A to B. * * A B f f
5.3.b Giorgi JaparidzeTheory of Computability An example of a mapping reduction 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.3.c Giorgi JaparidzeTheory of Computability Using mapping reducibility for proving decidability/undecidability Theorem 5.22: If AmB 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 AmB and A is undecidable, then B is undecidable. Theorem 5.22 remains valid with “Turing recognizable” instead of “decidable”. So does Corollary 5.23.
5.3.d Giorgi JaparidzeTheory 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.” A mapping reduction of ATM to HALTTM 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 ATMis undecidable, HALTTMis undecidable as well.