ppxscal/embedding_network huggingface dataset:
Generality in artificial intelligence
Authors: John McCarthy
Venue: Communications of the ACM (1987)

My 1971 Turing Award Lecture was entitled "Generality in Artificial Intelligence." The topic turned out to have been overambitious in that I discovered I was unable to put my thoughts on the subject in a satisfactory written form at that time. It would have been better to have reviewed my previous work rather than attempt something new, but such was not my custom at that time. I am grateful to ACM for the opportunity to try again. Unfortunately for our science, although perhaps fortunately for this project, the problem of generality in artificial intelligence (AI) is almost as unsolved as ever, although we now have many ideas not available in 1971. This paper relies heavily on such ideas, but it is far from a full 1987 survey of approaches for achieving generality. Ideas are therefore discussed at a length proportional to my familiarity with them rather than according to some objective criterion. It was obvious in 1971 and even in 1958 that AI programs suffered from a lack of generality. It is still obvious; there are many more details. The first gross symptom is that a small addition to the idea of a program often involves a complete rewrite beginning with the data structures. Some progress has been made in modularizing data structures, but small modifications of the search strategies are even less likely to be accomplished without rewriting. Another symptom is no one knows how to make a general database of commonsense knowledge that could be used by any program that needed the knowledge. Along with other information, such a database would contain what a robot would need to know about the effects of moving objects around, what a person can be expected to know about his family, and the facts about buying and selling. This does not depend on whether the knowledge is to be expressed in a logical language or in some other formalism. When we take the logic approach to AI, lack of generality shows up in that the axioms we devise to express commonsense knowledge are too restricted in their applicability for a general commonsense database. In my opinion, getting a language for expressing general commonsense knowledge for inclusion in a general database is the key problem of generality in AI. Here are some ideas for achieving generality proposed both before and after 1971. I repeat my disclaimer of comprehensiveness.
Caching on a microcomputer: an implementation
Authors: Percy G. Wood
Venue: ACM SIGSMALL/PC Notes (1988)

In the constant search for improvements in computer system throughput, many developments have occurred. One of the 'hot' areas in recent years has been the idea of a cache. Caches are high-speed memory areas used for transient storage. They have been used for pre-fetching and holding instructions for fast access by the central processing unit and for holding output destined for a printer (spooling), as well as acting as an intermediate step in disk access.
Normalization of relations and PROLOG
Authors: S. Ceri, G. Gottlob
Venue: Communications of the ACM (1986)

A program for the normalization of relations that is written in Prolog has several advantages relative to programs written in conventional programming languages: notably, conciseness and clarity. The program presented here implements several normalization algorithms and is suitable for the interactive design of small database applications and as a teaching aid.
A New Approach to the Design of Testable PLA's
Authors: S. M. Reddy, D. S. Ha
Venue: IEEE Transactions on Computers (1987)

