Advertisement

Research and Advances

Significant event simulation

This paper compares a new method of simulation organization, called the significant event method, with an old one, called the clock pulse method, using as examples two automobile traffic models. The significant event method is found to be more efficient than the clock pulse method at low levels of system interaction and less efficient at high levels. A simple mathematical model for the trade-off in the relative running time of the two methods is developed. The model aids in choosing between the two simulation methods for a particular experiment. It is concluded that the significant event method can be of value in the simulation of some systems when computational efficiency is of sufficient importance.
Research and Advances

A heuristic problem solving design system for equipment or furniture layouts

The Designer Problem Solver (DPS) demonstrates that the computer can perform simple design tasks. In particular, it designs furniture and equipment layouts. This task was chosen because it is simple, well defined, and characteristic of many design tasks in architecture, engineering, urban planning, and natural resource management. These space planning tasks usually involve manipulating two-dimensional representations of objects to create feasible or optimal solutions for problems involving topological and metric spatial constraints. The paper describes extensive tests performed on the program. DPS is a heuristic problem solver with a planning phase prefixed to it. It uses the planning process to give it a sense of direction, diagnostic procedures to locate difficulties, and remedial actions to recover from difficulties. It uses a convex polygon representation to accurately describe the objects and the layout. This representation allows topological and metric constraints to be tested and the design to be easily updated. DPS has been applied to 50 problems. While it is slow and limited in scope, the ideas behind it are general. It demonstrates the need for selectivity in controlling search and the methods used to achieve it: task-specific information, planning, diagnostic procedures, remedial actions, and selective alternative generators.
Research and Advances

A syntactic algorithm for peak detection in waveforms with applications to cardiography

Peaks in a digitized waveform are detected by an algorithm incorporating piecewise linear approximation and tabular parsing techniques. Several parameters serve to identify the waveform context enabling accurate measurement of peak amplitude, duration, and shape. The algorithm is of sufficient speed to allow on-line real-time processing. An example of its application is demonstrated on an electrocardiogram.
Research and Advances

Copying cyclic list structures in linear time using bounded workspace

A bounded workspace copying algorithm for arbitrary list structures is given. This algorithm operates in linear time and does not require tag bits. The best previous bounded workspace copying algorithms achieved n2 time without tag bits and n log n time with one tag. The only restriction on the algorithm given here is that the copy must be placed into a contiguous section of memory. The method is applicable to fixed or variable size nodes.
Research and Advances

An intelligent analyzer and understander of English

The paper describes a working analysis and generation program for natural language, which handles paragraph length input. Its core is a system of preferential choice between deep semantic patterns, based on what we call “semantic density.” The system is contrasted: with syntax oriented linguistic approaches, and with theorem proving approaches to the understanding problem.
Research and Advances

A comparison of simulation event list algorithms

Four algorithms are considered which can be used to schedule events in a general purpose discrete simulation system. Two of the algorithms are new, one is based on an end-order tree structure for event notices, and another uses an indexed linear list. The algorithms are tested with a set of typical stochastic scheduling distributions especially chosen to show the advantages and limitations of the algorithms. The end-order tree algorithm is shown to be an advantageous, immediate replacement for the algorithm in use with current simulation languages. The most promising algorithm uses the indexed list concept. It will require an adaptive routine before it can be employed in general purpose simulators, but its performance is such that further study would be fruitful.
Research and Advances

The synthesis of solids bounded by many faces

A technique is presented which allows a class of solid objects to be synthesized and stored using a computer. Synthesis begins with primitive solids like a cube, wedge, or cylinder. Any solid can be moved, scaled, or rotated. Solids may also be added together or subtracted. Two algorithms to perform addition are described. For practical designers, the technique has the advantage that operations are concise, readily composed, and are given in terms of easily imagined solids. Quite short sequences of operations suffice to build up complex solids bounded by many faces.
Research and Advances

A system for typesetting mathematics

This paper describes the design and implementation of a system for typesetting mathematics. The language has been designed to be easy to learn and to use by people (for example, secretaries and mathematical typists) who know neither mathematics nor typesetting. Experience indicates that the language can be learned in an hour or so, for it has few rules and fewer exceptions. For typical expressions, the size and font changes, positioning, line drawing, and the like necessary to print according to mathematical conventions are all done automatically. For example, the input sum from i=0 to infinity x sub i = pi over 2 produces ∑∞i=0xi = &pgr;/2 The syntax of the language is specified by a small context-free grammar; a compiler-compiler is used to make a compiler that translates this language into typesetting commands. Output may be produced on either a phototypesetter or on a terminal with forward and reverse half-line motions. The system interfaces directly with text formatting programs, so mixtures of text and mathematics may be handled simply. This paper was typeset by the authors using the system described.
Research and Advances

Glypnir—a programming language for Illiac IV

