Problem Sets 6 and 7 are now posted. Problem Set 7 is quite different from all the other problem sets. Although it is not due until the last day of class, I strongly encourage everyone to read it now (only one page) and start thinking about what you want to do for it. You do not need to wait until you finish PS6 to start PS7 (and I would recommend starting on it earlier).

Problem Set 6: [PDF] [LaTeX template]

Due Tuesday, 27 April (2:00pm)

Problem Set 7: [PDF]

Due Tuesday, 4 May (2:00pm) (Last class)

I am a little confused about problem 2d on problem set 6. Is the problem still referring to a Janus machine like problem 2c?

Yes, this is a typo. Sorry about that. It should read, “set of languages that can be recognized by a Janus machine (as defined in Exam 2)”.

For both part 2c and 2d, I believe the question is a fair bit tougher than it should be. So, you can get full credit for these two parts by answering the question with O(n^3) replaced by O(n). So, the two parts are:

2c. set of languages that can be recognized by a Janus machine (as defined in Exam 2) in O(n) steps <= set of languages that can be recognized by a TM in O(n) steps

2d. set of languages that can be recognized by a Janus machine (as defined in Exam 2) in O(n) steps < set of languages that can be recognized by a TM in O(n) steps

If you can answer the original questions with O(n^3) instead, that is great and worth bonus points, but a good answer to the revised questions using O(n) instead is worth full credit for these questions.

I think for 2d you mean “<" because the question is asking whether it is a proper subset, which is different from 2c where it asks if it is a subset at all.

Yes, you are correct, thanks Seth. The difference between parts 2c and 2d is 2c is subset or equal to, and 2d is a proper subset of.

Professor Evans,

for problem 5:

a) it seems hard to say given any input of any size that you could check the output to ensure all inputs have the most overlap in the given string.

b) Is there any bound to the number of inputs to the genome assembly? I cannot find a good Language we’ve discussed to use for reducing the genome assembly. Do you have any suggestions, pointers?

c) what exactly are you asking: do you want us to discribe an algorithm for sequencing DNA, or some computation, or…?

Christopher Nostrand

Hi Christopher,

a) I’m not sure what you are asking here. Part of what you should do for this question is find a way to state the problem more formally as a language recognition problem, and then show that language is in NP.

b) There is no bound on the number of input strings. Any finite problem, of course, is in P, since there is some constant time within which all instances can be solved. I don’t have any more hints for what problem to use for the reduction other than what I’ve already said: (1) by the definition of NP-Hard, any NP-Hard problem could work; (2) some will be easier than others, and I believe the reductions from some of the problems Sipser describes in section 7.5 may be easier than from the problems we’ve already discussed in class.

c) Exactly what the question says: “Speculate on how the human genome was sequenced even though it involves solving an NP-Hard problem for a large input size.”