ppxscal/embedding_network huggingface dataset:
High performance integrated Prolog processor IPP
Authors: S. Abe, T. Bandoh, S. Yamaguchi, K. Kurosawa, K. Kiriyama
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

To realize the highest performance possible for a sequential processor, and to realize utilization of a large amount of existing software, an integrated Prolog processor (IPP) and its optimized compiler are now being developed. A tagged architecture under constraints of a general purpose computer and a memory management strategy to achieve a high performance are discussed and then an IPP architecture is presented. Based on the Prolog instruction set, which is an extension of Warren's, the Prolog compiler introduces new functions such as indexing by the optimal argument and global register assignment across determinate built-in predicates. The performance of the IPP for the append program is 1 million logical inferences per second, which is the highest possible for a sequential processor. In the 8-queen program a considerable speed-up is obtained by the new functions.
The linked class of Modula-3
Authors: E. Levy
Venue: ACM SIGPLAN Notices (1988)

The desirability of providing built-in linked list support for the next generation of system programming languages is discussed. A Modula-2 pseudo inheritance implementation is given that demonstrates a proposed set of primitives. A set of rules are specified that enhance reliability without adding significant restrictions. Benefits to concurrency control are described.
Finite Field Fault-Tolerant Digital Filtering Architectures
Authors: G. R. Redinbo
Venue: IEEE Transactions on Computers (1987)

Digital filtering architectures that simultaneously offer advantages for VLSI fabrication and contain distributed error control are presented. Such structures require parallelism as well as inherent error- control capabilities because VLSI implementations are susceptible to temporary and intermittent hardware errors. The filtering convolution operation is similar to the formation of cyclicerror-correcting codes so that fault-tolerant systems employing finite field arithmetic may be designed containing such codes imbedded directly in the architecture. The interconnection of such systems produces a fault-tolerant system. In addition, the subsystems possess a common design structure which is easily customized to the particular field required, an attractive feature for yield enhancement. Straightforward realizations depending on parallel algebraic decompositions are studied, introducing the locations for fault tolerance and the role of cyclic codes.
Is the unified keyboard better?
Authors: Murray Eisenberg
Venue: ACM SIGAPL APL Quote Quad (1988)

This article reports the results of a small-scale study of novice APL programmers' preferences for the "unified" APL keyboard layout as opposed to the standard APL layout.
Adding range restriction capability to dynamic data structures
Authors: Dan E. Willard, George S. Lueker
Venue: Journal of the ACM (JACM) (1985)

A database is said to allow range restrictions if one may request that only records with some specified field in a specified range be considered when answering a given query. A transformation is presented that enables range restrictions to be added to an arbitrary dynamic data structure on n elements, provided that the problem satisfies a certain decomposability condition and that one is willing to allow increases by a factor of O(log n) in the worst-case time for an operation and in the space used. This is a generalization of a known transformation that works for static structures. This transformation is then used to produce a data structure for range queries in k dimensions with worst-case times of O(logk n) for each insertion, deletion, or query operation.
Optimal scheduling policies for a class of queues with customer deadlines to the beginning of service
Authors: Shivendra S. Panwar, Don Towsley, Jack K. Wolf
Venue: Journal of the ACM (JACM) (1988)

Many problems can be modeled as single-server queues with impatient customers. An example is that of the transmission of voice packets over a packet-switched network. If the voice packets do not reach their destination within a certain time interval of their transmission, they are useless to the receiver and considered lost. It is therefore desirable to schedule the customers such that the fraction of customers served within their respective deadlines is maximized. For this measure of performance, it is shown that the shortest time to extinction (STE) policy is optimal for a class of continuous and discrete time nonpreemptive M/G/1 queues that do not allow unforced idle times. When unforced idle times are allowed, the best policies belong to the class of shortest time to extinction with inserted idle time (STEI) policies. An STEI policy requires that the customer closest to his or her deadline be scheduled whenever it schedules a customer. It also has the choice of inserting idle times while the queue is nonempty. It is also shown that the STE policy is optimal for the discrete time G/D/1 queue where all customers receive one unit of service. The paper concludes with a comparison of the expected customer loss using an STE policy with that of the first-come, first-served (FCFS) scheduling policy for one specific queue.
A logic-programming/object-oriented cocktail
Authors: Francois Bancilhon
Venue: ACM SIGMOD Record (1986)

I define a simple data model which is based on an object oriented approach and uses logic programming as a computational model. The query part of the data model is purely declarative and has a fixpoint semantics, while the update part is imperative and uses assignments.
Automatic differentiation in prose
Authors: F W Pfeiffer
Venue: ACM SIGNUM Newsletter (1987)

