Gap theorem

See also Gap theorem (disambiguation) for other gap theorems in mathematics.

In computational complexity theory the Gap Theorem, also known as the Borodin-Trakhtenbrot Gap Theorem, is a major theorem about the complexity of computable functions.[1]

It essentially states that there are arbitrarily large computable gaps in the hierarchy of complexity classes. For any computable function that represents an increase in computational resources, one can find a resource bound such that the set of functions computable within the expanded resource bound is the same as the set computable within the original bound.

The theorem was proved independently by Boris Trakhtenbrot[2]and Allan Borodin.[3][4]

Gap theorem

The general form of the theorem is as follows.

Suppose \Phi is an abstract (Blum) complexity measure. For any total computable function g for which g(x) \geq x for every \,x, there is a total computable function t such that with respect to \Phi, the complexity classes with boundary functions t and g \circ t are identical.

The theorem can be proved by using the Blum axioms without any reference to a concrete computational model, so it applies to time, space, or any other reasonable complexity measure.

For the special case of time complexity, this can be stated more simply as:

for any total computable function g \, : \, \omega \,\to\, \omega such that g(x) \geq x for all \,x, there exists a time bound T(n) such that DTIME(g(T(n))) = DTIME(T(n)).

Because the bound T(n) may be very large (and often will be nonconstructible) the Gap Theorem does not imply anything interesting for complexity classes such as P or NP, and it does not contradict time hierarchy theorem or space hierarchy theorem.

See also

References

  1. Fortnow, Lance; Homer, Steve (June 2003). "A Short History of Computational Complexity". Bulletin of the European Association for Theoretical Computer Science (80): 95–133.
  2. Trakhtenbrot, Boris A. (1967). The Complexity of Algorithms and Computations (Lecture Notes). Novosibirsk University.
  3. Allan Borodin (1969). "Complexity Classes of Recursive Functions and the Existence of Complexity Gaps". Proc. of the 1st Annual ACM Symposium on Theory of Computing: 67–78.
  4. Borodin, Allan (January 1972). "Computational complexity and the existence of complexity gaps". Journal of the ACM 19 (1): 158–174. doi:10.1145/321679.321691.