CSC 4170 Theory of Computation Mapping Reducibility Section 5.3
Definition of mapping reducibility Giorgi Japaridze Theory of Computability Let A and B be languages over an alphabet . A function f: ** is said to be a mapping reduction of A to B iff f is computable and, for every w*, we have wA iff f(w)B. A is said to be mapping reducible to B, written AmB, iff there is a mapping reduction of A to B. * * 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 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.
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.