Artificial Intelligence and Machine Learning
Structure of a LISP system using two-level storage
In an ideal list-processing system there would be enough core memory to contain all the data and programs. Described in this paper are a number of techniques that have been used to build a LISP system utilizing a drum for its principal storage medium, with a surprisingly low time penalty for use of this slow storage device. The techniques include careful segmentation of system programs, allocation of virtual memory to allow address arithmetic for type determination, and a special algorithm for building reasonably linearized lists. A scheme for binding variables is described which is good in this environment and allows for complete compatibility between compiled and interpreted programs with no special declarations.
An algorithm for generating root locus diagrams
A technique for using a digital computer to draw both ordinary and time-lag root locus diagrams is described. Ordinary diagrams are drawn much faster and more accurately than ever before. Time-lag diagrams, which had been impossible to obtain, are drawn with the same speed and accuracy as ordinary diagrams.
An application of computer-aided typesetting is introduced. A working method is described for publishing ALGOL by computerized translation from Hardware into Reference representation, computerized planning of typographical layout and computerized control of a typesetting machine. The point is made that experts in science, technology, and programming are guaranteed a correct ALGOL documentation without spending valuable time and power on typographic considerations and proofreading.
On the automatic simplification of source-language programs
Methods of simplification that can be applied automatically to programs written in an ALGOL-like language are discussed. The simplifications are based on the form of the program and the knowledge obtained by a processor, without any understanding of what the program is supposed to do. These methods have been implemented in a processor called SURE that accepts a program written in JOVIAL and outputs an equivalent JOVIAL program that may be shorter and may be executed faster than the original.
SURE is described, some of the problems encountered in automatic improvement at the source-language level are discussed, and further types of automatic program improvement are suggested.
The Nebulous future of machine translation
A report by the National Academy of Sciences that examines machine translation against the light of human translation has disturbed a good many research administrators in the government. So much bad publicity has been engendered by this report that the future of machine translation is uncertain, even though the technology is a scant twelve years old.
A note on computing approximations to the exponential function
Two methods are discussed which result in near minimax rational approximations to the exponential function and at the same time retain the desirable property that the approximation for negative values of the argument is the reciprocal of the approximation for corresponding positive values. These methods lead to approximations which are much superior to the commonly used convergents of the Gaussian continued fraction for the exponential. Coefficients and errors are given for the intervals [-1/2 ln 2, 1/2 ln 2] and [-ln 2, ln 2].
Two methods are discussed which result in near minimax rational approximations to the exponential function and at the same time retain the desirable property that the approximation for negative values of the argument is the reciprocal of the approximation for corresponding positive values. These methods lead to approximations which are much superior to the commonly used convergents of the Gaussian continued fraction for the exponential. Coefficients and errors are given for the intervals [-1/2 ln 2, 1/2 ln 2] and [-ln 2, ln 2].
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More