February 1972 - Vol. 15 No. 2

February 1972 issue cover image

Features

Research and Advances

A proposal for a computer-based interactive scientific community

Because of the problems created by the explosion of papers in the mathematical sciences and the drawbacks that this places on research, it is suggested that a tree of all mathematical results and terminology be maintained in a multiterminal computer system. Users of the system can store in the computer an updated file of their current knowledge, and on selecting a paper to read, they can obtain from the computer the minimum subtree of theorems required to bring them from what they already know to the background knowledge which the paper assumes. Under certain conditions, means are also provided for the contribution of useful comments by the readers of a work and for interaction between commentators and with the author. This paper describes how the system can be organized and the role required of readers, writers, and commentators.
Research and Advances

Preliminary report on a system for general space planning

A computer language and a set of programs within that language are described which allow the formulating and solving of a class of space planning problems. The language is an extension of Algol and includes means to represent spaces and objects, to manipulate them, and to test the resulting arrangements according to a variety of constraints. The algorithms used to solve problems expressed in this language rely on heuristic programming. Both the language and the search algorithms are detailed.
Research and Advances

Optimizing binary trees grown with a sorting algorithm

Items can be retrieved from binary trees grown with a form of the Algorithm Quicksort in an average time proportional to log n, where n is the number of items in the tree. The binary trees grown by this algorithm sometimes have some branches longer than others; therefore, it is possible to reduce the average retrieval time by restructuring the tree to make the branches as uniform in length as possible. An algorithm to do this is presented. The use of this algorithm is discussed, and it is compared with another which restructures the tree after each new item is added.
Research and Advances

Algorithm 419: zeros of a complex polynomial [C2]

The subroutine CPOLY is a Fortran program to find all the zeros of a complex polynomial by the three-stage complex algorithm described in Jenkins and Traub [4]. (An algorithm for real polynomials is given in [5].) The algorithm is similar in spirit to the two-stage algorithms studied by Traub [1, 2]. The program finds the zeros one at a time in roughly increasing order of modulus and deflates the polynomial to one of lower degree. The program is extremely fast and the timing is quite insensitive to the distribution of zeros. Extensive testing of an Algol version of the program, reported in Jenkins [3], has shown the program to be very reliable.
Research and Advances

Music and computer composition

The problem discussed is that of simulating human composition of Western popular music by computer and some relevant theories of music and harmony are given. Problems with this kind of program and several schemes that are known not to work are discussed. Several previous computer compositions are discussed, including the ILLIAC Suite. A program to generate short melody fragments was written to simulate some of the aspects of human composition. Five samples of its output are presented and discussed. It was discovered that although the fragments show many of the characteristics of popular melodies, they have a strangely alien sound. It is theorized that this is because the relevant probabilities which would discriminate against unfamiliar sequences were not used.

Recent Issues

  1. July 2024 CACM cover
    July 2024 Vol. 67 No. 7
  2. June 2024 Vol. 67 No. 6
  3. May 2024 CACM cover
    May 2024 Vol. 67 No. 5
  4. April 2024 CACM cover with text
    April 2024 Vol. 67 No. 4