In
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved ...
, S is a
complexity class
In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory.
In general, a complexity class is defined in terms ...
, intermediate between the first and second levels of the
polynomial hierarchy
In computational complexity theory, the polynomial hierarchy (sometimes called the polynomial-time hierarchy) is a hierarchy of complexity classes that generalize the classes NP and co-NP. Each class in the hierarchy is contained within PSPACE. ...
. A language is in
if there exists a polynomial-time predicate ''P'' such that
* If
, then there exists a ''y'' such that for all ''z'',
,
* If
, then there exists a ''z'' such that for all ''y'',
,
where size of ''y'' and ''z'' must be polynomial of ''x''.
Relationship to other complexity classes
It is immediate from the definition that S is closed under unions, intersections, and complements. Comparing the definition with that of
and
, it also follows immediately that S is contained in
. This inclusion can in fact be strengthened to
ZPPNP.
[. A preliminary version of this paper appeared earlier, in ]FOCS
The IEEE Annual Symposium on Foundations of Computer Science (FOCS) is an academic conference in the field of theoretical computer science. FOCS is sponsored by the IEEE Computer Society.
As writes, FOCS and its annual Association for Computing ...
2001, , , .
Every language in
NP also belongs to For by definition, a language ''L'' is in NP, if and only if there exists a polynomial-time verifier ''V''(''x'',''y''), such that for every ''x'' in ''L'' there exists ''y'' for which ''V'' answers true, and such that for every ''x'' not in ''L'', ''V'' always answers false. But such a verifier can easily be transformed into an predicate ''P''(''x'',''y'',''z'') for the same language that ignores ''z'' and otherwise behaves the same as ''V''. By the same token,
co-NP
In computational complexity theory, co-NP is a complexity class. A decision problem X is a member of co-NP if and only if its complement is in the complexity class NP. The class can be defined as follows: a decision problem is in co-NP precise ...
belongs to These straightforward inclusions can be strengthened to show that the class contains
MA (by a generalization of the
Sipser–Lautemann theorem
In computational complexity theory, the Sipser–Lautemann theorem or Sipser–Gács–Lautemann theorem states that bounded-error probabilistic polynomial (BPP) time is contained in the polynomial time hierarchy, and more specifically Σ2 ∩ Π2. ...
) and
(more generally,
).
Karp–Lipton theorem
A version of
Karp–Lipton theorem
In complexity theory, the Karp–Lipton theorem states that if the Boolean satisfiability problem (SAT) can be solved by Boolean circuits with a polynomial number of logic gates, then
:\Pi_2 = \Sigma_2 \, and therefore \mathrm = \Sigma_2. \,
...
states that if every language in
NP has
polynomial size circuits then the
polynomial time hierarchy
In computational complexity theory, the polynomial hierarchy (sometimes called the polynomial-time hierarchy) is a hierarchy of complexity classes that generalize the classes NP and co-NP. Each class in the hierarchy is contained within PSPACE. T ...
collapses to S. This result yields a strengthening of
Kannan
Kannan ( ta, கண்ணன்) is a Tamil male given name. Due to a Tamil tradition of using patronymic surnames, it may also be a surname for males and females. The name is derived from the Hindu god Krishna, who is offered the epithet of Kann ...
's theorem: it is known that S is not contained in (''n''
''k'') for any fixed ''k''.
Symmetric hierarchy
As an extension, it is possible to define
as an operator on complexity classes; then
. Iteration of
operator yields a "symmetric hierarchy"; the union of the classes produced in this way is equal to the
Polynomial hierarchy
In computational complexity theory, the polynomial hierarchy (sometimes called the polynomial-time hierarchy) is a hierarchy of complexity classes that generalize the classes NP and co-NP. Each class in the hierarchy is contained within PSPACE. ...
.
References
*
*
External links
*{{CZoo, S
2P, S#s2p
Complexity Class of the Week: S2P Lance Fortnow
Lance Jeremy Fortnow (born August 15, 1963) is a computer scientist known for major results in computational complexity and interactive proof systems. He is currently Dean of the College of Computing at the Illinois Institute of Technology.
Biogra ...
, August 28, 2002.
Complexity classes