This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CS6505 Computability, Algorithms, and Complexity Homework 1 solutions sketch. 1. (15 points) Consider the simulation of a multitape Turing machine M by a singletape Turing machine S as described in the proof of Theorem 3.13 in the text. Let k = 2. (a) Give a formal definition of the simulating singletape Turing machine S without specifying the transi tions. (b) Show the transitions of the machine S for implementing a left move of the machine M . See the attachment. 2. (15 points) A verifier is a deterministic Turing machine V that is a decider that takes two arguments x (the input) and y (the proof). Show that a language L is TuringRecognizable if and only if there exists a verifier V such that for all x * : x L : y * such that V ( x,y ) accepts x 6 L : y * , V ( x,y ) rejects Solution: Only If Direction : The crucial idea here is that y (as a function of x ) can be chosen to encode the number of steps required by M to halt and accept x . The verifier V is the one that on input h x,y i simulates the recognizer M on input x for y number of steps, and then halts. If L is Turingrecognizable, then for all x L , there is a number y such that M halts and accepts in y steps. When V simulates M on x for y steps, it can verify that x L . If x / L , then no matter what number y we provide, V will always halt after y steps, but will never accept x . Therefore V is a halting verifier that satisfies the conditions of the problem. Source of a common mistake: note that the verifier V is NOT accepting the language L itself  L need not be decidable, while V must be a decider. V is accepting {h x,y i x L and y a proof that x L } . If Direction : If there exists a verifier V satisfying the conditions of the problem, M is a recognizer that uses V as follows. M on input x does the following: y { , 1 } * in lexicographic order, M simulates V on h x,y i and accepts whenever V accepts. For all x L , V ( h x,y i ) will accept for some y by hypothesis, therefore M will halt and accept x . For all x / L , V ( h x,y i ) will never accept for any y , therefore M will loop on all x . Thus M is a recognizer for L . Note: In this case, we cannot assume that the proof string y is the number of steps as before, it can be any arbitrary proof string that satisfies the condition of the problem. 3. (15 points) A 2dimensional Turing machine has a finite control with its tape being a 2dimensional array of cells infinite in all the four directions. Based on the current state and the symbol under the read/write head, the machine changes state, writes a new symbol, and moves in one of the four directions (up, down, left, right)....
View
Full
Document
This note was uploaded on 09/20/2009 for the course CS 6505 taught by Professor Staff during the Fall '08 term at Georgia Institute of Technology.
 Fall '08
 Staff
 Algorithms

Click to edit the document details