Much of the popular numerical software for solving nonlinear equations and nonlinear optimization problems require arrays of partial derivatives. Computing these derivatives efficiently and accurately has been an obstacle since the time of Newton. A little-known approach to computing derivatives, however, has made this obstacle disappear for users of one programming language. This short article presents an overview of the approach and its implementation in the language.
The polynomial-time hierarchy and sparse oracles
Authors: Jose L. Balcázar, Ronald V. Book, Uwe Schöning
Venue: Journal of the ACM (JACM) (1986)

Questions about the polynomial-time hierarchy are studied. In particular, the questions, &ldquo;Does the polynomial-time hierarchy collapse?&rdquo; and &ldquo;Is the union of the hierarchy equal to PSPACE?&rdquo; are considered, along with others comparing the union of the hierarchy with certain probabilistic classes. In each case it is shown that the answer is &ldquo;yes&rdquo; if and only if for every sparse set S, the answer is &ldquo;yes&rdquo; when the classes are relativized to S if and only if there exists a sparse set S such that the answer is &ldquo;yes&rdquo; when the classes are relativized to S. Thus, in each case the question is answered if it is answered for any arbitrary sparse oracle set.Long and Selman first proved that the polynomial-time hierarchy collapses if and only if for every sparse set S, the hierarchy relative to S collapses. This result is re-proved here by a different technique.
The standards factor
Authors: Jonathan Grudin
Venue: ACM SIGCHI Bulletin (1988)

As described in past columns, several national and international standards development groups are undertaking new work items in the user interface area. This report describes the work of one such group, X3V1.9, and its relationship to standards activity in ANSI, ISO, the Human Factors Society Human-Computer Interaction Standards Committee, and other groups. If ACM SIGCHI or its members wish to become more involved in standards activity, X3V1.9 might be a logical focus, both strategically and tactically, for such an effort. This report is intended to provide background information for deciding whether we should be more involved; it concludes with some alternatives for what form such involvement might take.
The Titan Graphics Supercomputer Architecture
Authors: Tom Diede, Carl F. Hagenmaier, Glen S. Miranker, Jonathan J. Rubinstein, William S. Worley,  Jr.
Venue: Computer (1988)

The design criteria for the Titan are outlined, and the hardware, architecture, and implementation developed to meet them are examined. The key architectural elements in Titan are described, and the reasoning behind their selection is presented. Titan's processor subsystem is explored, focusing on how it reduces the cost and complexity of graphics-specific hardware. The design constraints and implementation of the I/O subsystem are discussed. The Titan operating system, compilers, and graphics software are described, and a statistical summary of Titan's performance is given.
Comparison of elderly and younger users on keyboard and voice input computer-based composition tasks
Authors: V. Ogozalek, J. Van Praag
Venue: ACM SIGCHI Bulletin (1986)

An experiment was run in which elderly and younger people used a keyboard editor and a simulated listening typewriter to compose letters. Performance was measured and participants rated the systems used. Our general conclusions were as follows: There are no major differences in performance between elderly computer users and their younger counterparts in carrying out a computer-based composition task. Elders appear to be more enthusiastic users of computer systems than are younger people. This is shown by preference ratings, behavioral observations, and post-experimental debriefings. Voice input does not improve performance on composition tasks, but it is greatly preferred over the traditional keyboard input method.
Assembling a low-cost parallel microcomputer system for student experimentation
Authors: Robert J. Diersing
Venue: ACM SIGSMALL/PC Notes (1987)

This paper presents an overview of a project wherein an MIMD parallel microcomputer system is being assembled primarily from available hardware and software system components. The basic system is a Z-80A S-100 bus microcomputer system to which processing elements originally intended to be intelligent input/output processors have been added along with a shared memory unit. The system was originally a message-passing system but later became a hybrid system with the addition of the shared memory.System software has been written to allow the host program to control the execution of programs in the processing elements. Support has been provided for PL/I-80 language supplied by Digital Research of California and the Z-80 C compiler supplied by Cromemco Incorporated.The motivation for construction of the system is to provide a small-scale parallel microcomputer system for student experimentation for the least possible cost. The system is currently being expanded to include four processing elements in addition to the host.
Control system development tools
Authors: Scott Kimbrough
Venue: Proceedings of the international conference on APL: APL in transition (1987)

