0% found this document useful (0 votes)
31 views

Assign 3 Ans

This document contains the solutions to 5 questions about theory of computation. 1. It shows that languages recognized by single-tape TMs that cannot overwrite input are regular by defining characteristic functions for each string. 2. It proves by diagonalization that there exists a decidable language not decided by any TM described in a Turing-recognizable language of TM descriptions. 3. It shows a language is decidable by reducing it to testing if a context-free language and regular language are empty. 4. It proves a language is Turing-recognizable if and only if it can be expressed as strings with a certain pair in a decidable language. 5. It asks to discuss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Assign 3 Ans

This document contains the solutions to 5 questions about theory of computation. 1. It shows that languages recognized by single-tape TMs that cannot overwrite input are regular by defining characteristic functions for each string. 2. It proves by diagonalization that there exists a decidable language not decided by any TM described in a Turing-recognizable language of TM descriptions. 3. It shows a language is decidable by reducing it to testing if a context-free language and regular language are empty. 4. It proves a language is Turing-recognizable if and only if it can be expressed as strings with a certain pair in a decidable language. 5. It asks to discuss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

CS5371 Theory of Computation

Homework 3 (Solution)

1. Show that single-tape TMs that cannot write on the portion of the tape containing the
input string recognize only regular languages.
Answer: Let M = (Q, Σ, Γ, q0 , qaccept , qreject ) be a single-tape TM that cannot write on the
input portion of the tape. A typical case when M works on an input string x is as follows:
the tape head will stay in the input portion for some time, and then enter the non-input
portion (i.e., the portion of the tape on the right of the |x|th cells) and stay there for some
time, then go back to the input portion, and stay there for some time, and then enter the
non-input portion, and so on. We call the event that the tape head switches from input
portion to non-input portion an out event, and the event that the tape head switches from
non-input portion to input-portion an in event.
Let firstx denote the state that M is in just after its first “out” event (i.e., the state of M
when it first enters the non-input portion). In case M never enters the non-input portion,
we assign firstx = qaccept if M accepts x, and assign firstx = qreject if M does not accept x.
Next, we define a characteristic function fx such that for any q ∈ Q, fx (q) = q 0 implies that
if M is at state q and about to perform an “in” event, the next “out” event will change M
in state q 0 ; in case M never enters the non-input portion again, we assign fx (q) = qaccept if
M enters the accept state inside the input portion, and qreject otherwise.
It is easy to check that if for two strings x and y, if firstx = firsty and for all q, fx (q) = fy (q),
we have x and y are indistinguishable by M . (That is, M accepts xz if and only if M
accepts yz.) As there are finite choices of firstx and fx (precisely, |Q||Q|+1 such choices),
the number of distinguishable strings are finite. By Myhill-Nerode theorem, the language
recognized by M is regular.

2. Let A be a Turing-recognizable language consisting of descriptions of Turing machines,


{hM1 i, hM2 i, . . .}, where every Mi is a decider. Prove that some decidable language D is
not decided by any decider Mi whose description appears in A.† (Hint: You may find it
helpful to consider an enumerator for A, and re-visit the diagonalization technique.)
Answer: Since A is Turing-recognizable, there exists an enumerator E that enumerates
it. In particular, we let hMi i be the ith output of E (note: hMi i may not be distinct).
Let s1 , s2 , s3 . . . be the list of all possible strings in {0, 1}∗ . Now, we define a TM D as
follows:

D = “On input w:
/ {0, 1}∗ , reject.
1. If w ∈
2. Else, w is equal to si for a specific i.
3. Use E to enumerate hM1 i, hM2 i, . . . until hMi i.
4. Run Mi on input w.
5. If Mi accepts, reject. Otherwise, accept.”

The question seems strange at the first glance. In fact, it is asking you to prove that the language consisting
of all descriptions of Turing deciders is not Turing-recognizable.

1
Clearly, D is a decider (why??). However, D is different from any Mi (why??), so that hDi
is not in A.

3. Let E = {hM i | M is a DFA that accepts some string with more 1s than 0s}. Show that
E is decidable. (Hint: Theorems about CFLs are helpful here.)
Answer: Let A = {x | x has more 1s than 0s}. The language A is context-free, as we can
easily construct a PDA to recognize A. Now, we construct the TM M below to decide E
as follows:

M = “On input hM i where M is a DFA:


1. Construct B = A ∩ L(M ). Note that B is CFL, since L(M ) is regular and A is CFL.
2. Test whether B is empty.
3. If yes, reject. Otherwise, accept.

4. Let C be a language. Prove that C is Turing-recognizable if and only if a decidable language


D exists such that C = {x | ∃y(hx, yi ∈ D)}.
Answer: If D exists, we can construct a TM M such that we search each possible string
y, and testing whether hx, yi ∈ D. If such y exists, accept. Such a machine M will accept
any string in C in finite steps, so C is Turing-recognizable.
If C is recognized by some TM M , we define D = {hx, yi | M accepts x within |y| steps }.
Clearly, D is decidable. Also, x ∈ C if and only if there exists y such that hx, yi ∈ D.
Thus, C = {x | ∃y(hx, yi ∈ D)}.

5. (Bonus Question) Show that the problem of determining whether a CFG generates all
string in 1∗ is decidable. In other words, show that {hGi | G is a CFG over {0, 1} and 1∗ ⊆
L(G)} is a decidable language.
Answer: Please discussed the solution with Yu-Han directly.

You might also like