SC (complexity) explained

In computational complexity theory, SC (Steve's Class, named after Stephen Cook) is the complexity class of problems solvable by a deterministic Turing machine in polynomial time (class P) and polylogarithmic space (class PolyL) (that is, O((log n)k) space for some constant k). It may also be called DTISP(poly, polylog), where DTISP stands for deterministic time and space. Note that the definition of SC differs from PPolyL, since for the former, it is required that a single algorithm runs in both polynomial time and polylogarithmic space; while for the latter, two separate algorithms will suffice: one that runs in polynomial time, and another that runs in polylogarithmic space. (It is unknown whether SC and PPolyL are equivalent).

DCFL, the strict subset of context-free languages recognized by deterministic pushdown automata, is contained in SC, as shown by Cook in 1979.[1] It is open if all context-free languages can be recognized in SC, although they are known be in PPolyL.[2]

It is open if directed st-connectivity is in SC, although it is known to be in PPolyL (because of a DFS algorithm and Savitch's theorem). This question is equivalent to NLSC.

RL and BPL are classes of problems acceptable by probabilistic Turing machines in logarithmic space and polynomial time. Noam Nisan showed in 1992 the weak derandomization result that both are contained in SC.[3] In other words, given polylogarithmic space, a deterministic machine can simulate logarithmic space probabilistic algorithms.

Notes and References

  1. S. A. Cook. Deterministic CFL's are accepted simultaneously in polynomial time and log squared space. Proceedings of ACM STOC'79, pp. 338 - 345. 1979.
  2. https://cstheory.stackexchange.com/questions/8679/ TCS Stack Exchange: CFG parsing using o(n^2) space
  3. .