Thursday, November 17, 2005

Relativized Collapse of P and NP

When we teach relativization, we often ask the class for a set A such that PA=NPA. The usual answers we get are an NP-complete A (which doesn't work unless the polynomial-time hierarchy collapses) or a PSPACE-complete A which does work:
the last equality by Savitch's theorem.

According to Steven Rudich, a student at Carnegie-Mellon suggested using A=K, the halting problem. Does this work? This led to an interesting email discussion between Rudich, Richard Beigel, Lane Hemaspaandra and few more of us getting cc'd on the messages.

We need to use a reasonably dense encoding of K, such as the set of Java programs with no input that halt. Then in fact PK does equal NPK, but the proof is not as obvious as one would imagine. Think about it.

And if anyone knows the original reference to PK=NPK, let us know.


  1. Infact, a stronger result P^H = PSPACE^H holds.

    I am not sure, but this paper "E. Allender, H. Buhrman, M. Koucky, D. van Melkebeek, and D. Ronneburger. Power from Random Strings. In Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science" does talk about it.

    The whole idea is to count the number of queries of the PSPACE machine that are answered in "yes" using binary search and then using Immerman Szelepcsenyi kind of approach simulate the PSPACE^H computation by a P machine with H as an oracle. The proof is definetely not as simple as the other one P^PSPACE = NP^PSPACE.

    It appeared as a qualifyng exam problem at UW Madison.


  2. Lance, this post seems to suggest that if an oracle A is powerful "enough", then P^A captures PSPACE^A. For instance, we can go up in resources for A, like setting A = EEXPTIME... (but it doesn't directly suggest that the halting oracle works.)

    I also understand that if A is "just" NP, then we need a collapse in the PH for the capture.

    My question is: precisely what is the least powerful oracle B that we know for sure that P^B does not capture PSPACE^B?

    Or perhaps this is not a monotone property at all?

    BTW, what is H? Thanks!

  3. Since for all we know P = PSPACE it is not clear that any such oracle exists (though there may be some subtleties with the definition of space-bounded oracle machines that I am missing)

  4. (Oops --- I take that back!)

  5. "some subtleties with the definition of space-bounded oracle machines" seems to be the following:

    For *nondeterministic* space-bounded oracle machines, during the period of writing down the query word on query tape, we don't allow any nondeterministic move.

  6. "BTW, what is H?"

    H = Halting set.