Abstract
In previous chapters we developed an implementation-independent model of computation. The fundamental features of this model were examined in the last chapter. As always, we assume that φ0, φ1, ... is an acceptable programming system. Now we will develop a complexity theory that is independent of the machine model and of the resource being measured. Consequently, this theory will be insensitive to particular language features and input/output conventions, etc. Given a program i and some measure of complexity (like time or space), the complexity of φi is determined by a function that determines, for any input x, how much of the resource counted by the complexity measure is used in the computation of φi (x). In general, the complexity of a function is another function. This is because programs consume different amounts of some resources depending on what inputs they are given. In the case where we are measuring time, any divergent computation will consume infinitely many time steps without converging. However, it is possible for a computation to diverge and only use a small, finite amount of space. If a computation is undefined, then we would like its complexity to be undetermined as well. Consequently, we adopt the convention that if it turns out that the computation of φi(x) diverges, then we will say that program i on input x uses infinitely much of the resource counted by the complexity measure. To make the case of an undefined computation fit neatly into our results we will adopt the convention that in comparisons any natural number will be considered to be less than an undefined quantity.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
A. Borodin, Computational complexity and the existence of complexity gaps, Journal of the ACM, Vol. 19, 1972, pp. 158–174.
M. Blum, A machine-independent theory of the complexity of recursive functions, JournaJ of the ACM, Vol. 14, 1967, pp. 322–336.
M. Blum, On the size of machines, Information and Control, Vol. 11, 1967, pp. 257–265.
J. Case, Operator speed-up for universal machines, IEEE Transactions on Computers, to appear, and personal notes.
M. Machtey and P. Young, An Introduction to the General Theory of Algorithms, North Holland, New York, 1978.
M. Rabin, Degree of difficulty of computing a function, Hebrew University Technical Report 2, 1960.
P. Young, Easy constructions in complexity theory: gap and speedup theorems, Proceedings of the AMS, Vol. 37, 1973, pp. 555–563.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1994 Springer Science+Business Media New York
About this chapter
Cite this chapter
Smith, C.H. (1994). Abstract Complexity Theory. In: A Recursive Introduction to the Theory of Computation. Graduate Texts in Computer Science. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-8501-9_4
Download citation
DOI: https://doi.org/10.1007/978-1-4419-8501-9_4
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4612-6420-0
Online ISBN: 978-1-4419-8501-9
eBook Packages: Springer Book Archive