{"title":"Type two computational complexity","authors":"R. Constable","doi":"10.1145/800125.804041","DOIUrl":"https://doi.org/10.1145/800125.804041","url":null,"abstract":"A programming language for the partial computable functionals is used as the basis for a definition of the computational complexity of functionals (type2 functions). An axiomatic account in the spirit of Blum is then provided. The novel features of this approach are justified by applying it to problems in abstract complexity, specifically operator speed-up, and by using it to define the illusive notion of the polynomial degree of an arbitrary function. New results are obtained for these degrees.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125568803","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Word problems requiring exponential time(Preliminary Report)","authors":"L. Stockmeyer, A. Meyer","doi":"10.1145/800125.804029","DOIUrl":"https://doi.org/10.1145/800125.804029","url":null,"abstract":"The equivalence problem for Kleene's regular expressions has several effective solutions, all of which are computationally inefficient. In [1], we showed that this inefficiency is an inherent property of the problem by showing that the problem of membership in any arbitrary context-sensitive language was easily reducible to the equivalence problem for regular expressions. We also showed that with a squaring abbreviation ( writing (E)2 for E×E) the equivalence problem for expressions required computing space exponential in the size of the expressions. In this paper we consider a number of similar decidable word problems from automata theory and logic whose inherent computational complexity can be precisely characterized in terms of time or space requirements on deterministic or nondeterministic Turing machines. The definitions of the word problems and a table summarizing their complexity appears in the next section. More detailed comments and an outline of some of the proofs follows in the remaining sections. Complete proofs will appear in the forthcoming papers [9, 10, 13]. In the final section we describe some open problems.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121269829","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The lane tracing algorithm for constructing LR(k) parsers","authors":"D. Pager","doi":"10.1145/800125.804048","DOIUrl":"https://doi.org/10.1145/800125.804048","url":null,"abstract":"The paper presents, as far as the author is aware, the first practical general method for constructing LR(k) parsers. It has been used, without computational difficulty, to produce LR(1), LR(2) and LR(3) parsers for grammars of the size of ALGOL.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116774508","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On the time and tape complexity of languages I","authors":"H. Hunt","doi":"10.1145/800125.804030","DOIUrl":"https://doi.org/10.1145/800125.804030","url":null,"abstract":"We investigate the following: (1) the relationship between the classes of languages accepted by deterministic and nondeterministic polynomial time bounded Turing machines; (2) the time and tape complexity of many predicates on the regular sets; (3) the relationship between the classes of languages accepted by deterministic or nondeterministic polynomial time bounded Turing machines and the class of languages accepted by polynomial tape bounded Turing machines; and (4) the complexity of many predicates about stack automata. We find several problems with nonpolynomial lower complexity bounds.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125701764","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Complete register allocation problems","authors":"R. Sethi","doi":"10.1145/800125.804049","DOIUrl":"https://doi.org/10.1145/800125.804049","url":null,"abstract":"The search for efficient algorithms for register allocation dates back to the time of the first Fortran compiler for the IBM 704. Since then, many variants of the problem have been considered; depending on two factors: (1) the particular model for registers, and (2) the definition of the term “computation of a program” e.g. whether values may be computed more than once. We will show that several variants of the register allocation problem for straight line programs are polynomial complete. In particular we consider, (1) the case when each value is computed exactly once, and (2) the case when values may be recomputed as necessary. The completeness of the third problem considered is surprising. A straight line program starts with a set of initial values, and computes intermediate and final values. Suppose, for each value, the register that value must be computed into is preassigned. Then, (3) the problem of determining if there is a computation of the straight line program, that computes values into the assigned registers, is polynomial complete.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133205680","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Classes of semigroups and classes of sets","authors":"S. Eilenberg","doi":"10.1145/800125.804057","DOIUrl":"https://doi.org/10.1145/800125.804057","url":null,"abstract":"Let A be a subset of &Sgr;+, the free semigroup generated by a finite set &Sgr;. In &Sgr;+ we consider congruences satisfying the condition xñy & x&egr;A@@@@y&egr; A Among all such congruences there is a largest one, and the quotient monoid by this congruence is denoted by SA and is called the syntactic semigroup of A. This semigroup is finite if and only if the set A is recognizable (by a finite automaton). The semigroup SA can then easily be described using the minimal automaton of A. It is reasonable to expect that reasonable properties of the recognizable set A will be reflected by reasonable properties of the finite semigroups SA and vice-versa. In trying to establish such a dialog, one is handicapped by the fact that there are finite semigroups which are not syntactic monoids of any set. The objective of this note is to state a theorem showing that the above inconvenience disappears if one considers classes of sets (rather than individual sets) and classes of semigroups.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129349294","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On finding lowest common ancestors in trees","authors":"A. Aho, J. Hopcroft, J. Ullman","doi":"10.1145/800125.804056","DOIUrl":"https://doi.org/10.1145/800125.804056","url":null,"abstract":"Trees in an n node forest are to be merged according to instructions in a given sequence, while other instructions in the sequence ask for the lowest common ancestor of pairs of nodes. We show that any sequence of O(n) instructions can be processed “on line” in O(n log n) steps on a random access computer. If we can accept our answer “off-line”, that is, no answers need to be produced until the entire sequence of instructions has been seen seen, then we may perform the task in O(n G(n)) steps, where G(n) is the number of times we must apply log2 to n to obtain a number less than or equal to zero. A third algorithm solves a problem of intermediate complexity. We require the answers on line, but we suppose that all tree merging instructions precede the information requests. This algorithm requires O(n log log n) time. We apply the first on line algorithm to a problem in code optimization, that of computing immediate dominators in a reducible flow graph. We show how this computation can be performed in O(n log n) steps.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129976038","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Fast computation of GCDs","authors":"R. Moenck","doi":"10.1145/800125.804045","DOIUrl":"https://doi.org/10.1145/800125.804045","url":null,"abstract":"An integer greatest common divisor (GCD) algorithm due to Schönhage is generalized to hold in all euclidean domains which possess a fast multiplication algorithm. It is shown that if two N precision elements can be multiplied in O(N loga N), then their GCD can be computed in O(N loga+1 N). As a consequence, a new faster algorithm for multivariate polynomial GCD's can be derived and with that new bounds for rational function manipulation.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127863698","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Analysis of structured programs","authors":"S. Kosaraju","doi":"10.1145/800125.804055","DOIUrl":"https://doi.org/10.1145/800125.804055","url":null,"abstract":"We investigate various control structures to understand their computational complexity and limitations. It is generally felt that GOTO-less programs constructed from the classical primitives are very restrictive; structured programming languages like BLISS, however, incorporating Repeat-Exit constructs appear to ease this sense of restrictiveness. In this paper we analyze this construct. We answer a conjecture of Knuth and Floyd as a special case of the general theory. We also investigate a general Top-Down Programming construct, which we call the TDn-construct. We structurally characterize the class of GOTO-less programs. We also generalize such an analysis and solve an open problem of Böhm and Jacopini.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"124 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121519227","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Correct and optimal implementations of recursion in a simple programming language","authors":"J. Vuillemin","doi":"10.1145/800125.804054","DOIUrl":"https://doi.org/10.1145/800125.804054","url":null,"abstract":"The object of this paper is to study the mechanism of recursion in a simple, LISP-like programming language, where the only mean of iteration is through recursion. The theory of computation developped in Scott [4] provides the framework of our study. We show how the implementations of recursion which deserve to be called “correct” can be characterized semantically, and demonstrate a general criterion for the correctness of an implementation. We then describe an implementation of recursion which is both correct and optimal in a general class of sequential languages, and therefore constitutes an attractive alternative to both “call-by-name” and “call-by-value”.","PeriodicalId":242946,"journal":{"name":"Proceedings of the fifth annual ACM symposium on Theory of computing","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1973-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127942025","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}