ppxscal/embedding_network huggingface dataset:
Topics for a second course in APL
Authors: Stephen B. Jaffe
Venue: Proceedings of the international conference on APL (1986)

After students complete the introductory APL course, after they become comfortable with the concepts and after they use it regularly in their work, then the problem of enhancing skills must be addressed. This paper presents a syllabus of three lectures which comprise part of a second course in APL. The purpose of Lecture I, MULTIDIMENSIONAL ARRAYS MADE EASY, is to help students deal with data stored in higher rank arrays. The idea of formulating such arrays frequently occurs naturally to users but they are reluctant to proceed because of the difficulty visualizing the arrangement. Six rules are presented to ease the way. Lecture II, SPECIAL USES OF THE GRADE AND SCAN, alerts students to approaches and techniques which would not typically occur to them. Interesting applications of the scan operator yield utilities which produce expansion vectors and indexing vectors based on field lengths. The grade and double grade form the core of other utilities to merge data and to affect table lookup. BUILDING BETTER USER/COMPUTER INTERFACES, Lecture III, is designed to facilitate delivering &ldquo;closed&rdquo; versions of &ldquo;open&rdquo; systems. Topics include a standard PROMPT utility, techniques in error trapping and a MENUDRIVEN MENUDRIVER.
Design and implementation of a very small linear algebra program package
Authors: John C. Nash
Venue: Communications of the ACM (1985)

Microcomputers, when properly programmed, have sufficient memory and speed to successfully perform serious calculations of modest size--linear equations, least squares, matrix inverse or generalized inverse, and the symmetric matrix eigenproblem.
A development environment for horizontal microcode programs
Authors: A. Aiken, A. Nicolau
Venue: Proceedings of the 19th annual workshop on Microprogramming (1986)

This paper describes a development environment for horizontal microcode. The environment uses Percolation Scheduling, a transformational system for parallelism extraction, and an interactive profiling system to give the user control over the microcode compaction process while reducing the burdensome details of architecture, correctness preservation, and synchronization. Through a graphical interface the user suggests what should be done in parallel, while the system performs the actual changes using semantics-preserving transformations. If a request cannot be satisfied, the system reports the problem causing the failure. The user may then help eliminate the problem by supplying guidance or information not explicit in the code.
Process for selecting microcomputer-based statistical software
Authors: Al Stutz
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

The proliferation of microcomputers in academic environments has increased interest in using them for statistical computations. In the past many of these computations were done with mainframe or minicomputers using a limited number of highly sophisticated and well supported packages. With the current influx of microcomputer based packages, faculty and researchers are moving their statistical applications from the larger systems to microcomputers. In addition, many faculty and researchers, unfamiliar with large computer systems, are rapidly discovering the use of microcomputer for statistical analysis. The Instruction and Research Computer Center at The Ohio State University has over the last four to five years tried to take a leadership role in the selection of microcomputer software. Basically, the Center assessed the need for software and match that need with the best software for the University. Approximately one and a half years ago the Center began evaluating microcomputer statistical software. In the past, evaluation teams usually consisted ordinarily of the Director of the Center and our microcomputer experts. This approach worked extremely well for communications, basic wordprocessing, basic spreadsheets, and simple databases. The variety of available statistical software packages and the diverse needs of our faculty and researchers dictated a different approach. A statistical software review committee evolved. This committee consisted of faculty, researchers, the center's microcomputer experts, the associate director, and the director. This document reviews the steps taken at The Ohio State University to select the software. We are only partially through the analysis and selection process. Hopefully by the time of the conference, we will able to report about the completed project.
A vertex-allocation theorem for resources in queuing networks
Authors: Satish K. Tripathi, C. Murray Woodside
Venue: Journal of the ACM (JACM) (1988)

A product-form queuing network with multiple open and closed chains is considered. Some of the closed chains, which have a single customer each, require allocation of resources in the network so as to maximize a weighted throughput performance criterion. Chains with more than one customer can be decomposed into many chains of one customer each. It is proved that an optimal allocation of resources lies on a vertex (extreme points) of the set of feasible allocations. This considerably reduces the search space for an optimal allocation. Applications of this result in distributed computing are discussed.
Automatic Sensor Placement from Vision Task Requirements
Authors: Cregg K. Cowan Peter D. Kovesi
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1988)

