Lecture 22 (Undecidability), 4/12/06

Concepts, definitions (in italics):

Reading:

Skills:

Notes:

- Since D is an algorithm, there must exist a TM MD implementing D.
- What should D(MD) return?? Either YES or NO gives a contradiction.
- Therefore, the algorithm A_TM_DECIDER(M,w) does not exist.

  • Proving that some language B is not decidable proceeds by contradiction, as follows:

    1. Assume that B is decidable. Construct a reduction from A to AB where A is some non-decidable language.

    2. Use a table-based approach to show that the construction is correct.

    3. Argue that if B were decidable, then A would also be decidable. But A is not decidable, so B cannot be decidable either.

  • For the proofs by negative reduction, we use a 2-row table to figure out what's going on.  The top row is for input in the language; the second is for input that is not. The algorithm should behave correctly for both types of inputs.

  • Here is the reduction  from ATM to REGULARTM:

  • ATM-DECIDER(M,w) {

    1. construct a description of the following machine M2:

    M2(x) {

    if x is of the form 0n1n, accept;

    otherwise, run M on w and accept only if M accepts w.

    }

    2. return REGULARTM-DECIDER(M2);

    }

     

    What we want
    A
    TM to return

    M2's behavior

    L(M2)

    REGULARTM(M2)

    M accepts
    W

    accept

    Accept strings of the form 0n1n ; accepts all others too

    ∑*

    accept

    M does not accepts W

    reject

    Accepts strings of the form 0n1n;
    Does not accept others

    0n1n
    (
    not regular)

    reject

     

    ATM-DECIDER(M,w) {

    1. construct a description of the following machine M1:

    M1(x) {

    if x w, reject;

    otherwise, run M on w and accept only if M accepts w.

    }

    2. return ØETM-DECIDER(M1);       // note that the output is negated

    }

     

    What we want ATM to return

    M1's behavior

    L(M1)

    ETM (M1)

    We return

    M accepts W

    accept

    Reject all x ≠ w,
    Accept w

    {w}

    Reject

    Accept

    M does not accepts W

    reject

    Reject all x ≠w,
    Do not accept w

    Â

    Accept

    Reject

     

    What we want ETM to return

    L(M3)

    EQTM (M, M3)

    L(M) = Â

    accept

    Â

    accept

    L(M) Â

    reject

    Â

    reject