ppxscal/embedding_network huggingface dataset:
Decidability of the purely existential fragment of the theory of term algebras
Authors: K. N. Venkataraman
Venue: Journal of the ACM (JACM) (1987)

This paper is concerned with the question of the decidability and the complexity of the decision problem for certain fragments of the theory of free term algebras. The existential fragment of the theory of term algebras is shown to be decidable through the presentation of a nondeterministic algorithm, which, given a quantifier-free formula P, constructs a solution for P if it has one and indicates failure if there are no solutions. It is shown that the decision problem is in NP by proving that, if a quantifier-free formula P has a solution, then there is one that can be represented as a dag in space at most cubic in the length of P. The decision problem is shown to be complete for NP by reducing 3-SAT to that problem. Thus it is established that the existential fragment of the theory of pure list structures in the language of NIL, CONS, CAR, CDR, =, &le; (subexpression) is NP-complete. It is further shown that even a slightly more expressive fragment of the theory of term algebras, the one that allows bounded universal quantifiers, is undecidable.
Mechanical translation of set theoretic problem specifications into efficient RAM code-A case study
Authors: Robert Paige, Fritz Henglein
Venue: Journal of Symbolic Computation (1987)

This paper illustrates a fully automatic top-down approach to program development in which formal problem specifications are mechanically translated into efficient RAM code. This code is guaranteed to be totally correct and an upper bound on its worst case asymptotic running time is automatically determined. The user is only required to supply the system with a formal problem specification, and is relieved of all responsibilities in the rest of the program development process. These results are obtained, in part, by greatly restricting the system to handle a class of determinate, set theoretic, tractable problems. The most essential transformational techniques that are used are fixed point iteration, finite differencing, and data structure selection. Rudimentary forms of these techniques have been implemented and used effectively in the RAPTS transformational programming system. This paper explains the conceptual underpinnings of our approach by considering the problem of attribute closure for relational databases and systematically deriving a program that implements a linear time solution.
Online services: let your fingers do the walking...
Authors: Judy Cahill
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

University computing centers used to be hubs of activity. All university personnel&mdash;faculty, staff, and students&mdash;found the need to stop in or phone their computing center at least occasionally. They would visit the center to work on a terminal, to pick up printouts, to punch cards or submit a card deck for execution, to report malfunctioning equipment, to register complaints, to request a computer account, and/or seek consultation. But additional equipment and services including remote terminal areas with printers and consultants, new microcomputer laboratories, and the elimination of punched cards, has turned the busy computing center into a memory. Today's users are looking for convenience&mdash;all the same services at their finger tips on terminals or micros on their desk or just down the hall. Walking to another building to locate the necessary equipment or to seek a particular computing service is no longer acceptable. Eastern Kentucky University has risen to meet this new challenge of user convenience by offering a broad selection of online computer services. This presentation will cover the evolution of these online user services from a simple online &ldquo;news&rdquo; service to interactive consulting and equipment problem reporting services. A discussion on proposed additional online services will also be included.
Data cashing in IR systems
Authors: P. Simpson, R. Alonso
Venue: Proceedings of the 10th annual international ACM SIGIR conference on Research and development in information retrieval (1987)

Information retrieval (IR) systems provide individual remote access to centrally managed data. The current proliferation of personal computer systems, as well as advances in storage and communication technology, have created new possibilities for designing information systems which are easily accessible, economical, and responsive to user needs. This paper outlines methods of integrating personal computers (PCs) into large information systems, with emphasis on effective use of the storage and processing capabilities of these computers. In particular we discuss means for caching retrieved data at PC-equipped user sites, noting that caching in this environment poses unique problems. An event-driven simulation program is described which models information system operation. This simulator is being used to examine caching strategies. Some results of these studies are presented.
Analysis of Broadcast Delivery in a Videotex System
Authors: J. W. Wong, M. H. Ammar
Venue: IEEE Transactions on Computers (1985)

Videotex is a system which provides users with low-cost real-time access to information. In such a system, user requests are forwarded to a service computer where the desired information is retrieved and sent back to the user. In this study, we investigate the response time behavior of a videotex system where information requested by one user is broadcast to all users. A novel queueing model for broadcast delivery is developed. Using this model, we first obtain an analytic expression for the mean response time, and then we develop an efficient algorithm for its computation. Numerical results illustrating the performance characteristics of broadcast delivery are presented.
Stored data structures on the Manchester dataflow machine
Authors: J. Sargeant, C. C. Kirkham
Venue: ACM SIGARCH Computer Architecture News (1986)