This paper provides a core of APL algorithms for control system development and demonstrates their use by solving a typical control problem. In doing so it outlines useful numerical techniques for simulating dynamic systems and for solving some of the central equations of control theory. Although some sections of the paper are addressed to APL2 users, the majority of the paper applies to APL. Moreover, by doing a little extra work to handle complex numbers and by installing a &ldquo;callable&rdquo; compiled eigenvalue-eigenvector routine, all of the material presented can be adapted to any APL system. While APL is a comfortable environment for control system development, APL2 contains two especially useful enhancements: 1) complex numbers included in a natural way, and 2) the function EIGEN. APL2's facility with complex numbers permits the direct and clear coding of frequency domain methods such as root locus, bode plots, and the generation of transfer functions. APL2's facility with complex numbers also makes it possible to include a native eigenvalue-eigenvector utility function, EIGEN. This function generates the eigenvalues and eigenvectors of general square matrices, which can then be used for root locus studies, for transforming system equations to canonical forms, and for efficiently solving the Riccati and Lyapunov equations. Non-EIGEN-based functions are also provided so that all APL users will find enough tools to model, simulate, analyze, and develop regulators, observers, and filters for linear dynamic systems.
Simple algebras are difficult
Authors: L. Ronyai
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

Let F be a finite field or an algebraic number field. In previous work we have shown how to find the basic building blocks (the radical and the simple components) of a finite dimensional algebra over F in polynomial time (deterministically in characteristic zero and Las Vegas in the finite case). Here we address the more general problem of finding zero divisors in A. This problem is equivalent to finding a nontrivial common invariant subspace of a set of linear operators and includes, as a subcase, the problem of factoring polynomials over the field in question. In [FR] the problem of zero divisors has been reduced, in polynomial time (Las Vegas in the finite case), to the case of simple algebras. We show that, while zero divisors can be found in Las Vegas polynomial time if F is finite, the problem over the rationals might be substantially more difficult. We link the problem to hard number theoretic problems such as quadratic residuosity modulo a composite number. We show that assuming the Generalized Riemann Hypothesis, there exists a randomized polynomial time reduction from quadratic residuosity to determining whether or not a given 4-dimensional algebra over Q has zero divisors. It will follow that finding a pair of zero divisors is at least as hard as factoring squarefree integers. As for the finite case, we give a polynomial time Las Vegas method to construct explicit isomorphisms of matrix algebras. Applications include an algorithm to solve the problem of finding common invariant subspaces for a set of linear operators. Another application answers a question of W. M. Kantor on permutation groups. Finally, as another application of the GRH, we mention a partial result on deterministic factoring over finite fields.
Decomposing an N-ary relation into a tree of binary relations
Authors: R. Dechter
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

We present an efficient algorithm for decomposing an n-ary relation into a tree of binary relations, and provide an efficient test for checking whether or not the tree formed represents the relation. If there exists a tree-decomposition, the algorithm is guaranteed to find one, otherwise, the tree generated will fail the test, then indicating that no tree decomposition exist. The unique features of the algorithm presented in this paper, is that it does not apriori assume any dependencies in the initial relation, rather it derives such dependencies from the bare relation instance.
On real-time transactions
Authors: John A. Stankovic, Wei Zhao
Venue: ACM SIGMOD Record (1988)

Next generation real-time systems will require greater flexibility and predictability than is commonly found in today's systems. These future systems include the space station, integrated vision/robotics/AI systems, collections of humans/robots coordinating to achieve common objectives (usually in hazardous environments such as undersea exploration or chemical plants), and various command and control applications. The complexity of such systems due to timing constraints, concurrency, and distribution is high. It is accepted that the synchronization, failure atomicity, and permanence properties of transactions aid in the development of distributed systems. However, little work has been done in exploiting transactions in a real-time context. We have been attempting to categorize real-time data into classes depending on their time, synchronization, atomicity, and permanence properties. Then, using the semantics of the data and the applications, we are developing special, tailored, real-time transactions that only supply the minimal properties necessary for that class. This reduces the system overhead in supporting access to various types of data. The eventual goal is to verify that timing requirements can be met.
A third generation Smalltalk-80 implementation
Authors: Patrick J. Caudill, Allen Wirfs-Brock
Venue: ACM SIGPLAN Notices (1986)

A new, high performance Smalltalk-80&trade; implementation is described which builds directly upon two previous implementation efforts. This implementation supports a large object space while retaining compatibility with previous Smalltalk-80&trade; images. The implementation utilizes a interpreter which incorporates a generation based garbage collector and which does not have an object table. This paper describes the design decisions which lead to this implementation and reports preliminary performance results.
User-friendliness in a professional programming environment
Authors: T. Ichikawa
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

Recently, the utilization of visual information to assist interaction between the programmer and the computer has been of growing interest especially in connection with the workstation technologies for the purpose of attaining friendly programming environment [1].
On modeling of information retrieval concepts in vector spaces
Authors: S. K.M. Wong, W. Ziarko, V. V. Raghavan, P. C.N. Wong
Venue: ACM Transactions on Database Systems (TODS) (1987)

