Due: Friday, June 3rd, in class.
Reading assignment: Sipser, Section 10.2.
In solving the problem sets, you are allowed to collaborate with fellow students taking the class, but remember that you are required to write up the solutions by yourself. If you do collaborate in any way, you must acknowledge, for each problem, the people you worked with on that problem.
The problems have been carefully chosen for their pedagogical value, and hence might be similar to those given in past offerings of this course at UW, or similar to other courses at other schools. Using any pre-existing solutions from these sources, for from the web, constitutes a violation of the academic integrity you are expected to exemplify, and is strictly prohibited.
Most of the problems only require one or two key ideas for their solution. It will help you a lot to spell out these main ideas so that you can get most of the credit for a problem even if you err on the finer details.
A final piece of advice: Start working on the problem sets early! Don’t wait until the day (or few days) before they’re due.
Problems
Each problem is worth 20 points unless otherwise noted.
- NP, RP, and BPP
We have already learned about the class BPP. The complexity class RP is the set of languages decidable by a polynomial-time probabilistic Turing machine M, where M always rejects inputs NOT in the language, and accepts inputs in the language with probability at least 1/2. (Recall that BPP is the similar, but is required to accept yes inputs with probability at least 2/3 and reject no inputs with probability at least 2/3.)
Show that
. Then show that if
, then
.
- ZPP
A ZPP-machine is a probabilistic Turing machine that always runs in polynomial time, but is allowed to sometimes output “DON’T KNOW.” To decide a language, such a machine must always be correct when it accepts or rejects, and on any input it can only say “DON’T KNOW” at most half the time. ZPP is the class of languages decided by ZPP-machines.
Show that
, where
is defined in the first problem, and
is the class of languages
where
.
- BPL
Let BPL be the collection of languages that are decided by probabilistic log-space Turing machines with error probability 1/3 (so this is the same as BPP, but now we require the machine to run in logarithmic space). Prove that
.