Experience with the Manchester Dataflow Machine has highlighted the importance of efficient handling of stored data structures in a practical parallel machine. It has proved necessary to add a special-purpose structure store to the machine, and this paper describes the role of this structure store and the software which uses it. Some key issues in data structure handling for parallel machines are raised.
Positive alternatives: a report on an ACM panel on hacking
Authors: John A. Lee, Gerald Segal, Rosalie Steier
Venue: Communications of the ACM (1986)

A broad cross section of computer security experts, hackers, educators, journalists, and corporate executives examine hacking issues, problems, and possible solutions.
Comments on "Sign/Logarithm Arithmetic for FFT Implementation"
Authors: W Hongyuan, S C Lee
Venue: IEEE Transactions on Computers (1986)

This note points out several errors in the paper [1] by E. E. Swartzlander, Jr. et al. Corrected results are presented including detailed reasons and derivations.
Parallel algorithms and architectures for rule-based systems
Authors: A. Gupta, C. Forgy, A. Newell, R. Wedig
Venue: ACM SIGARCH Computer Architecture News (1986)

Rule-based systems, on the surface, appear to be capable of exploiting large amounts of parallelism&mdash;it is possible to match each rule to the data memory in parallel. In practice, however, we show that the speed-up from parallelism is quite limited, less than 10-fold. The reasons for the small speed-up are: (1) the small number of rules relevant to each change to data memory; (2) the large variation in the processing required by the relevant rules; and (3) the small number of changes made to data memory between synchronization steps. Furthermore, we observe that to obtain this limited factor of 10-fold speed-up, it is necessary to exploit parallelism at a very fine granularity. We propose that a suitable architecture to exploit such fine-grain parallelism is a bus-based shared-memory multiprocessor with 32-64 processors. Using such a multiprocessor (with individual processors working at 2 MIPS), it is possible to obtain execution speeds of about 3800 rule-firings/sec. This speed is significantly higher than that obtained by other proposed parallel implementations of rule-based systems.
Delegation is inheritance
Authors: Lynn Andrea Stein
Venue: Conference proceedings on Object-oriented programming systems, languages and applications (1987)

Inheritance and delegation are alternate methods for incremental definition and sharing. It has commonly been believed that delegation provides a more powerful model. This paper demonstrates that there is a &ldquo;natural&rdquo; model of inheritance which captures all of the properties of delegation. Independently, certain constraints on the ability of delegation to capture inheritance are demonstrated. Finally, a new framework which fully captures both delegation and inheritance is outlined, and some of the ramifications of this hybrid model are explored.
Informativeness as an ordinal utility function for information retrieval
Authors: J. Tague
Venue: ACM SIGIR Forum (1987)

Information retrieval has all the elements of a classical decision problem: a set of possible actions, a set of potential states, and a reward or utility attached to each combination of action and state. How the actions, states, and utilities are described, however, is variable, and depends very much on the describer's point of view.
The specification statement
Authors: Carroll Morgan
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1988)

Dijkstra's programming language is extended by specification statements, which specify parts of a program &ldquo;yet to be developed.&rdquo; A weakest precondition semantics is given for these statements so that the extended language has a meaning as precise as the original. The goal is to improve the development of programs, making it closer to manipulations within a single calculus. The extension does this by providing one semantic framework for specifications and programs alike: Developments begin with a program (a single specification statement) and end with a program (in the executable language). And the notion of refinement or satisfaction, which normally relates a specification to its possible implementations, is automatically generalized to act between specifications and between programs as well. A surprising consequence of the extension is the appearance of miracles: program fragments that do not satisfy Dijkstra's Law of the Excluded Miracle. Uses for them are suggested.
Response times in level-structured systems
Authors: Paul K. Harter,  Jr.
Venue: ACM Transactions on Computer Systems (TOCS) (1987)

Real-time programs are among the most critical programs in use today, yet they are also among the worst understood and the most difficult to verify. Validation of real-time systems is nonetheless extremely important in view of the high costs associated with failure in typical application areas. We present here a method for deriving response-time properties in complex systems with a level structure based on priority. The method involves a level-by-level examination of the system, in which information distilled from each successive level is used to adjust the results for later levels. The results obtained at each level of the system are not affected by later analyses, which obviates having to consider a complex system as a whole.
Sorting Large Files on a Backend Multiprocessor
Authors: Micah Beck, Dina Bitton
Venue: IEEE Transactions on Computers (1988)

