Complexity Class of the Week: SPP, Part I
Posted by Lance
Previous CCW
With the new FOCS paper by Arvind and Kurur, "Graph Isomorphism in
SPP", people have asked me why they should be interested in SPP, a
class first defined by a paper by Steve Fenner, Stuart Kurtz and
myself. I thought I would discuss how this class was developed and why
we feel it is important.
Gill, in his seminal paper on probabilistic complexity classes,
defined the class PP and asked whether the class was closed under
intersection. In 1990, Fenner and Kurtz and later myself, decided
to try a new approach to the question: Consider a class defined like
PP but with additional restrictions, show that this class is closed
under intersection and then show the class was really the same as PP.
Kurtz had a philosophical approach to the problem and defined three
variants of PP, Epicurean-PP, Cynical-PP and Stoic-PP.
Recall that PP is the set of languages L accepted by probabilistic
machines such that x is in L exactly when the probability of accepting
is greater than the probability of rejecting. Epicurean-PP machines
were happy to accept but only rejected by barely rejecting--having one
more rejecting paths than accepting paths. Cynical-PP machines were
the opposite, willing to reject in any way but would only barely
accept. Stoic-PP machines stood their ground and would just barely
accept or barely reject. Cynical-PP turned out to be the same as the
well-studied class C=P and Epicurean-P was
co-C=P. Stoic-PP or SPP was new and thus a complexity class
was born.
While it was easy to show SPP was closed under intersection it is unlikely to
be the same as PP and thus we failed in this attempt to show PP was
closed under intersection. While we were having this discussion, sitting on the
printer was a paper Richard Beigel had emailed me earlier, his paper
with Nick Reingold and Daniel Spielman entitled "PP is Closed Under
Intersection". Their successful approach was completely different the
ours. They used rational functions to approximate the sign function.
Not to be deterred we started studying SPP and related classes which
also led to GapP functions. Valiant had defined the class #P,
functions f such that there was some nondeterministic polynomial-time
Turing machine M such that f(x) was the number of accepting paths of
M(x). GapP functions were the closure of #P functions under
subtraction, or equivalently the difference or gap of the number of
accepting and rejecting computation paths of an NP machine.
GapP functions are closed under many of the same properties as #P
functions such as polynomial products and exponential sums as well as
subtraction of course. The power of subtraction made GapP a much
cleaner approach to studying counting classes and the study of GapP
showed the great importance of the class SPP.
Independently of us, Ogihara and Hemachandra defined a class XP and
Gupta defined a class ZUP, both of which were equivalent to SPP.
I will stop here and in a later post describe the actual properties of SPP that
make it such an interesting class.
4:22 PM
#
