scispace - formally typeset
Search or ask a question

Showing papers in "Journal of the ACM in 1968"


Journal ArticleDOI
TL;DR: PATRICIA as mentioned in this paper is an algorithm which provides a flexible means of storing, indexing, and retrieving information in a large file, which is economical of index space and of reindexing time.
Abstract: PATRICIA is an algorithm which provides a flexible means of storing, indexing, and retrieving information in a large file, which is economical of index space and of reindexing time. It does not require rearrangement of text or index as new material is added. It requires a minimum restriction of format of text and of keys; it is extremely flexible in the variety of keys it will respond to. It retrieves information in response to keys furnished by the user with a quantity of computation which has a bound which depends linearly on the length of keys and the number of their proper occurrences and is otherwise independent of the size of the library. It has been implemented in several variations as FORTRAN programs for the CDC-3600, utilizing disk file storage of text. It has been applied to several large information-retrieval problems and will be applied to others.

887 citations


Journal ArticleDOI
TL;DR: Automatic indexing methods are evaluated and design criteria for modern information systems are derived in this paper, where the authors propose a set of criteria for information systems that can be used for indexing.
Abstract: Automatic indexing methods are evaluated and design criteria for modern information systems are derived.

547 citations


Journal ArticleDOI
TL;DR: The construction of a switching network capable of n-permutation of its input terminals to its output terminals is described and an algorithm is given for the setting of the binary cells in the network according to any specified permutation.
Abstract: In this paper the construction of a switching network capable of n!-permutation of its n input terminals to its n output terminals is described. The building blocks for this network are binary cells capable of permuting their two input terminals to their two output terminals.The number of cells used by the network is 〈n · log2n - n + 1〉 = Σnk=1 〈log2k〉. It could be argued that for such a network this number of cells is a lower bound, by noting that binary decision trees in the network can resolve individual terminal assignments only and not the partitioning of the permutation set itself which requires only 〈log2n!〉 = 〈Σnk=1 log2k〉 binary decisions.An algorithm is also given for the setting of the binary cells in the network according to any specified permutation.

488 citations


Journal ArticleDOI
TL;DR: The problem of readily determining the inverse Laplace transform numerically by a method which meets the efficiency requirements of automatic digital computation is discussed because the result inverse function is given as a Fourier cosine series, the procedure requires only about ten FORTRAN statements.
Abstract: In this paper the problem of readily determining the inverse Laplace transform numerically by a method which meets the efficiency requirements of automatic digital computation is discussed. Because the result inverse function is given as a Fourier cosine series, the procedure requires only about ten FORTRAN statements. Furthermore, it does not require the use of involved algorithms for the generation of any special functions, but uses only cosines and exponentials.The basis of the method hinges on the fact that in evaluating the inverse Laplace transform integral there exists a freedom in choosing the contour of integration. Given certain restrictions, the contour may be any vertical line in the right-half plane. Specifying a line, the integral to be evaluated is essentially a Fourier integral. However, the method is concerned with determining the proper line, so that when the integral (along this line) is approximated, the error is as small as desired by virtue of having chosen the particular contour.

487 citations


Journal ArticleDOI
Alfred V. Aho1
TL;DR: A new type of grammar for generating formal languages, called an indexed grammar, is presented, and the class of languages generated by indexed grammars has closure properties and decidability results similar to those for context-free languages.
Abstract: A new type of grammar for generating formal languages, called an indexed grammar, is presented. An indexed grammar is an extension of a context-free grammar, and the class of languages generated by indexed grammars has closure properties and decidability results similar to those for context-free languages. The class of languages generated by indexed grammars properly includes all context-free languages and is a proper subset of the class of context-sensitive languages. Several subclasses of indexed grammars generate interesting classes of languages.

476 citations


Journal ArticleDOI
TL;DR: Some special conditions are investigated under which syntax-directed translations can be performed on (deterministic) pushdown machines and some time bounds for translations on Turing machines are derived.
Abstract: A transduction is a mapping from one set of sequences to another. A syntax-directed transduction is a particular type of transduction which is defined on the grammar of a context-free language and which is meant to be a model of part of the translation process used in many compilers. The transduction is considered from an automata theory viewpoint as specifying the input-output relation of a machine. Special consideration is given to machines called translators which both transduce and recognize. In particular, some special conditions are investigated under which syntax-directed translations can be performed on (deterministic) pushdown machines. In addition, some time bounds for translations on Turing machines are derived.

379 citations