The Vector Space Model (VSM) has been adopted in information retrieval as a means of coping with inexact representation of documents and queries, and the resulting difficulties in determining the relevance of a document relative to a given query. The major problem in employing this approach is that the explicit representation of term vectors is not known a priori. Consequently, earlier researchers made the assumption that the vectors corresponding to terms are pairwise orthogonal. Such an assumption is clearly unrealistic. Although attempts have been made to compensate for this assumption by some separate, corrective steps, such methods are ad hoc and, in most cases, formally inconsistent. In this paper, a generalization of the VSM, called the GVSM, is advanced. The developments provide a solution not only for the computation of a measure of similarity (correlation) between terms, but also for the incorporation of these similarities into the retrieval process. The major strength of the GVSM derives from the fact that it is theoretically sound and elegant. Furthermore, experimental evaluation of the model on several test collections indicates that the performance is better than that of the VSM. Experiments have been performed on some variations of the GVSM, and all these results have also been compared to those of the VSM, based on inverse document frequency weighting. These results and some ideas for the efficient implementation of the GVSM are discussed.
A Configurable Pixel Cache for Fast Image Generation
Authors: Andy Goris, Bob Fredrickson, Harold L. Baeverstad,  Jr.
Venue: IEEE Computer Graphics and Applications (1987)

This article describes an approach to fast image generation that uses a high-speed serial scan converter, a somewhat slower frame buffer, and a pixel cache to match the bandwidth between the two. Cache hit rates are improved by configuring the cache to buffer either 4 × 4 or 16 × 1 tiles of frame memory, depending on the type of operation being performed. For line drawing, the implenmention discribed can process 300,000 30-pixel vectors per second. For shaded polygons, the system can fill 16,000 900-pixel polygons per second. In addition to buffering pixel intensity data, the pixel cache also buffer z (depth) values, improving the performance of the z-buffer hidden-surface algorithm. By utilizing z-value caching, the system can process 5800 900-pixel shaded polygons per second with hidden-surface removed.
Encryption and Error-Correction Coding Using D Sequences
Authors: Subhash C. Kak
Venue: IEEE Transactions on Computers (1985)

This paper presents several new properties of D sequences that have applications to encryption and error coding. It also considers the problem of joint encryption and error-correction coding and proposes a solution using D sequences. The encryption operation considered is equivalent to exponentiation, which forms the basis of several public-key schemes. An application of D sequences to generating events with specified probabilities is also presented.
Predicting student performance in a beginning computer science class
Authors: Laurie Honour Werth
Venue: ACM SIGCSE Bulletin (1986)

This study investigated the relationship between the student's grade in a beginning computer science course and their sex, age, high school and college academic performance, number of mathematics courses, and work experience. Standard measures of cognitive development, cognitive style, and personality factors were also given to 58 students in three sections of the beginning Pascal programming class. Significant relationships were found between the letter grade and the students' college grades, the number of hours worked and the number of high school mathematics classes. Both the Group Embedded Figures Test (GEFT) and the measure of Piagetian intellectual development stages were also significantly correlated with grade in the course. There was no relationship between grade and the personality type, as measured by the Myers-Briggs Type Indicator (MBTI); however, an interesting and distinctive personality profile was evident.
Optimizing datalog programs
Authors: Y. Sagiv
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

Datalog programs, i.e., Prolog programs without function symbols, are considered It is assumed that a variable appearing in the head of a rule must also appear in the body of the rule. The input of a program is a set of ground atoms (which are given in addition to the program's rules) and, therefore, can be viewed as an assignment of relations to some of the program's predicates. Two programs are equivalent if they produce the same result for all possible assignments of relations to the extensional predicates (i.e., the predicates that do not appear as heads of rules). Two programs are uniformly equivalent if they produce the same result for all possible assignments of initial relations to all the predicates (i.e., both extensional and intentional). The equivalence problem for Datalog programs is known to be undecidable. It is shown that uniform equivalence is decidable, and an algorithm is given for minimizing a Datalog program under uniform equivalence. A technique for removing parts of a program that are redundant under equivalence (but not under uniform equivalence) is developed. A procedure for testing uniform equivalence is also developed for the case in which the database satisfies some constraints.
Use of object-oriented programming in a time series analysis system
Authors: R. K. Kerr, D. B. Percival
Venue: ACM SIGPLAN Notices (1987)

We describe the use of object-oriented programming (OOP) in the design and implementation of TSA, a system for interactive time series and spectral analysis. We show how such features of OOP as inheritance, generic messages, and decomposition of the programming problem in terms of objects have contributed to our goal of providing an extensible data analysis system. We discuss the strengths and limitations of both OOP and the particular implementation we used (Flavors on a Symbolics Lisp Machine) for our particular problem.