In a clear demonstration that Scott Aaronson has spent to much time on the campus of the Institute for Advanced Study, I find that last week he posted cs.cc/0504048:
Oracles Are Subtle But Not Malicious
Scott Aaronson
Theoretical computer scientists have been debating the role of oracles since the 1970’s. This paper illustrates both that oracles can give us nontrivial insights about the barrier problems in circuit complexity, and that they need not prevent us from trying to solve those problems.
First, we give an oracle relative to which PP has linear-sized circuits, by proving a new lower bound for perceptrons and low- degree threshold polynomials. This oracle settles a longstanding open question, and generalizes earlier results due to Beigel and to Buhrman, Fortnow, and Thierauf. More importantly, it implies the first nonrelativizing separation of “traditional” complexity classes, as opposed to interactive proof classes such as MIP and MA-EXP. For Vinodchandran showed, by a nonrelativizing argument, that PP does not have circuits of size n^k for any fixed k. We present an alternative proof of this fact, which shows that PP does not even have quantum circuits of size n^k with quantum advice. To our knowledge, this is the first nontrivial lower bound on quantum circuit size.
Second, we study a beautiful algorithm of Bshouty et al. for learning Boolean circuits in ZPP^NP. We show that the NP queries in this algorithm cannot be parallelized by any relativizing technique, by giving an oracle relative to which ZPP^||NP and even BPP^||NP have linear-size circuits. On the other hand, we also show that the NP queries could be parallelized if P=NP. Thus, classes such as ZPP^||NP inhabit a “twilight zone,” where we need to distinguish between relativizing and black-box techniques. Our results on this subject have implications for computational learning theory as well as for the circuit minimization problem.
In computational complexity, one often considers the power of a complexity class when you are given access to a black box which solve a problem from a different computational complexity class. This is where all the funny raising computational complexity classes to a power comes from. Thus, for example, in Scott’s abstract he talks about ZPP^NP which is the complexity class zero-error probabilistic polynomial time which has access to an oracle which returns answers (at unit cost) to the computational complexity class NP. Whereas philosophers for eons have pondered Gods, computer scientists have rigorously defined their Gods, and found the world a polytheistic conglomeration of computational complexity classes.
With the notion of an oracle, one can begin to ponder whether certain results you prove in computational complexity are robust under the use of oracles. Suppose you have shown some inclusion in computational complexity theory. Then you can consider whether this result is robust when you consider the same inclusion, but now when the computational complexity classes have access to the same oracle. If the result hold for all possible choices of oracles, then we say that the result is relativizing. Why does this matter? Well, one reason is we know that if we are going to prove P does not equal NP, then we know that this must be done by a nonrelativizing method (this follows from the fact that there exists oracles A and B relative to which P^A=NP^A and P^B NP^B.)
What Scott shows in his paper is that there exists an oracle relative to which the computational complexity class PP (or, you know for those of us who love quantum theory, the computational complexity class post-BQP, i.e. bounded-error quantum polynomial time with postselection) has linear sized circuits. Why is this important? Well, because it has been shown that the computational complexity class PP does not have linear sized circuits via a proof constructed by Vinodchandran. This means that the result of Vinodchandran is nonrelativizing! Nonrelativizing proofs in computational complexity are, especially because of their connection to the P/NP question, totally awesome. It’s like you’ve separated a mortal from a God but only when the other Gods aren’t around to help with the battle. Thinking about all this really makes me want to write a comic strip based on computational complexity classes.
there used to be a nice comic strip explaining Arthur-Merlin games. I can’t find it anymore though š
“Subtle but not malicious”… I think I’ll steal that one to describe myself, even though “Malicious and not subtle” is more accurate.