Journal ArticleDOI
TL;DR: A modified version of the Fast Fourier Transform is developed and described and it is suggested that this form is of general use in the development and classification of various modifications and extensions of the algorithm.
Abstract: A modified version of the Fast Fourier Transform is developed and described. This version is well adapted for use in a special-purpose computer designed for the purpose. It is shown that only three operators are needed. One operator replaces successive pairs of data points by their sums and differences. The second operator performs a fixed permutation which is an ideal shuffle of the data. The third operator permits the multiplication of a selected subset of the data by a common complex multiplier.If, as seems reasonable, the slowest operation is the complex multiplications required, then, for reasonably sized date sets—e.g. 512 complex numbers—parallelization by the method developed should allow an increase of speed over the serial use of the Fast Fourier Transform by about two orders of magnitude.It is suggested that a machine to realize the speed improvement indicated is quite feasible.The analysis is based on the use of the Kronecker product of matrices. It is suggested that this form is of general use in the development and classification of various modifications and extensions of the algorithm.

362 citations


Journal ArticleDOI
TL;DR: The problem of obtaining the skeleton of a digitized figure is reduced to an optimal policy problem and a hierarchy of methods of defining the skeleton is proposed; in the more complicated ones, thekeleton is relatively invariant under rotation.
Abstract: The problem of obtaining the skeleton of a digitized figure is reduced to an optimal policy problem. A hierarchy of methods of defining the skeleton is proposed; in the more complicated ones, the skeleton is relatively invariant under rotation. Two algorithms for computing the skeleton are defined, and the corresponding computer programs are compared. A criterion is proposed for determining the most significant skeleton points.

282 citations


Journal ArticleDOI
TL;DR: A model for parallel computations is given as a directed graph in which nodes represent elementary operations, and branches, data channels, and an algorithm is given for the determination of the number of initiations of each node in the graph defining a parallel computation.
Abstract: A model for parallel computations is given as a directed graph in which nodes represent elementary operations, and branches, data channels. The problem considered is the determination of an admissible schedule for such a computation; i.e. for each node determine a sequence of times at which the node initiates its operation. These times must be such that each node, upon initiation, is assured of having the necessary data upon which to operate. Necessary and sufficient conditions that a schedule be admissible are given. The computation rate of a given admissible schedule is defined and is shown to have a limiting value 1/p where p is a parameter dependent upon the cycles in the graph. Thus, the computation cannot proceed at a rate exceeding 1/p. For g ≥ p, the class of all periodic admissible schedules with period g is characterized by the solution space of a certain system of linear inequalities. In particular, then, the maximum computation rate of 1/p is attainable under a periodic admissible schedule with period p. A class of all-integer admissible schedules is given. Finally, an algorithm is given for the determination of the number of initiations of each node in the graph defining a parallel computation. An example for a system of difference equations is given in detail.

240 citations


Journal ArticleDOI
TL;DR: A proof procedure based on a theorem of Herbrand and utilizing the matching technique of Prawitz is presented, which attempts to drastically trim the number of candidates at an intermediate level of development.
Abstract: A proof procedure based on a theorem of Herbrand and utilizing the matching technique of Prawitz is presented. In general, Herbrand-type proof procedures proceed by generating over increasing numbers of candidates for the truth-functionally contradictory statement the procedures seek. A trial is successful when some candidate is in fact a contradictory statement. In procedures to date the number of candidates developed before a contradictory statement is found (if one is found) varies roughly exponentially with the size of the contradictory statement. (“Size” might be measured by the number of clauses in the conjunctive normal form of the contradictory statement.) Although basically subject to the same rate of growth, the procedure introduced here attempts to drastically trim the number of candidates at an intermediate level of development. This is done by retaining beyond a certain level only candidates already “partially contradictory.” The major task usually is finding the partially contradictory sets. However, the number of candidate sets required to find these subsets of the contradictory set is generally much smaller than the number required to find the full contradictory set.

207 citations


Journal ArticleDOI
TL;DR: It is shown that the equivalence problem for A-free nondeterministic generalized machines is unsolvable, and it is observed that this result implies the unsolvability of the equality problem for c-finite languages.
Abstract: It is shown that the equivalence problem for A-free nondeterministic generalized machines is unsolvable, and it is observed that this result implies the unsolvability of the equality problem for c-finite languages.

