An Overview of the Theory of Computational Complexity

The purpose of this paper is to outline the theory of computational complexity which has emerged as a comprehensive theory during the last decade. This theory is concerned with the quantitative aspects of computations and its central theme is the measuring of the difficulty of computing functions. The paper concentrates on the study of computational com- plexity measures defined for all computable functions and makes no attempt to survey the whole field exhaustively nor to present the material in historical order. Rather it presents the basic concepts, results, and techniques of computational complexity from a new point of view from which the ideas are more easily understood and fit together as a coherent whole. It is clear that a viable theory of computation must deal realistically with the quantitative aspects of computing and must develop a general theory which studies the properties of possible measures of the difficulty of computing functions. Such a theory must go beyond the classification of functions as computable and non- computable, or elementary and primitive reeursive, etc. It must concern itself with computational complexity measures which are defined for all possible computations and which assign a complexity to each computation which terminates. Furthermore, this theory must eventually reflect some aspects of real computing to justify its existence by contributing to the general development of computer science. During the last decade, considerable progress has been made in the development of such a theory dealing with the complexity of computations. It is our conviction that by now this theory is an essential part of the theory of computation, and that in the future it will be an important theory which will permeate much of the theoretical work in computer science. Our purpose in this paper is to outline the recently developed theory of computa- tional complexity by presenting its central concepts, results, and techniques. The paper is primarily concerned with the study of computational complexity measures defined for all computable partial functions and no attempt is made to survey the whole field exhaustively nor to present the material in historical order. Rather, we

[1]  Rozsa Peter Review: Andrzej Grzegorczyk, Some Classes of Recursive Functions , 1955 .

[2]  Paul R. Young,et al.  Toward a Theory of Enumerations , 1968, JACM.

[3]  Robert L. Constable,et al.  The Operator Gap , 1969, JACM.

[4]  M. Rabin Real time computation , 1963 .

[5]  Manuel Blum,et al.  Tape Reversal Complexity Hierarchies , 1968, SWAT.

[6]  Hisao Yamada,et al.  Real-Time Computation and Recursive Functions Not Real-Time Computable , 1962, IRE Trans. Electron. Comput..

[7]  Juris Hartmanis,et al.  Computational Complexity of One-Tape Turing Machine Computations , 1968, JACM.

[8]  F. C. Hennie Crossing sequences and off-line Turing machine computations , 1965, SWCT.

[9]  F. C. Hennie,et al.  One-Tape, Off-Line Turing Machine Computations , 1965, Inf. Control..

[10]  J. Hartmanis,et al.  On the Computational Complexity of Algorithms , 1965 .

[11]  J. Tape-Reversal Bounded Turing Machine Computations * , .

[12]  Walter J. Savitch Deterministic simulation of non-deterministic turing machines (Detailed Abstract) , 1969, STOC '69.

[13]  Richard Edwin Stearns,et al.  Two-Tape Simulation of Multitape Turing Machines , 1966, JACM.

[14]  Manuel Blum On the Size of Machines , 1967, Inf. Control..

[15]  Manuel Blum,et al.  On Effective Procedures for Speeding Up Algorithms , 1971, JACM.

[16]  Jirí Becvár,et al.  Real-time and complexity problems in automata theory , 1965, Kybernetika.

[17]  Jeffrey D. Ullman,et al.  Relations Between Time and Tape Complexities , 1968, JACM.

[18]  Alan Cobham,et al.  On the Hartmanis-Stearns Problem for a Class of TAG Machines , 1968, SWAT.

[19]  Richard Edwin Stearns,et al.  Hierarchies of memory limited computations , 1965, SWCT.

[20]  Forbes D. Lewis,et al.  Unsolvability considerations in computational complexity , 1970, STOC.

[21]  Patrick C. Fischer The Reduction of Tape Reversals for Off-Line One-Tape Turing Machines , 1968, J. Comput. Syst. Sci..

[22]  Journal of the Association for Computing Machinery , 1961, Nature.

[23]  R. Constable Upward and Downward Diagonalization over Axiomatic Complexity Classes , 1969 .

[24]  A. Grzegorczyk Some classes of recursive functions , 1964 .

[25]  Dennis M. Ritchie,et al.  The complexity of loop programs , 1967, ACM National Conference.

[26]  M. Rabin Degree of difficulty of computing a function and a partial ordering of recursive sets , 1960 .

[27]  Allan Borodin,et al.  Complexity Classes of Recursive Functions and the Existence of Complexity Gaps , 1969, Symposium on the Theory of Computing.

[28]  Richard Edwin Stearns,et al.  Computational complexity of recursive sequences , 1964, SWCT.

[29]  Patrick C. Fischer,et al.  Multi-tape and infinite-state automata—a survey , 1965, Commun. ACM.

[30]  Yehoshua Bar-Hillel,et al.  The Intrinsic Computational Difficulty of Functions , 1969 .

[31]  Albert R. Meyer,et al.  Classes of computable functions defined by bounds on computation: Preliminary Report , 1969, STOC.

[32]  Paul Axt,et al.  Enumeration and the Grzegorczyk Hierarchy , 1963 .

[33]  Richard M. Karp,et al.  Some Bounds on the Storage Requirements of Sequential Machines and Turing Machines , 1967, JACM.

[34]  Allan Borodin,et al.  Dense and Non-Dense Families of Complexity Classes , 1969, SWAT.

[35]  Jeffrey D. Ullman,et al.  Some Results on Tape-Bounded Turing Machines , 1969, JACM.

[36]  Robert W. Ritchie,et al.  CLASSES OF PREDICTABLY COMPUTABLE FUNCTIONS , 1963 .

[37]  Richard Edwin Stearns,et al.  Memory bounds for recognition of context-free and context-sensitive languages , 1965, SWCT.

[38]  Manuel Blum,et al.  A Machine-Independent Theory of the Complexity of Recursive Functions , 1967, JACM.