scispace - formally typeset
Search or ask a question

Showing papers in "Communications of The ACM in 1964"


Journal ArticleDOI
Fred J. Damerau1
TL;DR: The method described assumes that a word which cannot be found in a dictionary has at most one error, which might be a wrong, missing or extra letter or a single transposition.
Abstract: The method described assumes that a word which cannot be found in a dictionary has at most one error, which might be a wrong, missing or extra letter or a single transposition. The unidentified input word is compared to the dictionary again, testing each time to see if the words match—assuming one of these errors occurred. During a test run on garbled text, correct identifications were made for over 95 percent of these error types.

1,591 citations


Journal Article

505 citations



Journal ArticleDOI
TL;DR: In this issue of the Communications, descriptions of six different courses concerned with computation and computing devices are presented and it is necessary to understand why these courses are in such and what common bonds can connect these courses in a curriculum.
Abstract: In this issue of the Communications, descriptions of six different courses concerned with computation and computing devices are presented. These courses are within an area which has variously come to be called Computer Science [11, the Communication Sciences [2], the Computer and Information Sciences [3] and even Synnoetics [4]. By whatever name, new courses having to do with . computers and the processing of information are appearing in many colleges, and plans for such courses are even more common. course descriptions are being presented through the ghe ACM Committee on Computer Curriculum so that plan or originate courses will have some criteria against compare their plans. However, we must look beyond :criptions to understand why these courses are in such and what common bonds can connect these courses in a mrriculum. That is, what is computer science?

433 citations


Journal ArticleDOI
TL;DR: The Romberg integration algorithm has been used with great success by many groups [1, 2], and appears to be among the most generally reliable quadrature methods available.

354 citations


Journal ArticleDOI
R. E. Wengert1
TL;DR: A procedure for automatic evaluation of total/partial derivatives of arbitrary algebraic functions is presented and can be used as a quick-reaction tool where the derivation of analytical derivatives is laborious and also as a debugging tool for programs which contain derivatives.
Abstract: A procedure for automatic evaluation of total/partial derivatives of arbitrary algebraic functions is presented. The technique permits computation of numerical values of derivatives without developing analytical expressions for the derivatives. The key to the method is the decomposition of the given function, by introduction of intermediate variables, into a series of elementary functional steps. A library of elementary function subroutines is provided for the automatic evaluation and differentiation of these new variables. The final step in this process produces the desired function's derivative.The main feature of this approach is its simplicity. It can be used as a quick-reaction tool where the derivation of analytical derivatives is laborious and also as a debugging tool for programs which contain derivatives.

351 citations


Journal ArticleDOI
TL;DR: An algorithm for assigning storage on the basis of EQUIVALENCE, DIMENSION and COMMON declarations is presented, and has reduced computation time by 40 percent over a previously published algorithm.
Abstract: An algorithm for assigning storage on the basis of EQUIVALENCE, DIMENSION and COMMON declarations is presented. The algorithm is based on a tree structure, and has reduced computation time by 40 percent over a previously published algorithm by identifying all equivalence classes with one scan of the EQUIVALENCE declarations. The method is applicable in any problem in which it is necessary to identify equivalence classes, given the element pairs defining the equivalence relation.

289 citations


Journal ArticleDOI
Robert W. Floyd1

218 citations


Journal ArticleDOI
TL;DR: This paper is dedicated to the proposition that, in order to take full advantage for real-time computations of highly parallel computers as can be expected to be available in the near future, much of numerical analysis will have to be recast in a more “parallel” form.
Abstract: This paper is dedicated to the proposition that, in order to take full advantage for real-time computations of highly parallel computers as can be expected to be available in the near future, much of numerical analysis will have to be recast in a more “parallel” form. By this is meant that serial algorithms ought to be replaced by algorithms which consist of several subtasks which can be computed without knowledge of the results of the other subtasks. As an example, a method is proposed for “parallelizing” the numerical integration of an ordinary differential equation, which process, by all standard methods, is entirely serial.

210 citations



Journal ArticleDOI
TL;DR: A technique for generating normally distributed random numbers is described, which is faster than those currently in general use and is readily applicable to both binary and decimal computers.
Abstract: A technique for generating normally distributed random numbers is described. It is faster than those currently in general use and is readily applicable to both binary and decimal computers.

Journal ArticleDOI
TL;DR: Computer programs for generating a minimum-redundancy exhaustive prefix encoding are described, which generates a Huffman frequency tree, another determines the structure functions of an encoding, and a third program assigns codes.
Abstract: Computer programs for generating a minimum-redundancy exhaustive prefix encoding are described. One program generates a Huffman frequency tree, another determines the structure functions of an encoding, and a third program assigns codes.

Journal ArticleDOI
Robert W. Floyd1
TL;DR: Bounded context grammars form models for most languages used in computer programming, and many methods of syntactic analysis, including analysis by operator precedence, are special cases of bounded context analysis.
Abstract: Certain phase structure grammars define languages in which the phrasehood and structure of a substring of a sentence may be determined by consideration of only a bounded context of the substring. It is possible to determine, for any specified bound on the number of contextual characters considered, whether a given grammar is such a bounded context grammar. Such grammars are free from syntactic ambiguity. Syntactic analysis of sentences in a bounded context language may be performed by a standard process and requires a number of operations proportional to the length of sentence analyzed.Bounded context grammars form models for most languages used in computer programming, and many methods of syntactic analysis, including analysis by operator precedence, are special cases of bounded context analysis.

Journal ArticleDOI
TL;DR: The creation of a computer center is not an ephemeral problem that can be delegated indiscriminately; it is one of the fundamental responsibilities of the top managers of the sovnarkhoz or enterprise and a unified plan is acutely needed.
Abstract: less than a two-month course in the fundamentals of electronic computers and their programming. The groups from the administrations should be under dual subordination, one line to the administration and one line to the chief of the design group. : Such an organization of effort will ensure the preparation of problems that arc of actual worth to the sovnarkhoz. The first part of the design should be to agree upon a concrete list of problems that can be solved on the computer with satisfactory efficiency. This will be a type of information model for the computer center. The second part of work should be the formulation of a technical design. This will depend entirely upon the results of the applications prepared. In accordance with the characteristics of the \"raw material\" (e.g. the volmne of data the type of problems proposed for solution, the !}: distribution of these throughout the course of the year), it will be necessary to choose the computer required, the (type ~ of arrangement of individual blocks, the means of conununications and the physical plant. aally, it will be necessary to study the influence of :omputation center on the work and structure of the ratus of the sowlarkhoz. It will be necessary to insure, the very beginning, a close and practical contact een these two. [d be advisable to include all of this in a concrete ional plan for carrying out the design work. should be controlled directly by the top management of the sowlarkhoz. The creation of a computer center is not an ephemeral problem that can be delegated indiscriminately; it is one of the fundamental responsibilities of the top managers of the sovnarkhoz or enterprise. At the present time, unfortunately, there is no unified plan for accomplishing the task of management automation ; and such a plan is acutely needed. It is extremely important to determine, furthermore, the particular implementors of that plan who would direct this sort of work on a statewide scale, in addition to the All-Union Institute of the Organization and Technology of Management in Minsk, it is necessary, in our opinion, to create similar institutes in a series of large economic regions. In these, design efforts should be carried out, and the institutes should have the responsibiliWv for implementing their recommendations. It would be advisable to create (more accurately to recreate) the journal, Technology of Management, for the exchange of opinion. …

Journal ArticleDOI
TL;DR: GIT—Graph Isomorphism Tester—incorporates a variety of processes that attempt to narrow down the search for an isomorphism, or to demonstrate that none exists.
Abstract: Given a pair of directed line graphs, the problem of ascertaining whether or not they are isomorphic is one for which no efficient algorithmic solution is known. Since a straightforward enumerative algorithm might require 40 years of running time on a very high speed computer in order to compare two 15-node graphs, a more sophisticated approach seems called for. The situation is similar to that prevailing in areas such as game-playing and theorem-proving, where practical algorithms are unknown (for the interesting cases), but where various practical though only partially successful techniques are available. GIT—Graph Isomorphism Tester—incorporates a variety of processes that attempt to narrow down the search for an isomorphism, or to demonstrate that none exists. No one scheme is relied upon exclusively for a solution, and the program is designed to avoid excessive computation along fruitless lines. GIT has been written in the COMIT language and successfully tested on the IBM 7090.

Journal ArticleDOI
TL;DR: One of the books you can enjoy now is recursive programming techniques here and it is your own time to continue reading habit.
Abstract: One day, you will discover a new adventure and knowledge by spending more money. But when? Do you think that you need to obtain those all requirements when having much money? Why don't you try to get something simple at first? That's something that will lead you to know more about the world, adventure, some places, history, entertainment, and more? It is your own time to continue reading habit. One of the books you can enjoy now is recursive programming techniques here.

Journal ArticleDOI
TL;DR: This paper gives examples and discusses the finite difference method for nonlinear two-point boundary-value problems and the easiest method of attacking these problems, shooting techniques.
Abstract: Solution of nonlinear two-point boundary-value problems is often an extremely difficult task. Quite apart from questions of reality and uniqueness, there is no established numerical technique for this problem. At present, shooting techniques are the easiest method of attacking these problems. When these fail, the more difficult method of finite differences can often be used to obtain a solution. This paper gives examples and discusses the finite difference method for nonlinear two-point boundary-value problems.

Journal ArticleDOI
TL;DR: A method for scheduling final examinations to yield a minimal number of student conflicts is described, achieved by repetitively evaluating a nonlinear set of equations.
Abstract: A method for scheduling final examinations to yield a minimal number of student conflicts is described. The “minimization” is achieved by repetitively evaluating a nonlinear set of equations. Imbedded in the process is a random or Monte Carlo selection of assignments. As in such heuristic techniques, the solution may not be optimum and many solutions may be found which yield locally minimal results. Computer programs are described and empirical results given.

Journal ArticleDOI
TL;DR: A previously proposed computer method for constructing timetables, based on an iteration involving Boolean matrices, is described, and in limited tests the method has successfully produced timetables on every trial.
Abstract: A previously proposed computer method for constructing timetables, based on an iteration involving Boolean matrices, is described. In limited tests the method has successfully produced timetables on every trial. References are given which relate the timetable problem to theorems on matrices of zeros and ones, and to theorems on bipartite graphs. Some problems of applying the method to constructing timetables in real situations are noted.

Journal ArticleDOI
TL;DR: A variety of problems concerning the design and operation of an automatic abstracting system are discussed and a general view of several major problem areas is presented.
Abstract: the 1440 system is under consideration. The program can be easily adjusted to solve a large variety of menu problems witl~ different sets of objectives. Acknowledgments. The author acknowledges the cooperation of Tulane Bio-Medical Computing System and Touro Infirmary, New Orleans, on the project with special appreciation for the support of Dr. A variety of problems concerning the design and operation of an automatic abstracting system are discussed. The purpose is to present a general view of several major problem areas. No attempt is made to discuss details or to indicate preferences among alternative solutions.

Journal ArticleDOI
TL;DR: A very fast method for generating exponential random variables in a digital computer is outlined and it is shown that this method can be very fast and efficient.
Abstract: A very fast method for generating exponential random variables in a digital computer is outlined.

Journal ArticleDOI
Jack M. Wolfe1
TL;DR: In accumulating a sum such as in a numerical integration with a large number of intervals, the sum itself becomes much larger than the individual addends.
Abstract: In accumulating a sum such as in a numerical integration with a large number of intervals, the sum itself becomes much larger than the individual addends. This may produce a less accurate sum as the number of intervals is increased.Separate variables can be established as accumulators to hold partial sums within various distinct intervals. Thus, the extensive successive truncations are eliminated.

Journal ArticleDOI
TL;DR: A detailed comparison is presented of COMIT, IPL-V, LISP 1.5 and SLIP--four well-known computer programming languages which, among them, exhibit all the principal characteristics of existing list-processing languages, concluding that no one of the languages considered is distinctly superior in all possible llst-processing applications.
Abstract: : A detailed comparison is presented of COMIT, IPL-V, LISP 1.5, and SLIP-four well-known computer programming languages which, among them, exhibit all the principal characteristics of existing list-processing languages. Important comon features of list-processing languages are reviewed: forms of data structures which are manipulated; necessity for dynamic allocation of storage; use of pushdown stores; and use of recursive operations. Principal differences between the four languages under consideration are detailed: representations of data, both by the programmer and within the machine; methods for storage allocation; programming formalisms and special processes available, including arithmetic facilities; and usability in terms of availability, documentation, learning aids, and debugging facilities. Finally, the authors give some heuristics to aid in the selection of one of these languages for use in particular problem applications, concluding that no one of the languages considered in distinctly superior over all possible list-processing applications. (Author)

Journal ArticleDOI
W. T. Comfort1
TL;DR: This report describes the use of two or more consecutive words as one element, which results in a considerable saving in both the space required to hold a given amount of data, and in the execution time required to perform a given process on the data.
Abstract: The list concept as originally proposed by Newell, Simon and Shaw specified single computer words as elements of a list. This report describes the use of two or more consecutive words as one element. Such use results in a considerable saving in both the space required to hold a given amount of data, and in the execution time required to perform a given process on the data.Following a brief description of standard list structures with single-word items, the multiword items are introduced. Then variable-length items are described, along with the corresponding space-utilization problems. Finally, several examples are given to illustrate the use of multiword lists.This paper attempts to draw together various recent papers which have applied some of these concepts in different ways, and indicate how they relate to the more general problem.

Journal ArticleDOI
TL;DR: A more efficient method of using tree structures is proposed, which utilizes both plus and minus branches in the search path, and very significant gains result when the search key includes alphabetic characters.
Abstract: A more efficient method of using tree structures is proposed, which utilizes both plus and minus branches in the search path. Very significant gains result when the search key includes alphabetic characters.

Journal ArticleDOI
TL;DR: It is shown that the inverse problem—that of determining electrical heart parameters on the basis of skin potential measurements—may be viewed as a nonlinear multipoint boundary value problem.
Abstract: A fundamental problem of vectorcardiography is the estimation of the state of the heart on the basis of skin potential measurements.A mathematical model relating ventricular dipoles to surface potentials is sketched. Then it is shown that the inverse problem—that of determining electrical heart parameters on the basis of skin potential measurements—may be viewed as a nonlinear multipoint boundary value problem.A feasible solution, employing quasilinearization and high-speed digital computers, is given.

Journal ArticleDOI
TL;DR: It is clear, then, that applications of the study of mechanical languages to programming must involve semantic questions; ADD must mean something more than the concatenation of three (not two) characters.
Abstract: The topics began with discussion of almost exclusively syntactic analysis and methods. Beginning with context-free phrase-structure languages, we considered limitations thereof to remove generative syntactic ambiguities (Floyd), and extensions thereto to introduce more context-dependence (Rose). As the conference proceeded we ran through a spectrum of considerations in which the expressions in the languages considered were examined less and less as meaningless objects (the formal, or purely syntactic approach, as in the paper by Steel) and required more and more meaningful interpretations. In other words, we became more and more involved with semantic considerations. It is clear, then, that applications of the study of mechanical languages to programming must involve semantic questions; ADD must mean something more than the concatenation of three (not two) characters. The papers beyond Session 1 were therefore discussing the mechanization of semantics, but in only one case did we hear about the formalization (and hence mechanization) of the specification of the semantics of a language (McCarthy).

Journal ArticleDOI
TL;DR: The ACM ALGOL committee has carefully studied the various proposals in an attempt to define a set of conventions for doing input and output which would be suitable for use on most computers, and the present report constitutes the recommendations of that committee.
Abstract: The ALGOL 60 language as first defined made no explicit reference to input and output processes. Such processes appeared to be quite dependent on the computer used, and so it was difficult to obtain agreement on those matters. As time has passed, a great many ALGOL compilers have come into use, and each compiler has incorporated some input-output facilities. Experience has shown that such facilities can be introduced in a manner which is compatible and consistent with the ALGOL language, and which (more importantly) is almost completely machine-independent. However, the existing implementations have taken many different approaches to the subject, and this has hampered the interchange of programs between installations. The ACM ALGOL committee has carefully studied the various proposals in an attempt to define a set of conventions for doing input and output which would be suitable for use on most computers. The present report constitutes the recommendations of that committee.

Journal ArticleDOI
TL;DR: Questions of economics of the proposed systems seemed to depend sensitively upon questions concerning the psychology of the potential user and it was suggested by the chairman that the audience in attendance consisted mainly of self-appointed expert psychologists and hence might not be objectively competent to answer these questions.
Abstract: pretation.\" The speaker readily admitted that full interpretation may lose time, and agreed that a good deal of partial compilation could be done. The only reason it had not been done was a desire to keep the system as flexible as possible in the course of development. Once again the question was raised as to what time was lost and whose time was lost. If a complicated system saving machine time loses the time of inventive occasional computers, then no obvious gain results. Questions of economics of the proposed systems seemed to depend sensitively upon questions concerning the psychology of the potential user. It was suggested by the chairman that the audience in attendance consisted mainly of self-appointed expert psychologists and hence might not be objectively competent to answer these questions.

Journal ArticleDOI
TL;DR: This procedure evaluates to d significant digits the Bessel functions da+=(x) for fixed a, x and for nn = 0, 1, •-•, nnmax.