Journal ArticleDOI
TL;DR: The language, called PL360, provides the facilities of a symbolic machine language, but displays a structure defined by a recursive syntax, which represents an attempt to further the state of the art of programming.
Abstract: A programming language for the IBM 360 computers and aspects of its implementation are described. The language, called PL360, provides the facilities of a symbolic machine language, but displays a structure defined by a recursive syntax. PL360 was designed to improve the readability of programs which must take into account specific characteristics and limitations of a particular computer. It represents an attempt to further the state of the art of programming by encouraging and even forcing the programmer to improve his style of exposition and his principles and discipline in program organization. Because of its inherent simplicity, the language is particularly well suited for tutorial purposes.The attempt to present a computer as a systematically organized entity is also hoped to be of interest to designers of future computers.

Journal ArticleDOI
TL;DR: A method for the numerical solution of a Fredholm integral equation of the first kind is derived and illustrated and the trace of the covariance matrix of the error in the solution is used to estimate the accuracy of the results.
Abstract: A method for the numerical solution of a Fredholm integral equation of the first kind is derived and illustrated. The method employs an a priori constraint vector together with covariances of both the constraint vector and the measurement errors. The method automatically incorporates an optimum amount of smoothing in the sense of maximum-likelihood estimation. The problem of obtaining optimum basis vectors is discussed. The trace of the covariance matrix of the error in the solution is used to estimate the accuracy of the results. This trace is used to derive a quality criterion for a set of measurements and a given set of constraint statistics. Examples are given in which the behavior of the solution as obtained from a specific integral equation is studied by the use of random input errors to simulate measurement errors and statistical sampling. The quality criterion and behavior of the trace of the error covariance matrix for various bases is also illustrated for the equation being considered.

Journal ArticleDOI
TL;DR: Time-shared processing systems (e.g. communication or computer systems) are studied by considering priority disciplines operating in a stochastic queueing environment, with quantum-controlled feedback models providing rapid service for customers with short service-time requirements.
Abstract: Time-shared processing systems (e.g. communication or computer systems) are studied by considering priority disciplines operating in a stochastic queueing environment. Results are obtained for the average time spent in the system, conditioned on the length of required service (e.g. message lenght or number of computations). No chage is made for swap time, and the results hold only for Markov assumptions for the arrival and service processes. Two distinct feedback models with a single quantum-controlled service are considered. The first is a round-robin (RR) system in which the service facility processes each customer for a maximum of q sec. If the customer's service is completed during this quantum, he leaves the system; otherwise he returns to the end of the queue to await another quantum of service. The second is a feedback (FBN) system with N queues in which a new arrival joins the tail of the first queue. The server gives service to a customer from the nth queue only if all lower numbered queues are empty. When taken from the nth queue, a customer is given q sec of service. If this completes his processing requirement he leaves the system; otherwise he joins the tail of the (n + 1)-st queue (n = 1, 2, · · ·, N - 1). The limiting case of N → ∞ is also treated. Both models are therefore quantum-controlled, and involve feedback to the tail of some queue, thus providing rapid service for customers with short service-time requirements. The interesting limiting case in which q → 0 (a “processor-shared” model) is also examined. Comparison is made with the first-come-first-served system and also the shortest-job-first discipline. Finally the FB∞ system is generalized to include (priority) inputs at each of the queues in the system.

Journal ArticleDOI
S. Kumar1
TL;DR: A computer procedure to reorganize indexing vocabularies is described and a measure of the semantic association between index terms can be determined from the structural relationships which the terms exhibit by their relative positions in the system.
Abstract: A computer procedure to reorganize indexing vocabularies is described. Index terms are drawn from the vocabulary of a structured indexing system and may consist of single words, collections of words, or syntactic phrases. The basic idea is that a measure of the semantic association between index terms can be determined from the structural relationships which the terms exhibit by their relative positions in the system. The association measure, which is based on a priori (preassigned) semantic relationships between terms, rather than their co-occurrence in a document corpus, is then used for grouping index terms into clusters or concepts. Some results of an experimental investigation are presented. K E Y WORDS AND PHRASES: information, retrieval, clustering,

Journal ArticleDOI
TL;DR: It is shown, among other things, that it is recursively undecidable how much time is required to recognize a nonregular context-free language on a one-tape Turing machine.
Abstract: The quantitative aspects of one-tape Turing machine computations are considered. It is shown, for instance, that there exists a sharp time bound which must be reached for the recognition of nonregular sets of sequences. It is shown that the computation time can be used to characterize the complexity of recursive sets of sequences, and several results are obtained about this classification. These results are then applied to the recognition speed of context-free languages and it is shown, among other things, that it is recursively undecidable how much time is required to recognize a nonregular context-free language on a one-tape Turing machine. Several unsolved problems are discussed.

