Jump to content

Gap theorem

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Cosmia Nebula (talk | contribs) at 03:14, 8 November 2025 (Gap theorem). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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] Although Trakhtenbrot's derivation preceded Borodin's by several years, it was not known nor recognized in the West until after Borodin's work was published.

Statement

As an introductory example, suppose that we are considering time-complexity of a certain specific Turing machine model. The is the set of total computable functions, such that there exists some implementation of the function that computes it in time given an input size of .

In general, any total computable function defines some time-complexity class, and we expect that if , then should be larger than . The gap theorem states that this is not necessarily so. Indeed, for any total computable such that for all , there exists some total computable function , such that .

More generally, suppose Φ is an abstract (Blum) complexity measure, then for any total computable function g for which for every x, there is a total computable function t such that with respect to Φ, the complexity classes with boundary functions t and are identical.

Implications

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

for any total computable function such that for all x, there exists a time bound such that .

Similarly for the special case of space complexity.

Because the bound 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,[5] and it does not contradict the time hierarchy theorem or space hierarchy theorem.[6]

See also

References

  1. ^ Fortnow, Lance; Homer, Steve (June 2003). "A Short History of Computational Complexity" (PDF). Bulletin of the European Association for Theoretical Computer Science (80): 95–133. Archived from the original (PDF) on 2005-12-29.
  2. ^ Trakhtenbrot, Boris A. (1967). The Complexity of Algorithms and Computations (Lecture Notes). Novosibirsk University.
  3. ^ Borodin, Allan (1969). "Complexity classes of recursive functions and the existence of complexity gaps". In Fischer, Patrick C.; Ginsburg, Seymour; Harrison, Michael A. (eds.). Proceedings of the 1st Annual ACM Symposium on Theory of Computing, May 5–7, 1969, Marina del Rey, CA, USA. Association for Computing Machinery. pp. 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. hdl:1813/5899.
  5. ^ Allender, Eric W.; Loui, Michael C.; Regan, Kenneth W. (2014). "Chapter 7: Complexity Theory". In Gonzalez, Teofilo; Diaz-Herrera, Jorge; Tucker, Allen (eds.). Computing Handbook, Third Edition: Computer Science and Software Engineering. CRC Press. p. 7-9. ISBN 9781439898529. Fortunately, the gap phenomenon cannot happen for time bounds t that anyone would ever be interested in.
  6. ^ Zimand, Marius (2004). Computational Complexity: A Quantitative Perspective. North-Holland Mathematics Studies. Vol. 196. Elsevier. p. 42. ISBN 9780080476667..