The authors investigate the feasibility and efficiency of a parallel sort-merge algorithm by considering its implementation of the JASMIN prototype, a backend multiprocessor built around a fast packet bus. They describe the design and implementation of a parallel sort utility and present and analyze the results of measurements corresponding to a range of file sizes and processor configurations. The results show that using current, off-the-shelf technology coupled with a streamlined distributed operating system, three- and five-microprocessor configurations, provide a very cost-effective sort of large files. The three-processor configuration sorts a 100-Mb file in 1 hr which compares well to commercial sort packages available on high-performance mainframes. In additional experiments, the authors investigate a model to tune their sort software and scale their results to higher processor and network capabilities.
Optimal clock synchronization
Authors: T. K. Srikanth, Sam Toueg
Venue: Journal of the ACM (JACM) (1987)

We present a simple, efficient, and unified solution to the problems of synchronizing, initializing, and integrating clocks for systems with different types of failures: crash, omission, and arbitrary failures with and without message authentication. This is the first known solution that achieves optimal accuracy&mdash;the accuracy of synchronized clocks (with respect to real time) is as good as that specified for the underlying hardware clocks. The solution is also optimal with respect to the number of faulty processes that can be tolerated to achieve this accuracy.
Algorithms for line transversals in space
Authors: D. Avis, R. Wenger
Venue: Proceedings of the third annual symposium on Computational geometry (1987)

Algorithms are developed for determining if a set of polyhedral objects in R3 can be intersected by a common transversal (stabbing) line. It can be determined in &Ogr;(n) time if a set of n lines in space has a line transversal, and such a transversal can be found in the same time bound. For a set of n line segments, the complexity of finding such a transversal becomes &Ogr;(nlogn). Finally, for a set of polyhedra with a total of n vertices, we give a &Ogr;(n5) algorithm for determining the existence of, and computing, a line transversal. Helly-type theorems for lines and segments are also given. In particular, it is shown that if every six of a set of lines in space are intersected by a common transversal, then the entire set has a common transversal.
Does programming language affect the type of conceptual bugs in beginners' programs? A comparison of FPL and Pascal
Authors: N. Cunniff, R. P. Taylor, J. B. Black
Venue: ACM SIGCHI Bulletin (1986)

The effect of the graphical programming language FPL (First Programming Language) on the occurrence of conceptual bugs in programs written by novices was studied. The type and location for each bug, and the frequency for each type were all recorded following procedures developed in an earlier Yale University study of novice Pascal programming. The findings were compared with those of the earlier study, and suggest that FPL may help beginning programmers avoid some common conceptual errors in their programming.
The subworld concept lexicon and the lexicon management system
Authors: Sergei Nirenburg, Victor Raskin
Venue: Computational Linguistics (1987)

Natural language processing systems require three different types of lexicons: the concept lexicon that describes the (sub)world ontology and the analysis and generation lexicons for natural languages. We argue that the acquisition of the concept lexicon must precede any lexical work on natural language and that a comprehensive lexicon management system (LMS) is necessary for lexicon acquisition in large-scale applications. We describe the interactive concept lexicon acquisition module of the LMS for TRANSLATOR, a knowledge-based, sublanguage-oriented machine translation project.
Emerging principles in machine learning
Authors: R Michalski
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

Machine learning, a field concerned with developing computational theories of learning and constructing learning machines, is now one of the most active research areas in artificial intelligence. An inference-based theory of learning will be presented that unifies basic learning strategies. Special attention will be given to comparing and unifying inductive learning and deductive learning strategies. Inductive learning strategies include empirical techniques for learning from examples and learning from observation and discovery. Deductive learning techniques include analytic learning on the basis of the explanation of a given fact using prior domain knowledge. We will show that the &ldquo;similarity-based learning&rdquo; (a form of inductive learning) and the &ldquo;explanation-based learning&rdquo; (a form of deductive learning) are two extremes in the spectrum of techniques representing different relative role of the learner's prior knowledge and the information supplied to the learner. We will also show how inductive and deductive learning can be integrated within one theoretical framework. Some experimental results will be used to illustrate presented ideas.
Minimization by the D Algorithm
Authors: J P Roth
Venue: IEEE Transactions on Computers (1986)

Programmed logic arrays [1], [2] are common in computer design. A form of this method of design has been used since the beginnings of computers, in telephone relay networks [3]. Optimization of such realizations of functions were begun by Karnaugh [4], Quine [5], McCluskey [6], and Roth [7]. Substantial use was mnade of such programs by Preiss [8] and Perlman [9]. Despite the existence of exact procedures, "fast," "approximate" procedures have been widely used. A new approximate procedure, using the D algorithm [1], [10], [11] is introduced here. It gets around a large computation, in complementation, using prior methods. Running programs "verify" this expectation.
A notation for manipulating arrays of operations
Authors: David J. Landaeta
Venue: ACM SIGAPL APL Quote Quad (1986)