Journal ArticleDOI
TL;DR: It is shown that the resolution method remains complete if it is required that two noninitial clauses which are not merges never be resolved with one another.
Abstract: A refinement of the resolution method for mechanical theorem proving is presented. A resolvent C of clauses A and B is called a merge if literals from A and B merge together to form some literal of C. It is shown that the resolution method remains complete if it is required that two noninitial clauses which are not merges never be resolved with one another. It is also shown that this strategy can be combined with the set-of-support strategy.

Journal ArticleDOI
Paul G. Comba1
TL;DR: A procedure has been developed for detecting intersections of convex regions in 3-space by means of a pseudocharacteristic function and a system of programs embodying these techniques is described.
Abstract: As a step toward the solution of the placement problem in engineering design, a procedure has been developed for detecting intersections of convex regions in 3-space by means of a pseudocharacteristic function. The mathematical techniques underlying the procedure are discussed, and a system of programs embodying these techniques is described. As a special case a solution is given for the hidden-line problem in graphic display.

Journal ArticleDOI
TL;DR: It is hoped that the heuristic program discussed searches for a constructive proof or disproof of a given proposition and uses a search procedure which efficiently selects the seemingly best proposition to work on next.
Abstract: The heuristic program discussed searches for a constructive proof or disproof of a given proposition. It uses a search procedure which efficiently selects the seemingly best proposition to work on next. This program is multipurpose in that the domains it can handle are varied.As an initial experiment, the program was given the task of searching for proofs and disproofs of propositions about kalah end games. Kalah is a two-person game. In another experiment the program, after some modifications, played the game of kalah. This program was compared with another tree-searching procedure, the Alpha-Beta minimax procedure; the results have been encouraging since the program is fast and efficient. Its greatest usefulness is in solving large problems. It is hoped that this program has added one more step toward the goal of eventually obtaining computer programs which can solve intellectually difficult problems.

Journal ArticleDOI
TL;DR: A perspective transformation is developed whereby an object in space as viewed from an arbitrary point can be projected into a plane and plotted.
Abstract: A perspective transformation is developed whereby an object in space as viewed from an arbitrary point can be projected into a plane and plotted. Families of curves which can be used to define such an object are discussed and examples are given. An algorithm which eliminates the plotting of hidden portions of the object is discussed.

Journal ArticleDOI
TL;DR: The use of the techniques of queueing theory in analyzing the performance of a mass storage device in a real-time environment is demonstrated and any disk whose seek time characteristic can be approximated by a piecewise linear continuous function may be analyzed.
Abstract: In this paper the use of the techniques of queueing theory in analyzing the performance of a mass storage device in a real-time environment is demonstrated; concern is with the tradeoff experienced in practice between throughput of a stochastic service device and the response time for each service request For concreteness, the analysis is applied to the IBM 2314 disk storage facility The results are presented in a series of graphs showing the file system response time versus the throughput for several distributions of record length and arm movement The queueing model and the theoretical tools used are described in sufficient detail to permit the reader to apply the techniques to other systems In particular, any disk whose seek time characteristic can be approximated by a piecewise linear continuous function may be analyzed by the methods presented

Journal ArticleDOI
TL;DR: It is shown that the linearly bounded automaton can accept the set of primes, and it is conjectured that no automaton whose memory grows less rapidly can recognize the setof primes.
Abstract: A study of the problem of recognizing the set of primes by automata is presented. A simple algebraic condition is derived which shows that neither the set of primes nor any infinite subset of the set of primes can be accepted by a pushdown or finite automaton.In view of this result an interesting open problem is to determine the “weakest” automaton which can accept the set of primes. It is shown that the linearly bounded automaton can accept the set of primes, and it is conjectured that no automaton whose memory grows less rapidly can recognize the set of primes. One of the results shows that if this conjecture is true, it cannot be proved by the use of arguments about the distribution of primes, as described by the Prime Number Theorem. Some relations are established between two classical conjectures in number theory and the minimal rate of memory growth of automata which can recognize the set of primes.

Journal ArticleDOI
TL;DR: Commenting on the present computer field assess the needs for future development shows that the first of the more ambitious and fully engineered computers to be completed and prove themselves in practical operation took much longer than expected.
Abstract: Reminiscences on the early developments leading to large scale electronic computers show that it took much longer than was expected for the first of the more ambitious and fully engineered computers to be completed and prove themselves in practical operation. Comments on the present computer field assess the needs for future development.

