Theory of Computation, Homework 3 Sample Solution

132 downloads 1005 Views 179KB Size Report
Theory of Computation, Homework 3 Sample Solution. 3.8 b.) The following machine M will do: M = "On input string : 1. Scan the tape and mark the first 1 which ...
Theory of Computation, Homework 3 Sample Solution 3.8 b.) The following machine M will do: M = "On input string : 1. Scan the tape and mark the first 1 which has not been marked. If no unmarked 1 is found, go to step 5. Otherwise, move the head back to the front of the tape. 2. Scan the tape and mark the first 0 which has not been marked. If no unmarked 0 is found, reject. 3. Move on to mark the next unmarked 0. If no such unmarked 0 is found, reject. 4. Move the head back to the front of the tape and go to step 1. 5. Move the head back to the front of the tape. Scan the tape to see if there is any unmarked 0 found. If yes, reject. Otherwise, accept. c.) This machine is identical to 3.8b) if we switch “reject” with “accept”. M = "On input string : 1. Scan the tape and mark the first 1 which has not been marked. If no unmarked 1 is found, go to step 5. Otherwise, move the head back to the front of the tape. 2. Scan the tape and mark the first 0 which has not been marked. If no unmarked 0 is found, accept. 3. Move on to mark the next unmarked 0. If no such unmarked 0 is found, accept. 4. Move the head back to the front of the tape and go to step 1. 5. Move the head back to the front of the tape. Scan the tape to see if there is any unmarked 0 found. If yes, accept. Otherwise, reject.

3.12 be a Turing machine with left reset and Let simulate all the operations that can perform, recognizable language. Obviously,

be an ordinary Turing machine. If recognizes the class of Turing-

can simulate

of

can

without

problems. How simulates of is described as follows. 1. overwrite with a marked 2. reset to the left-hand end 3. shift the whole tape one cell to the right but keep the mark in the same position 4. reset to the left-hand end 5. scan right to find the marked symbol; the next move will treat the marked symbol as a normal symbol. We assume the following during the shifting for Step 3: a. We use states to remember the symbol to be shifted right. b. The first symbol of the tape after the shift is a symbol not used by the original M. c. If the current symbol is c and the next symbol is the marked b, after the shifting, c becomes marked but b is not marked. d. The shifting stops when we see a blank symbol.

3.15 b.) Let and be two decidable languages and and be the corresponding TMs. The aim is to construct a TM based on and such that the concatenation is also decidable. Since a given input concatenation of strings and has finite possible partitions, a nondeterministic TM is chosen to simplifies the description. NTM ”On input 1. Nondeterministically split into and 2. run on and on 3. accept if both accepts and accepts ; reject otherwise” accepts an input

Obviously, the NTM and

accepts . Besides,

iff there exists a split of

eventually halts because

and

is decidable since there exists an NTM

Therefore,

such that

accepts

are both deciders.

which decides

.

c.) Let

be a decidable language and be the corresponding TM. The aim is to construct a TM based on such that is also decidable. Since a given input has finite possible combinations of strings where and , a nondeterministic TM is chosen to simplify the description. NTM ”On input 1. accept if 2. if 3. run

, nondeterministically split on for all i.

4. accept if

accepts all

,

into

, where

is not empty.

; reject otherwise”

Obviously, the NTM accepts an input iff or there exists a combination of such that accepts . Besides, eventually halts because is a decider. Therefore, is decidable since there exists an NTM which decides .

d.) Let

be a decidable language and based on such that is described as follows.

TM

be the corresponding TM. The aim is to construct a TM

, the complement of

, is also decidable. The resulting TM

”On input 1. run on rejects 2. accept if 3. reject if accepts

Obviously,

accepts an input

is a decider. Therefore,

iff

rejects

. Besides,

eventually halts because

is decidable since there exists a TM

which decides

.

e.) and be two decidable languages and and be the corresponding TMs. The Let aim is to construct a TM based on and such that the intersection is is described as follows. also decidable. The resulting TM ”On input 4. run and 1. accept if both Obviously, the NTM eventually halts because since there exists a TM

on and

accepts

accepts an input and

; reject otherwise” iff

is accepted by

are both deciders. Therefore,

which decides

.

and

. Besides, is decidable

3.16 b.) and be two Turing-recognizable languages and and be the corresponding Let TMs. The aim is to construct a TM based on and such that the concatenation is also Turing-recognizable. Since a given input concatenation of strings and has finite possible partitions, a nondeterministic TM is chosen to simplify the description. NTM 1. 2. 3. 4.