Much has been written on the-possibility of incorporating arrays of functions and arrays of operators into APL. Various methods have been proposed for creating and restructuring such arrays. This paper proposes the introduction of arrays of operations in general into APL2. Vector notation is extended, as suggested by Brown and Benkard, to allow easy creation of vectors of operations. A new object, called an ELEVATOR, is introduced in order to create operations for manipulating arrays of operations. The semantics of the jot is extended, as per Benkard, to provide a means of extracting structural information from operation arrays. An analysis of the meaning behind the new notation is undertaken. Definitions are given which not only satisfy the notational requirements but also provide insights into the nature of structural operations on function arrays. The information retained in an empty function array is explained, and the relationship between the primitive ENCLOSE function and the EACH operator becomes clear.
Architecture of a message-driven processor
Authors: W. J. Dally, L. Chao, A. Chien, S. Hassoun, W. Horwat, J. Kaplan, P. Song, B. Totty, S. Wills
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

We propose a machine architecture for a high-performance processing node for a message-passing, MIMD concurrent computer. The principal mechanisms for attaining this goal are the direct execution and buffering of messages and a memory-based architecture that permits very fast context switches. Our architecture also includes a novel memory organization that permits both indexed and associative accesses and that incorporates an instruction buffer and message queue. Simulation results suggest that this architecture reduces message reception overhead by more than an order of magnitude.
Debugging by skilled and novice programmers
Authors: L. Gugerty, G. Olson
Venue: ACM SIGCHI Bulletin (1986)

Two experiments investigated expert-novice differences in debugging computer programs. Debugging was done on programs provided to the subject, and were run on a microcomputer. The programs were in LOGO in Exp. 1 and Pascal in Exp. 2. Experts debugged more quickly and accurately, largely because they generated high quality hypotheses on the basis of less study of the code than novices. Further, novices frequently added bugs to the program during the course of trying to find the original one. At least for these simple programs, experts superior debugging performance seemed to be due primarily to their superior ability to comprehend the program.
Why Ada is not just another programming language
Authors: Jean E. Sammet
Venue: Communications of the ACM (1986)

Ada's importance goes far beyond its initial limited goals. The worldwide interest in the usage of Ada is one of many reasons for its uniqueness.
A Message-Based Approach to Discrete-Event Simulation
Authors: Rajive L. Bagrodia, K. Mani Chandy, Jayadev Misra
Venue: IEEE Transactions on Software Engineering (1987)

This paper develops a message-based approach to discrete-event simulation. Although message-based simulators have the same expressive power as traditional discrete-event simulation lanuages, they provide a more natural environment for simulating distributed systems. In message-based simulations, a physical system is modeled by a set of message-communicating processes. The events in the system are modeled by message-communications. The paper proposes the entity construct to represent a message-communicating process operating in simulated time. A general wait until construct is used for process scheduling and message-communication. Based on these two notions, the paper proposes a language fragment comprising a small set of primitives. The language fragment can be implemented in any general-purpose, sequential programming language to construct a message-based simulator. We give an example of a message-based simulation language, called MAY, developed by implementing the language fragment in Fortran. MAY is in the public domain and is available on request.
Machine-oriented languages in the APL environment
Authors: Jim Weigang
Venue: ACM SIGAPL APL Quote Quad (1986)

Many APL systems, especially mainframe systems, have made it inconvenient or impossible for users to write subroutines in machine-oriented languages (e.g., FORTRAN, C, or assembler). This deficiency has had a serious impact on APL, preventing it from competing with conventional compiled languages for speed and access to hardware capabilities. The trend in modern APL systems, particularly microcomputer systems, is to provide more convenient and flexible access to machine-oriented programs. This paper describes the machine-level interfaces provided by several APL systems, lists desirable features of such interfaces, gives examples of what machine-oriented programs can be used for, and takes a speculative look at the future.
Busy periods for subnetworks in stochastic networks: mean value analysis
Authors: Hans Daduna
Venue: Journal of the ACM (JACM) (1988)

The busy period of order n for a subnetwork, which for large n describes heavy traffic periods of that subnetwork, is described for queuing networks. The mean duration of such busy periods and efficient algorithms for computing these quantities are determined.
Finding the visibility graph of a simple polygon in time proportional to its size
Authors: J. Hershberger
Venue: Proceedings of the third annual symposium on Computational geometry (1987)

Let P be a given simple polygon with n sides. The visibility graph of P has an edge between every pair of polygon vertices that can be connected by an open segment in the interior of P. We describe an algorithm that finds the visibility graph of P in &Ogr;(m + n log log n) time, where m is the number of edges in the visibility graph. Because m can be as small as &Ogr;(n), the algorithm improves on the more general visibility algorithms of Asano et al. [AAGHI] and Welzl [W], which take &THgr;(n2) time.