Journal ArticleDOI
TL;DR: A mathematical model for the study of contour-line data is described and the concept of cliff lines is introduced and the properties of both contour lines and cliff lines are investigated.
Abstract: This paper describes a mathematical model for the study of contour-line data. Formal definitions are given for the various classes of contour lines found on a contour map. The concept of cliff lines is introduced and the properties of both contour lines and cliff lines are investigated. The objective of the paper is to lay a foundation for the development of algorithms that will facilitate the digital computer solutions of problems involving contour-line data.

Journal ArticleDOI
TL;DR: Memory utilization and retrieval time from direct access inverted files are investigated as a function of the data base, the demands on it, and a parameter which the system designer may control.
Abstract: Memory utilization and retrieval time from direct access inverted files are investigated as a function of the data base, the demands on it, and a parameter which the system designer may control. An analysis of the effects of data base characteristics and data base usage is also made for a linked list structure.

Journal ArticleDOI
TL;DR: A unified derivation is presented of the quasi-Newton methods for solving systems of nonlinear equations and contains, as special cases, all of the previously proposed quasi- newton methods.
Abstract: A unified derivation is presented of the quasi-Newton methods for solving systems of nonlinear equations. The general algorithm contains, as special cases, all of the previously proposed quasi-Newton methods.

Journal ArticleDOI
TL;DR: Arbitrary finite automata are decomposed into their major substructures, the primaries, and various characterizations of these transition-preserving functions on singly generated Automata are presented and are used as a basis for the reduction.
Abstract: Arbitrary finite automata are decomposed into their major substructures, the primaries. Several characterizations of homomorphisms, endomorphisms, isomorphisms, and automorphisms of arbitrary finite automata are presented via reduction to the primaries of the automata. Various characterizations of these transition-preserving functions on singly generated automata are presented and are used as a basis for the reduction. Estimates on the number of functions of each type are given.

Journal ArticleDOI
TL;DR: It is shown that if a language L is recognized by a (nondeterministic) single-tape Turing machine of time complexity T(n)(n), then L isrecognized by an offline Turing Machine of tape complexity T.T.(n).
Abstract: It is shown that if a language L is recognized by a (nondeterministic) single-tape Turing machine of time complexity T(n), then L is recognized by a (nondeterministic) offline Turing machine of tape complexity T1/2(n). If T(n) ≥ n2;, L is recognized by a (nondeterministic) single-tape Turing machine of tape complexity T1/2(n). If a language L is recognized by a (nondeterministic) offline Turing machine of time complexity (T(n), then L is recognized by a (nondeterministic) offline Turing machine of tape complexity (T(n) log n)1/2 and by a (nondeterministic) single-tape Turing machine of that tape complexity if T (n) ≥ n2/log n.

Journal ArticleDOI
TL;DR: A formalism is defined in which solutions to theorem-proving and similar problems take the form of a sequence of transformations of states into other states, and the FORTRAN Deductive System is shown to be more powerful than the other.
Abstract: A formalism is defined in which solutions to theorem-proving and similar problems take the form of a sequence of transformations of states into other states. The data used to solve a problem then consists of a set of rewriting rules which defines the allowable transformations. A method for selecting “useful” transformations, i.e. those which will most probably lead to a solution, is developed. Two problem-solving processes based on the above are defined; one, called the FORTRAN Deductive System (FDS) is shown to be more powerful than the other. A class of problems to which FDS will always find solutions is constructed. Examples of solutions found by a computer implementation of FDS are given and, in some cases, are compared with human performance. Finally, FDS is compared with some of the better-known problem-solving systems.

Journal ArticleDOI
TL;DR: Time-sharing algorithms are discussed which are designed primarily for the reduction of swapping without intolerable changes in the waiting time distributions, and queueing models corresponding to these algorithms are devised and analyzed for the purpose of obtaining the mean waiting times conditioned on the service required.
Abstract: The necessity for swapping in the operation of modern time-sharing systems constitutes the major reason for the latter's inefficiency compared to batch-processing systems. Time-sharing algorithms are discussed which are designed primarily for the reduction of swapping without intolerable changes in the waiting time distributions. A particular class of such algorithms in which conventional procedures are modified by making the quantum allocation dependent on input activity is given a more detailed treatment. In particular, queueing models corresponding to these algorithms are devised and then analyzed for the purpose of obtaining the mean waiting times conditioned on the service required. These results are then compared to those obtained for the conventional models and the comparison subsequently measured against the swapping requirements of the two classes of algorithms.