Accession Number : ADA113723

Title :   Automatic Construction of Special Purpose Programs,


Personal Author(s) : Goad,Chris

PDF Url : ADA113723

Report Date : Jan 1982

Pagination or Media Count : 16

Abstract : According to the usual formulation of the automatic programming task, one starts with a specification of a programming problem, and seeks to automatically construct a program satisfying that specification. This paper concerns a different style of automatic programming. Rather than defining the class of programming problems to be dealt with by the language in which those problems are formulated, we instead consider classes of problems defined in ordinary mathematical terms. Also, our aims are different from the traditional aims of automatic programming in that we are interested primarily in increasing the efficiency of computations, rather than in transferring the burden of programming from human to computer. Let alpha(p, x, y) be a ternary predicate. Suppose that in the course of some large computation we are obliged to repeatedly compute values of y with alpha(p, x, y) from given values of p and x. Suppose further that in the sequence of p's and x's to be treated, p changes slowly and x rapidly. Then we seek to automatically synthesize a fast special purpose program A sub p for each p; A sub p is expected to compute a y with alpha(p, x, y) when given x as input. We present one example of special purpose automatic programming in detail, namely, a method for synthesizing special purpose programs for eliminating the hidden surfaces from displays of three dimensional scenes. (Hidden surface elimination is one of the central problems in three dimensional computer graphics). In a test of the method, a synthetic program specialized to treating a particular scene - but from an arbitrary point of view - proved to be an order of magnitude faster than the best available general purpose algorithm. (Author)

Descriptors :   *Automatic programming, Computer programming, Construction, Mathematical programming, Efficiency, Computations, Synthesis, Elimination, Algorithms, Coherence, Artificial intelligence, Surfaces, Three dimensional, Computer graphics

Subject Categories : Computer Programming and Software

Distribution Statement : APPROVED FOR PUBLIC RELEASE