CS315
Chapter 8 Homework problems

Rules: Individual work only. Because theory is abstract, there a generally many variations in concrete answers to problems; if I see strangely similar answers, I'll be pretty suspicious!

The problems: Taken from the end of chapter

General Note: This chapter is about constructing TMs. A TM is inherently a fairly powerful, complex thing; it can be hard to determine function just from a SD for the machine. Thus, for all TM construction problems, do NOT just give me a SD for the TM! The SD must be carefully explained with a step-by-step description of how the machine works! I'm talking about a description of the "computational phases" -- something like: " (a) in states q1 and q2 it spools right over everything looking for a 'b' in the input. (b) then when it finds the b, it replaces it with an 'a' and (in q3) spools back left..." ) You get the picture. In this world, it should be the explanation of steps that convinces me that your machine will work; the SD then just serves to embody this idea.

#3a,c
#5c
#7 We talked about this briefly in class. Were you listening? Show TMs simulating TMentering and vice versa. Be concise and clear!
#8 Same plan as #7. Not hard!
#14 a,b
#19, but with following modification: Let input alphabet sigma={a,b,c}

#32 Hint: The trick is to understand how to generate all brinary strings of length n. To get started, write down a sequence of all binary numbers from, say, 1 to 17, draw lines to seperate binary values of length 0,1,2,3,4. What is the pattern within these groups, i.e., what is the algo for generating all strings length n? Your machine implements this pattern. Then you just have "do the pattern" for n=1, n=2, n=3, etc.

#33 Hint: 3 tapes. One work tape keeps track of n. First your write, [n,n]...then compute/write all the "subcases" of that in nxn, utilizing the second work tape freely. Then increment n and repeat and infinitum. Think about it...

To hand in: I'll want a very clean and readable write-up. As theoretical work often involves lots of pondering and erasing I recommend that you (a) work in pencil and (b) use scratch paper to figure it out, then write up the final version neatly.