The problem of automatically generating the possible camera locations for observing an object is defined, and an approach to its solution is presented. The approach, which uses models of the object and the camera, is based on meeting the requirements that: the spatial resolution be above a minimum value, all surface points be in focus, all surfaces lie within the sensor field of view and no surface points be occluded. The approach converts each sensing requirement into a geometric constraint on the sensor location, from which the three-dimensional region of viewpoints that satisfies that constraint is computed. The intersection of these regions is the space where a sensor may be located. The extension of this approach to laser-scanner range sensors is also described. Examples illustrate the resolution, focus, and field-of-view constraints for two vision tasks.
Efficient parallel solution of linear systems
Authors: V Pan, J Reif
Venue: Proceedings of the seventeenth annual ACM symposium on Theory of computing (1985)

The most efficient known parallel algorithms for inversion of a nonsingular n &times; n matrix A or solving a linear system Ax = b over the rationals require &Ogr;(log n)2 time and M(n)n0.5 processors (where M(n) is the number of processors required in order to multiply two n &times; n rational matrices in time &Ogr;(log n).) Furthermore, all known polylog time algorithms for those problems are unstable: they require the calculation to be done with perfect precision; otherwise they give no results at all. This paper describes parallel algorithms that have good numerical stability and remain efficient as n grows large. In particular, we describe a quadratically convergent iterative method that gives the inverse (within the relative precision 2-nO(1)) of an n &times; n rational matrix A with condition &le; n0(1) in &Ogr;(log n)2 time using M(n) processors. This is the optimum processor bound and the factor n0.5 improvement of known processor bounds for polylog time matrix inversion. It is the first known polylog time algorithm that is numerically stable. The algorithm relies on our method of computing an approximate inverse of A that involves &Ogr;(log n) parallel steps and n2 processors. Also, we give a parallel algorithm for solution of a linear system Ax = b with a sparse n &times; n symmetric positive definite matrix A. If the graph G(A) (which has n vertices and has an edge for each nonzero entry of A) is s(n)-separable, then our algorithm requires only &Ogr;((log n)(log s(n))2) time and |E| + M(s(n)) processors. The algorithm computes a recursive factorization of A so that the solution of any other linear system Ax = b&prime; with the same matrix A requires only &Ogr;(log n log s(n)) time and |E| + s(n)2 processors.
On the use of naming and binding in early courses
Authors: Mark Smotherman
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

In most computer science curricula, the concepts of naming and binding are explicitly treated only in a small number of the later courses, such as operating systems and programming language foundations. However, these concepts are fundamental and underlie the whole of computer science. In this paper, a proposal is made to explicitly introduce these concepts in the second or third course so that they may be used in the analysis of ideas encountered throughout a student's program of study. The benefit of this earlier introduction is demonstrated by detailing how a computer organization course can explicitly incorporate these concepts. These concepts can also be used to advantage in other early courses, such as data structures.
Implementation as a means of reducing simulation costs
Authors: John C Comfort
Venue: ACM SIGSIM Simulation Digest (1986)

The high cost of simulation has been well documented, and is a significant problem in many applications. In this paper, several existing methods for cost control and reduction are mentioned, and a modest proposal for drastically reducing simulation cost is presented.
Abstract Data Type Development and Implementation: An Example
Authors: Ray Ford, Keith Miller
Venue: IEEE Transactions on Software Engineering (1985)

