Homework 5

[Note: this webpage last modified Friday, 04-Feb-2011 19:44:51 EST]

This homework assignment will be handed out on Wednesday September 22 and is due by the beginning of class on the following Wednesday, so by 3pm Wednesday September 29. REMEMBER that your solutions should be explained in complete sentences such that your classmates will understand the solution (and can verify your proofs are correct) even if they have not solved the problems themselves. PLEASE TYPE YOUR solutions (in word, as text files, PDF, html, whatever you like), and send them to me by email. This way I will be able to read them regardless of your penmanship, and I do not have to carry them around.

NEW COLLABORATION CHECKING POLICY: You are encouraged to help each other out in coming up with ideas to solve the problems. But you must write up your own solutions, and you must completely understand what you are turning in. From now on, I will pull aside at least one person after Wednesday's class and ask them to explain one of the solutions they just handed in. If it is clear they simply copied off of someone else, that person at a minimum gets a 0 on the homework assignment - a decision on any further action will be made in consultation with the department chair.
I ALSO ASK that you list at the beginning of your homework who you collaborated with on the homework assignment. If you have collaborated with someone and do not list them, you will be penalized for this as well.

  1. (10 Points) Recall that EXP is the set of problems that can be solved in time at most 2nd for some constant d. Prove that the following problem is complete for EXP: (M, x, t) is a "yes" instance if M(x) accepts in time t. For this problem, the number t is written in binary.

    Hint: You need to show this problem is in EXP, and that any EXP problem reduces to it. Given a machine M' that computes an EXP language and an input x to M', you need to convert the question "does M'(x) accept" into a question about this problem.

    Note: We can also define a problem that is complete for NEXP in this way. NEXP are languages that have exponential time verifiers, so it is the "exponential time version" of NP. It can be shown that the following problem is complete for NEXP: (V, x, t) is a "yes" instance if there exists a proof/witness y of length at most t such that V(x, y)=1 and V runs in O(t) time.

  2. (10 Points) Show that if P=NP then EXP=NEXP.

    Hint: Take P=NP as an assumption. Now you have a NEXP language that you want to solve in EXP. Since I have told you a problem that is complete for NEXP above, you can just look at that problem - show that you can solve it in EXP. To do this, see if you can "translate" it into a problem that is in NP so you can use the assumption that P=NP.

    Note: The converse is not known to hold. That is, it could be that EXP=NEXP but still NP!=P.

  3. (Extra Credit - 10 Points) This problem is being put as extra credit now, and I have given you the hint below. I will only award extra credit points if you actually solve the problem, do not just turn something in repeating the hint I have given. A unary language is one where the only possible yes instances are strings of 1's. So, solving the language amounts to deciding for each n, whether 1n is a yes instance or not. Show that if there is a unary language that is NP-complete, then P=NP.

    Hint: Assuming an NP-complete unary language L, you need to solve some NP-complete language in polynomial time. Let's take SAT. Remember that SAT is "downward self-reducible" - you can convert a question "is formula phi in SAT" into the two questions (1) is phi with first variable set to 0 in SAT, and (2) is phi with first variable set to 1 in SAT. If you did this recursively, you'd have a binary tree of depth the number of variables. Traversing this tree in general would take exponential time (the tree could be of size 2number of variables). We want to use the NP-complete unary language L to traverse the tree in polynomial time. Let us start at the root node that corresponds to phi. At each node, apply the reduction to L. If you get a string that has 0's you know the formula at that node is not in SAT. Otherwise, there are a polynomial number of strings of the form 1m for different values of m that you need to worry about. Give a method to use this information to determine if the root node formula is in SAT.

  4. (5 Points) Here is a potential proof that P!= NP. Is the proof correct? If not, what is the error in the proof?

    We prove P!=NP by contradiction. Assume P=NP, then SAT is in P, meaning for some constant c, SAT is in Dtime(nc). But every language in NP is Karp-reducible to SAT, so NP is contained in Dtime(nc). In particular, P is contained in Dtime(nc). But we know by the time hierarchy theorem that this is not true, so our original assumption that P=NP must have been false.