”On input Nondeterministically split into on input run reject if halts and rejects run on input

5. accept if

accepts ; reject if

and

halts and rejects

recognizes an input

Obviously, the NTM accepts

and

accepts . However,

are not deciders. Therefore, which recognizes

iff there exists a partition of

such that

may loop forever on some input because

is Turing-recognizable since there exists an NTM

.

c.) Let be a Turing-recognizable language and construct a TM based on such that

be the corresponding TM. The aim is to is also Turing-recognizable. Since a given input

has finite possible combinations of strings where nondeterministic TM is chosen to simplify the description.

,

,a

NTM ”On input 1. accept if 2. if 3. run

nondeterministically split on for all i.

4. accept if 5. reject if

such that

recognizes an input

accepts

is not a decider. Therefore, recognizes

.

into

accepts all , halts and rejects for any

Obviously, the NTM

and

. However,

, where

is not empty.

; ” iff

or there exists a combination of

may loop forever on some input because

is Turing-recognizable since there exists an NTM

which

d.) and be two Turing-recognizable languages and and be the corresponding Let TMs. The aim is to construct a TM based on and such that the intersection is also Turing-recognizable. The resulting TM is described as follows.

1. 2. 3. 4.

”On input run on rejects if run on accept if

Obviously, the TM However, Therefore, .

halts and rejects accepts

; reject if

recognizes an input

halts and rejects” iff

is accepted by

may loop forever on some input because

and

and then

.

both are not deciders.

is Turing-recognizable since there exists a TM

which recognizes

4.4 Since follows.

is just a special case of

, it is possible to adapt TM S for

as

, where is a CFG and is an empty string: TM S = "On input 1. Convert G to an equivalent grammar in Chomsky normal form. 2. If “S -> “ is a production rule in Chomsky normal form, accept; if not, reject." 4.10 To decide

is to determine if there exist strings generated by

at least the pumping length . Let The construction of TM TM

be a CFG for and design a TM is as follows, deciding

with lengths that decides

:

= “On input: < > 1. convert to Chomsky normal form from , where is the number of variables in 2. calculate the pumping length p = (in Chomsky normal form, each rule has 0 or two variables at the right, so the pumping length is that is computable) 3. accept if produces a string of length at least because the string can be pumped to generate infinitely other strings 4. otherwise, reject”

For step 3, it is decidable since it is possible to construct a DFA

such that the regular

language recognized by is the set of strings of lengths at least . Let which is a CFL from Problem 2.18a and be the CFG of Then TM decide . If TM accepts, produces no strings of lengths at least string of length at least p.

be in Theorem 4.8 can . If not, produces a

4.12 . Therefore, we can first construct two equivalent DFA

If and recognizing and decide if the two DFA are equivalent. TM

and then run TM

= "On input < >: 1. construct the equivalent NFA

and

for

2. construct the equivalent DFA

and

for the

in theorem 4.5 to

and and

3. construct a DFA , accepting . 4. run TM to decide if and are equivalent 5. accept if TM accepts; reject if TM rejects” 4.24 be a CFL containing all the palindromes,

Let

be

the regular language accepted by and be . The goal is that is decidable iff the emptiness of is also decidable. Since is a CFL from in theorem 4.8. Let be the CFG of Problem 2.18, its emptiness can be decided by TM The decider is constructed as follows. TM

= "On input 1. Let 2. 3. 4. 5.

⟨ ⟨where

is a DFA accepting some palindrome: be a CFL containing all the palindromes

Let be the regular language accepted by derive the CFG for run TM to decide accept if TM accepts; reject if TM rejects.

4.28 Let us prove it by contradiction. Suppose that every decider is in A. Since A is Turingrecognizable, A is also enumerable. Let be the ith decider in A. We may construct the following decider as follows: ”On input , (1) decide the order number of , i.e, (2) accept if rejects; rejects if

= , the index of accepts.”

be ;

is a decider as (1)-(2) halts. is different from any Apparently, contradiction to the assumption that every decider is in A.

in A, which is a

To show that is different from any in A, let be the list of all the strings in an canonical order of string (length than dictionary order). Then can be derived by applying the diagonalization method as illustrated by the following table. The table below demonstrates an example

. ...

...

Obviously,

reject

accept

accept

...

accept

accept

accept

...

reject

accept

reject

...

...

...

...

...

accept

reject

accept

...

is different from any language decided by

whose description appears in

.