Homework 8

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

This homework assignment will be handed out on Wednesday October 13 and is due by the beginning of class on the following Wednesday, so by 3pm Wednesday October 20. 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.

  1. HW Polices.

    1. Type your HW (in word, latex, text file, etc.) and send to me by email.

    2. At the beginning of your HW, list who you collaborated with. List "none" if none.

    3. Do NOT share electronically. You must type your own solutions. You can discuss the problems with each other, but you may only discuss them. You may not write out solutions together.

    4. You MAY NOT search the internet, textbooks, etc. for solutions to the problems. The following are the ONLY sources of information that you may use in solving the problems: the textbook for this course (draft available from here ), Computational Complexity: A Modern Approach, and wikipedia articles on basic math/probability/etc. You may discuss the problems with each other and with myself, but must obey the previous item in doing so.

      If you do find the solution in one of these three sources, you still MUST cite the source in your document.

      You may use NOTHING ELSE that is online or other textbooks. You have already received warnings about this! ANY violations of this policy for the rest of the semester will result in you FAILING the course and being brought before the appropriate committee on campus for handling academic misconduct.

  2. (10 Points) Suppose you have a randomized algorithm that on n-bit inputs is correct with probability exactly 1/2 + 1/2n, and incorrect with probability exactly 1/2-1/2n. Is it the case that by taking the majority vote of a polynomial number of trials of this algorithm, the error will be reduced to exponentially small? To see whether this is true, apply the Chernoff bound to see what that result tells you about the error probability.

    The point of this question is to consider whether we really need the "bounded error" requirement in defining the class of problems that can be "realistically/practically" computed by randomized algorithms. If we only require a randomized algorithm to output the correct answer more than half of the time, but only very slightly more (like in the above algorithm), we say the problem can be solved with "unbounded error". The set of problems that can be decided by unbounded-error polynomial time randomized algorithms is denoted PP. Technically, a PP algorithm must output "yes" with probability greater than 1/2 if yes is the correct answer, and must output "yes" with probability at most 1/2 if the correct answer is no.

  3. (10 Points) It is not too difficult to show that NP is contained in PP. That is, you can convert an algorithm that solves SAT into an algorithm that: (i) outputs "yes" with probability greater than 1/2 given a satisfiable formula, and (ii) outputs "yes" with probability at most 1/2 given an unsatisfiable formula. For this problem, you should show that a PPP algorithm can compute the number of satisfying assignments to a formula, not just whether a formula is satisfiable or not. That is, demonstrate a polynomial-time algorithm that uses an oracle for PP problems and that computes the exact number of satisfyfing assignments for a given input formula.

    Hint: use binary search, and look at the proof that NP is contained in PP (on wikipedia as of the writing of this assignment) for inspiration.

  4. (10 Points) Suppose you have n marbles labeled 1 up to n and a mat on the ground divided into sections that are labeled 1 up to n. Now you drop the marbles on the mat, and assume that each marble lands in a completely random section of the mat. Compute the expected number of marbles that land in "their own" section (the section labeled with the same number on the marble).

  5. Here is a fun fact, but not something you need to show on the homework. If you think about taking oracles A at random, then it can be shown that PA=BPPA with probability 1 and PA!=NPA with probability 1. This does not solve the problem of these questions in the standard setting without oracles, but it can be stated as evidence in support of the standard conjectures.