{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

hw1slns

# hw1slns - CS6505 Computability Algorithms and Complexity...

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
This is the end of the preview. Sign up to access the rest of the 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 single-tape 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 single-tape 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 Turing-Recognizable 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 Turing-recognizable, 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 2-dimensional Turing machine has a finite control with its tape being a 2-dimensional 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

{[ snackBarMessage ]}

### Page1 / 7

hw1slns - CS6505 Computability Algorithms and Complexity...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online