Data abstraction is an effective tool in the design of complex systems, and the representation independence it provides is a key factor in the maintenance and adaptation of software systems. This paper describes a system development methodology based on the development of hierarchies of abstract data types (ADT's). The methodology preserves a high degree of representation independence throughout both the design and implementation of complex systems. The methodology is illustrated with examples from the design and implementation of a Vision Research Programming System. These examples include ADT specifications, ADT interface specifications, and partial implementation code for the system in two different programming languages, Ada1 and Fortran.
The benefits of laboratory testing for usability
Authors: Lovie A Melkus
Venue: Proceedings of the twenty-first annual conference on Computer personnel research (1985)

The use of a usability test laboratory for software products can directly affect products. Error messages, instructions, panel design, and system flow can all be improved when system developers are able to observe users interacting with software products, attempting to solve real-world problems with a system in the process of development. Furthermore, the use of a usability laboratory can have, in addition to this direct effect on the quality of a particular software system, can have a less direct (but perhaps more powerful) impact on procedures within the development organization. Usability testing can raise the level of human factors awareness among developers, while providing an objective arena in which programmers, writers, human factors specialists, and other support personnel can evaluate the usability of application software.
A montage method: the overlaying of the computer generated images onto a background photograph
Authors: Eihachiro Nakamae, Koichi Harada, Takao Ishizaki, Tomoyuki Nishita
Venue: ACM SIGGRAPH Computer Graphics (1986)

A system of computer programs has been established to generate high quality montage image of considerable usefulness in architectural simulation which combine computer-generated images and photographed background pictures.Traditionally, there are two methods of creating architectural montages: (1) an artist paints new buildings onto a background scene usually generated photographically, and (2) a three-dimensional scale model is created to simulate the whole landscape, and this model is then photographed. The montage method described here combines aspects of both traditional montage methods with significant improvement in accuracy and reduction of time and cost of preparation. Specifically, a digitized photograph is used as a background scene onto which is superimposed a 3D computer-generated image of a new building. The outstanding points of the new method are:(i) The shading and shadows of each computer generated image are calculated with higher accuracy, (ii) the fog effect is taken into account, and (iii) a new anti-aliasing technique improves the quality of the final montage image.
Implications of APL2 grammar
Authors: J. Philip Benkard
Venue: Proceedings of the international conference on APL: APL in transition (1987)

A subtle but pervasive feature of APL2 is its new way of describing syntax. It is based on an ordered list of ordered pairs of syntactic classes. Position in the list corresponds to the strength of the syntactic bond between objects of the classes in the pair. The single rule of execution is to scan from the right until the binding drops and then evaluate the pair of objects just scanned. The new simple view of syntax suggests some straightforward extensions to the language which do not complicate the syntax and address such areas as: specifying a variable number of iterations of EACH in a manner analogous to the way a power operator can specify iterations of a function. using similar and similarly simple expressions to apply structural functions and operators, for example (2 3 &uarr;)&Prime; A B C and (2 3 /)&Prime; A B C require, respectively, that the named objects be of rank 2 and of length 2 (after scalar extension). The first expression is, of course, not valid today; the second is, and the parentheses are redundant. creating arrays of objects other than data, a subject treated in several papers in recent years a number of identities involving functions and operators, including some which provide compact notation for concepts of elementary arithmetic. the elevators of Landaeta, which are only possible if a language contains identically structured expressions for objects of different symbolic classes, provide a way of describing analogues of an operation in different syntactic classes. These lead to an interesting new diagrammatic way of expressing identities.
On the overall reliability of hardware/software systems
Authors: F. B. Bastani, E. L. Leiss
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

Embedded computer systems are used for critical real-time process-control applications such as nuclear power plant safety control systems. The reliability of these systems must be estimated prior to using them due to the catastrophic consequences of any failures. Over the past two decades several methods have been developed for assessing the reliability of hardware and software systems separately. It has generally been assumed that the system reliability can be computed by treating the software and hardware subsystems as having independent failure processes. However, in this paper we show that there are cases where the reliability objective of the software (other than those determined by residual faults) influences the mission time and, hence, the reliability of the hardware subsystem.
Designing information system task teams
Authors: Richard Leifer, Kathy B White
Venue: Proceedings of the twenty-first annual conference on Computer personnel research (1985)

A theoretical model is suggested for designing information systems task teams based on a contingency approach using characteristics of the task, the environment and types of people as contingency variables. A fourth variable, systems design phase, is also considered for suggesting differences in the staffing and operations of task teams. The basic assumption is that staffing, ways of operating, ways of reaching decisions, and measures of task team effectiveness will vary during the systems development process.
The page number of genus g graphs is (g)
Authors: L. Heath, S. Istrail
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

This paper disproves the conjecture that graphs of fixed genus g &le; 1 have unbounded pagenumber (Bernhart and Kainen, 1979). We show that genus g graphs can be embedded in &Ogr;(g) pages, and derive an &OHgr;(&radic;g) lower bound. We present the first algorithm in the literature for embedding an arbitrary graph in a book with a non-trivial upper bound on the number of pages. We first compute the genus g of a graph using the algorithm of Filotti, Miller, Reif (1979), and then apply our (optimal-time) algorithm for obtaining an &Ogr;(g) page embedding. An important aspect of our construction is a new decomposition theorem, of independent interest, for a graph embedded on a surface. Book embedding has application in several areas, two of which are directly related to the results we obtain: fault-tolerant VLSI and complexity theory.
A tagged token dataflow machine for computing small, iterative algorithms
Authors: G. B. Shippen, J. K. Archibald
Venue: ACM SIGARCH Computer Architecture News (1987)

A "buildable" dynamic tagged token data flow architecture tailored for small, highly iterative algorithms such as the Mandelbrot set is presented. Historically, dataflow machines have required a major hardware effort to construct. As a result, very few real machines have been built. In contrast to these large scale machines, this project was intended to be built at minimal expense and with "off-the-shelf" parts. A novel insight into the process of executing a dataflow graph is presented. This insight has resulted in a new architecture utilizing a "pseudo-program counter". This scheme allows a significant reduction in the width of the data paths throughout the PE interconnection network. To further reduce the required hardware, the traditional associative matching store has been eliminated in favor of a more brute-force approach that is workable for the class of algorithms considered for execution on this machine.
Profiles in computing: Donald E. Knuth: scholar with a passion for the particular
Authors: Karen A. Frenkel
Venue: Communications of the ACM (1987)

"Age 30 is kind of appropriate because I got the first copy of volume 1 from the publisher nine days after my 30th birthday. So, a large part of the work had been done when I was 30 years old. They already were working on typesetting the second volume." Commenting on his books' influence, Knuth says, "It's been phenomenal from my point of view. In 1976 a study was done of how many people writing papers on computer science made a reference to my book somewhere in their articles, and it was found that about 30 percent of the papers in Communications, Journal of the ACM, and SIAM Journal on Computing cited the book. So it has an impact in that way." What about sales? Knuth notes that publishers may joke about professors whose books never sell, but they don't apply here. "I know that people buy the book. I don't know how many read it. But the sales have been incredible. I think something between 1000 and 2000 copies [have been sold] per month for 20 years."
The ultimate RISC
Authors: Douglas W. Jones
Venue: ACM SIGARCH Computer Architecture News (1988)

Reduced instruction set computer (RISC) architectures have attracted considerable interest during the past decade. The ultimate RISC architecture presented here is an extreme yet simple illustration of such an architecture. It has only one instruction, move memory to memory, yet it is useful.
Object representation by means of nonminimal division quadtrees and octrees
Authors: D. Ayala, P. Brunet, R. Juan, I. Navazo
Venue: ACM Transactions on Graphics (TOG) (1985)

Quadtree representation of two-dimensional objects is performed with a tree that describes the recursive subdivision of the more complex parts of a picture until the desired resolution is reached. At the end, all the leaves of the tree are square cells that lie completely inside or outside the object. There are two great disadvantages in the use of quadtrees as a representation scheme for objects in geometric modeling system: The amount of memory required for polygonal objects is too great, and it is difficult to recompute the boundary representation of the object after some Boolean operations have been performed. In the present paper a new class of quadtrees, in which nodes may contain zero or one edge, is introduced. By using these quadtrees, storage requirements are reduced and it is possible to obtain the exact backward conversion to boundary representation. Algorithms for the generation of the quadtree, Boolean operations, and recomputation of the boundary representation are presented, and their complexities in time and space are discussed. Three-dimensional algorithms working on octrees are also presented. Their use in the geometric modeling of three-dimensional polyhedral objects is discussed.
On the Schur Decomposition of a Matrix for Parallel Computation
Authors: P. J. Eberlein
Venue: IEEE Transactions on Computers (1987)

An algorithm to solve the eigenproblem for nonsymmetric matrices on an N × N array of mesh-connected processors, isomorphic to the architecture described by Brent and Luk for symmetric matrices, is presented. This algorithm is a generalization of the classical Jacobi method, and, as such, holds promise for parallel architectures. The rotational parameters for the nonsymmetric case are carefully analyzed; many examples of a working program, simulating the parallel architecture, are given with experimental evidence of quadratic convergence.
Ray tracing complex models containing surface tessellations
Authors: John M. Snyder, Alan H. Barr
Venue: Proceedings of the 14th annual conference on Computer graphics and interactive techniques (1987)

An approach to ray tracing complex models containing mathematically defined surfaces is presented. Parametric and implicit surfaces, and boolean combinations of these, are first tessellated into triangles. The resulting triangles from many such surfaces are organized in a hierachy of lists and 3D grids, allowing efficient calculation of ray/model intersections.The technique has been used to ray trace models containing billions of traiangles and surfaces never before ray traced. The organizing scheme developed is also independently useful for efficiently ray tracing any complex model, whether or not it contains surface tessellations.
Determining an Optimal Secondary Storage Service Rate for the PASM Control System
Authors: David Lee Tuomenoksa, Howard Jay Siegel
Venue: IEEE Transactions on Computers (1986)

One class of reconfigurable parallel processing systems is based on the use of a large number of processing elements which can be partitioned into multiple virtual machines. Each virtual machine is controlled by one or more control units. The multiple control units in such a system share a common secondary storage for programs. The control units use paging to transfer programs to their primary memories. One design problem is determining the optimal service rate for the secondary storage of the control units, where the "optimal" is characterized by maximum processor utilization. The PASM parallel processing system is used as a example system to study this problem. The implementation of virtual memory on the PASM control system memory hierarchy is discussed and a queueing network model for the memory hierarchy is developed. Based on assumed values for parameters that characterize the expected task environment, an optimal service rate is derived from the model. The values of the parameters in the model can be varied to determine the impact these changes would have on system performance. Simulation results verifying various aspects of the model are presented and the results are generalized.