128 10 Additional Complexity Classes
any such problems that we know belong to BPP but suspect do not belong
to
P. A proof that BPP = P would be a far-reaching and strong result, but it
would not bring down the currently reigning view of the world of complexity
classes – in contrast to a proof of
NP = P. Among experts, the opinion is
widely held that “
P is close to BPP” but that P and NP are separated by the
world of
NP-complete problems. The notion “is close to” is, of course, not for-
malizable. We will further support these considerations in Section 10.5 where
we investigate the relationship between
NP and BPP.
10.2 Complexity Classes Within NP and co-NP
If NP = P,thensinceP = co-P it follows that co-NP = P andweonlyhavethe
class of efficiently solvable problems. This is not only unexpected, it is also
less interesting than the other case. From Section 5.1 we know that in
P there
are three equivalence classes with respect to the equivalence relation ≡
p
:
• all problems for which no input is accepted,
• all problems for which all inputs are accepted, and
• all other problems.
If
NP = P, then by definition the class NPC of all NP-complete problems
forms a fourth equivalence class with respect to ≡
p
. Are there still more
equivalence classes? This is equivalent to the question of whether or not the
class
NPI := NP −(P ∪ NPC) is empty. Of course, we can’t prove that any
problem belongs to
NPI, since then we would have proven that NP = P.But
perhaps there are problems that we suspect belong to
NPI? Garey and Johnson
(1979) list three problems which at that time were considered candidates for
membership in
NPI:
• the problem of linear programming (
LP), i.e., the problem of determining
whether a linear function on a space restricted by linear inequalities takes
on a value at least as large as a given bound b;
• primality testing (
Primes); and
• the graph isomorphism problem (
GraphIsomorphism, or sometimes more
briefly abbreviated as
GI; see also Section 6.5).
It has been known for a long time already that
LP ∈ P (see, for example,
Aspvall and Stone (1980)).
Primes was known to belong to NP, co-NP,and
even
co-RP. Miller (1976) had already designed a polynomial-time primality
test based on an unproven hypothesis from number theory. So
Primes was also
a candidate for membership in
P. Finally, Agrawal, Kayal, and Saxena (2002)
were able to prove that in fact
Primes ∈ P. Their arguments, however, have
no consequences for the complexity of the factoring problem
Fac t . The proof
that a number n is not prime is based on number theoretic arguments that
have not (yet) been any help in computing a divisor of n. The conjecture that
Fac t is not polynomial-time solvable has not been shaken by the discovery of a