GLYPNIR is one of the earliest existing languages designed for programming the Illiac IV computer. The syntax of the language is based on ALGOL 60, but has been extended to allow the programmer explicitly to specify the parallelism of his algorithm in terms of 64-word vectors. This paper describes the characteristics, goals, and philosophy of the language, and discusses some of the problems associated with parallel computer architectures.
Research and Advances

Sentence paraphrasing from a conceptual base

A model of natural language generation based on an underlying language-free representation of meaning is described. A program based on this model is able to produce sentence paraphrases which demonstrate understanding with respect to a given context. This generator operates in conjunction with a natural language analyzer and a combined memory and inference model. In generating sentences from meaning structures, the program employs both the information retrieval and deduction capabilities of the memory model. The model encompasses several diverse classes of linguistic knowledge, which include: (1) executable tests of conceptual properties stored in discrimination nets; (2) information relating conceptual to syntactic roles, stored in a word-sense dictionary, and (3) surface grammatical knowledge, stored in a formal grammar.
Research and Advances

Anaysis of interleaved memory systems using blockage buffers

A model of interleaved memory systems is presented, and the analysis of the model by Monte Carlo simulation is discussed. The simulations investigate the performance of various system structures, i.e. schemes for sending instruction and data requests to the memory system. Performance is measured by determining the distribution of the number of memory modules in operation during a memory cycle. An important observation from these investigations is that separately grouping instruction and data requests for memory can substantially increase the average number of memory modules in operation during a memory cycle. Results of the simulations and an analytical study are displayed for various system structures.
Research and Advances

State-space problem-reduction, and theorem proving—some relationships

This paper suggests a bidirectional relationship between state-space and problem-reduction representations. It presents a formalism based on multiple-input and multiple-output operators which provides a basis for viewing the two types of representations in this manner. A representation of the language recognition problem which is based on the Cocke parsing algorithm is used as an illustration. A method for representing problems in first-order logic in such a way that the inference system employed by a resolution-based theorem prover determines whether the set of clauses is interpreted in the state-space mode or in the problem-reduction mode is presented. The analogous concepts in problem-reduction and theorem proving, and the terminology used to refer to them, are noted. The relationship between problem-reduction, input resolution, and linear resolution is is discussed.
Research and Advances

A heuristic approach to inductive inference in fact retrieval systems

Heuristic procedures are presented which have been developed to perform inferences by generalizing from available information. The procedures make use of a similarity structure which is imposed on the data base using nonnumerical clustering algorithms. They are implemented in a model fact retrieval system which uses a formal query language and a property-list data structure. A program of experiments is described wherein the procedures are used with test data bases which are altered by deleting part of the data and by purposely introducing false data. It is found that the system can infer the correct response under a variety of conditions involving incomplete and inconsistent data.
Research and Advances

A comparison of list schedules for parallel processing systems

The problem of scheduling two or more processors to minimize the execution time of a program which consists of a set of partially ordered tasks is studied. Cases where task execution times are deterministic and others in which execution times are random variables are analyzed. It is shown that different algorithms suggested in the literature vary significantly in execution time and that the B-schedule of Coffman and Graham is near-optimal. A dynamic programming solution for the case in which execution times are random variables is presented.
Research and Advances

A graph formulation of a school scheduling algorithm

The problem classically titled “The Examination Schedule Problem” takes various forms in the literature. Most of these formulations can be presented in the terminology of classical Network Theory. One such formulation is: Given a nondirected network, partition its nodes into a minimal number of subsets such that no two members of the same subset are connected by an arc. An obvious lower limit to this number is the size of the largest strongly connected subgraph. Kirchgassner proved that an upper limit is this size plus one. One logical extension of the previous work is the introduction of variable length examinations where W(I) is the number of periods for exam I. The object of this paper is to generalize the definition of largest strongly connected subgraph to include the weighting of nodes, to present an approximate algorithm which usually finds the largest strongly connected subgraph, and to discuss the application of this algorithm to the solution of school scheduling and exam scheduling problems.
Research and Advances

Computer generation of gamma random variates with non-integral shape parameters

When the shape parameter, &agr;, is integral, generating gamma random variables with a digital computer is straightforward. There is no simple method for generating gamma random variates with non-integral shape parameters. A common procedure is to approximately generate such random variables by use of the so-called probability switch method. Another procedure, which is exact, is due to Jöhnk. This paper presents a rejection method for exactly generating gamma random variables when &agr; is greater than 1. The efficiency of the rejection method is shown to be better than the efficiency of Jöhnk's method. The paper concludes that when &agr; is non-integral the following mix of procedures yields the best combination of accuracy and efficiency: (1) when &agr; is less than 1, use Jöhnk's method; (2) when 1 is less than &agr; and &agr; is less than 5, use the rejection method; (3) when &agr; is greater than 5, use the probability switch method.

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 Involved

Communications 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