Programmable logic arrays (PLA's) are extensively used to realize area efficient combinational logic circuits. As the size of the PLA's increases, a cost-effective way to test them is to realize testable PLA's. In this paper a new approach to the design of testable PLA's is presented. The proposed method leads to testable PLA's with minimal area penalty and small number of tests that can be obtained as a by-product of the synthesis procedure, or can be directly obtained from the personality of the PLA's, thus simplifying the test derivation step. Results of an experiment involving 56 PLA's, to compare the test set sizes of differenit testable PLA designs (including the design proposed here) as well as the size of tests derived to detect single faults by algorithmic procedures are also reported.
Some improvements on Utah standard lisp
Authors: K Namba
Venue: ACM SIGSAM Bulletin (1986)

Standard Lisp on IBM 360 amp; 370 proposed and implemented by A. C. Hearn and J. Fitch et al. of the University of Utah had still several bugs and some execution-time inefficiency. This paper describes these bug-fixings, modifications and additions of comfortable features, and some improvements in the stack operation and compiler-interface which contribute to a speed-up of the factor of about 1.2~1.6. It also urges the necessity of variety of datatypes for a more practical Lisp system, such as vectors, hash tables, bit/byte strings.
Algorithmic state machine implementation with hybrid microprocessing/microprogramming scheme
Authors: Y. H. Kuo, L. Y. Kung
Venue: ACM SIGMICRO Newsletter (1986)

This paper proposes a hybrid microprocessing/microprogramming (HMM) scheme to implement the algorithmic state machines (ASM). First, a behavior model of the HMM is defined. This model carries out any task by partitioning it into a microprocessing subtask which is executed by a microprocessor unit and a microprogramming subtask which is executed by a microprogrammed unit. The problems of constructing the microprogrammed unit of HMM are then considered, including the synthesis of control store sequencer, compaction of control store, and microcode generation. Finally, an application example using the above method to design a universal floppy disk controller which can accept all kinds of encoding formats is provided.
Vectorization of the Calculation of a Moving Sum
Authors: Björn Mossberg
Venue: IEEE Transactions on Computers (1987)

A moving sum calculation creates a vector B, such that bk is the sum of the elements ak-d through ak+d of an input vector A. It is shown that this procedure can be completely vectorized, resulting in substantial increases in execution speed. Timing comparisons for scalar and vector algorithms executed on both a 2-and a 4-pipe CYBER 205 are presented. Using 32-bit data on the 4-pipe version, the vector algorithm runs almost 10 times faster than the scalar does.
A Predicate-Transition Net Model for Parallel Interpretation of Logic Programs
Authors: Tadao Murata, Du Zhang
Venue: IEEE Transactions on Software Engineering (1988)

This paper presents a predicate/transition net model for a subset of Horn clause logic programs. The paper discusses the syntax, transformation procedure, semantics. and deduction process for the net model. A possible parallel implementation for the net model is described, which is based on the concepts of communicating processes and relations. The proposed net model offers a syntactical variant of Horn clause logic and has two distinctions from other existing schemes for the logic programs: representation formalism and the deduction method. The significance of the work is that the net model provides an approach towards the solutions of the separation of logic from control and the improvement of the execution efficiency through parallel processing for the logic programs. The abstract nature of the net model also lends itself to differentimplementation strategies.
A decidable class of bounded recursions
Authors: J. F. Naughton, Y. Sagiv
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

Detecting bounded recursions is a powerful optimization technique for recursions database query languages as bounded recursions can be replaced by equivalent nonrecursive definitions. The problem is of theoretical interest because by varying the class of recursions considered one can generate instances that vary from linearly decidable to NP-hard to undecidable. In this paper we review and clarify the existing definitions of boundedness. We then specify a sample criterion that guarantees that the condition in Vaughton [7] is necessary and sufficient for boundedness. The programs satisfying this criterion subsume and extend previously known decidable classes of bounded linear recursions.
Automated geometry theorem proving using Buchberger's algorithm
Authors: B. Kutzler, S. Stifter
Venue: Proceedings of the fifth ACM symposium on Symbolic and algebraic computation (1986)

Recently, geometry theorem proving has become an important topic of research in symbolic computation. In this paper we present a new approach to automated geometry theorem proving that is based on Buchberger's Gr&ouml;bner bases method, one of the most important general purpose methods in computer algebra. The goal is to automatically prove geometry theorems whose hypotheses and conjecture can be expressed algebraically, i.e. in form of polynomial equations. After shortly reviewing the basic notions of Gr&ouml;bner bases and discussing some new aspects on confirming theorems, we describe two different methods for applying Buchberger's algorithm to geometry theorem proving, each of them being more efficient than the other on a certain class of problems. The second method requires a new notion of reduction, which we call pseudoreduction. This pseudoreduction yields results on polynomials over some rational function field by computations that are done merely over the rationals and, therefore, is of general interest. Finally, a computing time statistics on about 40 non-trivial examples is given, based on an implementation of the methods in the computer algebra system SAC-2 on an IBM 4341.
An algorithm for replicated directories
Authors: Alfred Z Spector, Dean Daniels
Venue: ACM SIGOPS Operating Systems Review (1986)

This paper describes a replication algorithm for directory objects based upon Gifford's weighted voting for files. The algorithm associates a version number with each possible key on every replica and thereby resolves an ambiguity that arises when directory entries are not stored in every replica. The range of keys associated with a version number changes dynamically; but in all instances, a separate version number is associated with each entry stored on every replica. The algorithm exhibits favorable availability and concurrency properties. There is no performance penalty for associating a version number with every possible key except on Delete operations, and simulation results show this overhead is small.
The efficiency of the equation interpreter compared with the UNH Prolog interpreter
Authors: J Heering, P Klint
Venue: ACM SIGPLAN Notices (1986)

There are several alternatives for transforming algebraic specifications into executable prototypes. In this note the Equation Interpreter (a rewrite rule interpreter) and the University of New Hampshire Prolog interpreter are viewed as target systems for executing prototypes. The efficiencies of these systems are compared with each other.
Subproblem finder and instance checker, two cooperating modules for theorem provers
Authors: Dennis de Champeaux
Venue: Journal of the ACM (JACM) (1986)

Properties are proved about INSTANCE, a theorem prover module that recognizes that a formula is a special case and/or an alphabetic variant of another formula, and about INSURER, another theorem prover module that decomposes a problem, represented by a formula, into independent subproblems, using a conjunction. The main result of INSTANCE is soundness; the main result of INSURER is a maximum decomposition into subproblems (with some provisos). Experimental results show that a connection graph theorem prover extended with these modules is more effective than the resolution-based connection graph theorem prover alone.
Architecture and design of the MARS hardware accelerator
Authors: P. Agrawal, W. J. Dally, A. K. Ezzat, W. C. Fischer, H. V. Jagadish, A. S. Krishnakumar
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

MARS (Microprogrammable Accelerator for Rapid Simulations) is a multiprocessor based hardware accelerator capable of efficiently implementing a wide range of computationally complex algorithms. Its architecture is ideally suited for performing event driven simulations of VLSI circuits. The highly pipelined and parallel architecture of MARS provides a performance comparable to existing hardware simulation engines while its highly flexible architecture supports a wide range of applications. Flexibility is achieved through custom designed microprogrammable and reconfigurable VLSI processors. Logic simulation performance of about one million events per second is easily achievable.
Leadership style vs. success in student chief programmer teams
Authors: Ted Tenny
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

The style of leadership on chief programmer teams was inferred from student peer evaluations, using a sample of 87 teams over a seven-year period. The strongest correlations with team success resulted from diligent attention (or lack thereof) to the duties of the Chief Programmer, Backup, and Librarian, rather than from leadership personality factors.
SEES A Software testing Environment Support System
Authors: Nicolas Roussopoulos, Raymond T. Yeh
Venue: IEEE Transactions on Software Engineering (1985)

SEES is a database system to support program testing. The program database is automatically created during the compilation of the program by a compiler built using the YACC compiler-compiler.
Intersection of convex objects in two and three dimensions
Authors: B. Chazelle, D. P. Dobkin
Venue: Journal of the ACM (JACM) (1987)

One of the basic geometric operations involves determining whether a pair of convex objects intersect. This problem is well understood in a model of computation in which the objects are given as input and their intersection is returned as output. For many applications, however, it may be assumed that the objects already exist within the computer and that the only output desired is a single piece of data giving a common point if the objects intersect or reporting no intersection if they are disjoint. For this problem, none of the previous lower bounds are valid and algorithms are proposed requiring sublinear time for their solution in two and three dimensions.
Natural language with discrete speech as a mode for human-to-machine
Authors: Alan W. Biermann, Robert D. Rodman, David C. Rubin, J. Francis Heidlage
Venue: Communications of the ACM (1985)

A voice interactive natural language system, which allows users to solve problems with spoken English commands, has been constructed. The system utilizes a commercially available discrete speech recognizer which requires that each word be followed by approximately a 300 millisecond pause. In a test of the system, subjects were able to learn its use after about two hours of training. The system correctly processed about 77 percent of the over 6000 input sentences spoken in problem-solving sessions. Subjects spoke at the rate of about three sentences per minute and were able to effectively use the system to complete the given tasks. Subjects found the system relatively easy to learn and use, and gave a generally positive report of their experience.
A case study of programming with abstract data types in a data structures course
Authors: Walter E. Brown
Venue: ACM SIGCSE Bulletin (1987)

We describe a programming problem (and its solution) successfully used several times in a data structures course to teach an approach to the use of abstraction and abstract data types in programming by stepwise refinement.
Mesh arrays and LOGICIAN: a tool for their efficient generation
Authors: J. A. Beekman, R. M. Owens, M. J. Irwin
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

This paper introduces a standard structure for VLSI design which we call the mesh array and describes a design tool called LOGICIAN which minimizes a set of functions for realization in CMOS mesh arrays. LOGICIAN features multi-level logic synthesis through recursive enumeration of each function. Several techniques to speed-up the minimization process in LOGICIAN are described.
An Aspect of Aesthetics in Human-Computer Communications: Pretty Windows
Authors: Jason Gait
Venue: IEEE Transactions on Software Engineering (1985)

Aesthetics in user interfaces addresses font definitions, typesetting conventions, color combinations, graphics design considerations, high resolution for viewscreens, and the shapes of windows. Computer viewscreens are evolving into pictorial media, communicating information with visual immediacy. The more interesting interfaces make use of multiple windows, menus, icons, and other visual effects to waken and sustain user interest and effectiveness. A pretty window is a viewscreen window with the dimensions of a golden rectangle, a rectangle whose width and height form the golden ratio of Euclid. Psychologists believe golden rectangles are aesthetically more pleasing than arbitrary rectangles, and subjects tend to select them in preference to other rectangles in tests.
A self-regulating adaptive system
Authors: Robert Trevellyan, Dermot P. Browne
Venue: ACM SIGCHI Bulletin (1986)

The viability of providing adaptive user interfaces has been demonstrated ([3], [5]). Such systems identify differences between users in order to provide purposeful change at the user interface. Thus, adaptive systems have objectives, as indicated by the term 'purposeful.' The research reported here takes an important step forward by demonstrating that adaptive systems can be built that regulate their own behaviour by assessing whether their adaptations are being successful in meeting these objectives.
Analysis of new variants of coalesced hashing
Authors: Wen-Chin Chen, Jeffrey Scott Vitter
Venue: ACM Transactions on Database Systems (TODS) (1984)

The coalesced hashing method has been shown to be very fast for dynamic information storage and retrieval. This paper analyzes in a uniform way the performance of coalesced hashing and its variants, thus settling some open questions in the literature. In all the variants, the range of the hash function is called the address region, and extra space reserved for storing colliders is called the cellar. We refer to the unmodified method, which was analyzed previously, as late-insertion coalesced hashing. In this paper we analyze late insertion and two new variations called early insertion and varied insertion. When there is no cellar, the early-insertion method is better than late insertion; however, past experience has indicated that it might be worse when there is a cellar. Our analysis confirms that it is worse. The varied-insertion method was introduced as a means of combining the advantages of late insertion and early insertion. This paper shows that varied insertion requires fewer probes per search, on the average, than do the other variants. Each of these three coalesced hashing methods has a parameter that relates the sizes of the address region and the cellar. Techniques in this paper are designed for tuning the parameter in order to achieve optimum search times. We conclude with a list of open problems.
Cache performance of operating system and multiprogramming workloads
Authors: Anant Agarwal, John Hennessy, Mark Horowitz
Venue: ACM Transactions on Computer Systems (TOCS) (1988)

Large caches are necessary in current high-performance computer systems to provide the required high memory bandwidth. Because a small decrease in cache performance can result in significant system performance degradation, accurately characterizing the performance of large caches is important. Although measurements on actual systems have shown that operating systems and multiprogramming can affect cache performance, previous studies have not focused on these effects. We have developed a program tracing technique called ATUM (Address Tracing Using Microcode) that captures realistic traces of multitasking workloads including the operating system. Examining cache behavior using these traces from a VAX processor shows that both the operating system and multiprogramming activity significantly degrade cache performance, with an even greater proportional impact on large caches. From a careful analysis of the causes of this degradation, we explore various techniques to reduce this loss. While seemingly little can be done to mitigate the effect of system references, multitasking cache miss activity can be substantially reduced with small hardware additions.
A Resource Sharing System for Personal Computers in a LAN: Concepts, Design, and Experience
Authors: R. C. Summers
Venue: IEEE Transactions on Software Engineering (1987)

RM is an experimental prototype that supports the use of distributed services by personal computers in a LAN. Using a service request model, RM allows any PC on the LAN to offer and use services, which can be user-written or off-the-shelf applications. A user can start several activities that proceed concurrently and that use services offered by different machines. Program interfaces are provided for the development of distributed applications. Remote execution is supported within the service-request framework. The paper considers issues in resource sharing and discusses the choices that were made for RM. It provides an overview of RM concepts, design, and implementation, and reviews experience using the system.
The traveling salesman problem in graphs with 3-edge cutsets
Authors: G. Cornuéjols, D. Naddef, W. Pulleyblank
Venue: Journal of the ACM (JACM) (1985)

This paper analyzes decomposition properties of a graph that, when they occur, permit a polynomial solution of the traveling salesman problem and a description of the traveling salesman polytope by a system of linear equalities and inequalities. The central notion is that of a 3-edge cutset, namely, a set of 3 edges that, when removed, disconnects the graph. Conversely, our approach can be used to construct classes of graphs for which there exists a polynomial algorithm for the traveling salesman problem. The approach is illustrated on two examples, Halin graphs and prismatic graphs.
An advanced full-text retrieval and analysis system
Authors: J. Smith, S. Weiss, G. Ferguson
Venue: Proceedings of the 10th annual international ACM SIGIR conference on Research and development in information retrieval (1987)

MICROARRAS is an advanced full-text retrieval and analysis system. It supports fast, efficient browsing of a document's vocabulary as well as its text, recursive analytic categories, Boolean search with flexible context specifications, evaluation of arithmetic expressions, and graphical display of various numeric distributions. The system is designed to work with large textbases stored on remote mainframes or on a local store for a micro-computer or workstation. The description covers system architecture, design principals, as well as user functions.
Deterministic simulation in LOGSPACE
Authors: M. Ajtai, J. Komlos, E. Szemeredi
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

In this paper we show that a wide class of probabilistic algorithms can be simulated by deterministic algorithms. Namely if there is a test in LOGSPACE so that a random sequence of length (log n)2 / log log n passes the test with probability at least 1/n then a deterministic sequence can be constructed in LOGSPACE which also passes the test. It is important that the machine performing the test gets each bit of the sequence only once. The theorem remains valid if both the test and the machine constructing the satisfying sequence have access to the same oracle of polynomial size. The sequence that we construct does not really depend on the test, in the sense that a polynomial family of sequences is constructed so that at least one of them passes any test. This family is the same even if the test is allowed to use an oracle of polynomial size, and it can be constructed in LOGSPACE (without using an oracle).