Homework 9

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

This homework assignment will be handed out on Wednesday October 20 and is due by the beginning of class on the following Wednesday, so by 3pm Wednesday October 27. 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) Let Pi be a problem in BPP, so that there is a poly-time randomized algorithm M such that: (i) for all yes instances x of Pi, Prr[M(x, r)=1] is at least 2/3, and (ii) for all no instances x of Pi, Prr[M(x, r)=1] is at most 1/3. Also, remember the probability of error can be made exponentially small using majority voting of a polynomial number of trials of M. Call the randomized machine which computes Pi with exponentially small error M'; it runs in time nc and uses nc random bits for some constant c.

    Now suppose you have a pseudorandom generator G that takes an n bit input, and produces a (n+nc)-bit output by first outputting its input and then some additional bits. That is, G(x) = (x, E(x)) for some function E(x) that is |x|c bits. Prove that if G is epsilon-pseudorandom for tests T(x, r) of the form T(x,r)=1 iff (M'(x,r)=Pi(x)), then Prx[M'(x, E(x))=Pi(x)] is at least 1-epsilon-1/exponential.

    Hint: apply the definition of what it means for G to be epsilon-pseudorandom for the test T.

    Note: what this is saying is that the deterministic algorithm M'(x, E(x)) makes few mistakes in trying to compute the BPP problem Pi. In the standard use of PRG's for derandomization in the textbook, we only assumed the generator is computable in exponential time in its seed length. Here, it would be beneficial for it to be computable in polynomial time, because then the algorithm M'(x, E(x)) would be polynomial time.

  3. (5 Points) Use Sterling's formula to show that the number of n-bit strings that have exactly n/2 1's is Theta(2n/sqrt(n)).

  4. (5 Points) Use the Chernoff bound to give a bound on the fraction of n bit strings that have a number of 1's between (n/2 - log(n)*sqrt(n)) and (n/2 + log(n)*sqrt(n)).