ppxscal/embedding_network huggingface dataset:
A class of sorting algorithms based on Quicksort
Authors: Roger L. Wainwright
Venue: Communications of the ACM (1985)

Bsort, a variation of Quicksort, combines the interchange technique used in Bubble sort with the Quicksort algorithm to improve the average behavior of Quicksort and eliminate the worst case situation of O(n2) comparisons for sorted or nearly sorted lists. Bsort works best for nearly sorted lists or nearly sorted in reverse.
Student file management under Primos
Authors: Michael Uram, Robert J. McGlinn
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

This paper describes SFM, a software package designed to manage student programming assignments on the PRIMOS operating system. In addition to providing a mechanism for the paperless submission of programming assignments, SFM affords the users increased file security, exact enforcement of due dates, thorough testing of programs, better machine utilization, reduced student frustration, and detailed reports.
Pitfalls and safeguards in real-time digital systems with emphasis on programming
Authors: W. A. Hosier
Venue: Proceedings of the 9th international conference on Software Engineering (1987)

Real-time digital systems are largely a technical innovation of the past decade, but they appear destined to become more wide spread in the future. They monitor or control a real physical environment, such as an air-traffic situation, as distinguished from simulating that environment on an arbitrary time scale. The complexity and rapid variation of such an environment necessitates use of a fast and versatile central-control device, a role well suited to digital computers. The usual system will include some combination of sensors, communication, control, display, and effectors. Although many parts of such a system pose no novel management problems, their distinguishing feature, the central digital device, frequently presents unusually strict requirements for speed, capacity, reliability and compatibility, together with the need for a carefully designed stored program. These features, particularly the last, have implications that are not always foreseen by management. An attempt is made to point out specific hazards common to most real-time digital systems and to show a few ways of minimizing the risks associated with them.
Trees&mdash;a CS2 programming project which introduces a data type using procedural and data abstraction
Authors: Ivan B. Liss, Thomas C. McMillan
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

This paper describes a programming project used in CS2 classes to introduce trees as an abstract data type. The student is required to manipulate tree structures with a set of primitive functions supplied by the instructor. The student does not have access to the implementation details of these primitive functions, and is initially required to complete a series of exercises in which trees are handled abstractly. After completing this phase of the assignment, the student is required to write his or her own implementation of the primitive functions originally supplied. These are written in two different phases, one using dynamic storage, and the other using static storage. This emphasizes the concept of trees as an abstract data type, as well as the benefits of abstraction and information hiding.
An overview of logic synthesis systems
Authors: L. Trevillyan
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

The term logic synthesis is used to describe systems that range from relatively simple mapping schemes to tools with sophisticated logic optimizations. In this tutorial, the requirements on logic synthesis systems will be discussed and the advantages and disadvantages of different approaches to logic synthesis will be presented.
Complexity of matching problems
Authors: Dan Benanav, Deepak Kapur, Paliath Narendran
Venue: Journal of Symbolic Computation (1987)

The associative-commutative matching problem is shown to be NP-complete; more precisely, the matching problem for terms in which some function symbols are uninterpreted and others are both associative and commutative, is NP-complete. It turns out that the similar problems of associative-matching and commutative-matching are also NP-complete. However, if every variable appears at most once in a term being matched, then the associative-commutative matching problem is shown to have an upper-bound of O ( | s | ^* | t |^3), where | s | and | t | are respectively the sizes of the pattern 8 and the subject t.
Expert systems: perils and promise
Authors: D. G. Bobrow, S. Mittal, M. J. Stefik
Venue: Communications of the ACM (1986)

Based on a review of some actual expert-system projects, guidelines are proposed for choosing appropriate applications and managing the development process.
Integrated Analysis of Thermal and Visual Images for Scene Interpretation
Authors: N. Nanhakumar, J. K. Aggarwal
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1988)

An approach for computer perception of outdoor scenes is presented. The approach is based on integrating information extracted from thermal images and visual images, which provides information not available by processing either type of image alone. The thermal image is analyzed to provide estimates of surface temperature. The visual image provides surface absorptivity and relative orientation. These parameters are used together to provide estimates of heat fluxes at the surfaces of viewed objects. The thermal behavior of scene objects is described in terms of surface heat fluxes. Features based on estimated values of surface heat fluxes are shown to be more meaningful and specific in distinguishing scene components.
HutWindows: An Improved Architecture for a User Interface Management System
Authors: Marja-Riitta Koivunen, Martti Manatyla
Venue: IEEE Computer Graphics and Applications (1988)

The design of HutWindows, a user interface management system intended for applications in mechanical CAD, is discussed,. HutWindows features a three-layered internal architecture, where the presentation, dialogue-control, and application-processing layers are clearly separated from each other. This leads to increased simplicity and flexibility in user interface design over the more traditional situation where all of these layers are closely coupled.
A fixpoint semantics for nondeterministic data flow
Authors: John Staples, V. L. Nguyen
Venue: Journal of the ACM (JACM) (1985)

Criteria for adequacy of a data flow semantics are discussed and Kahn's successful semantics for functional (deterministic) data flow is reviewed. Problems arising from nondeterminism are introduced and the paper's approach to overcoming them is introduced. The approach is based on generalizing the notion of input-output relation, essentially to a partially ordered multiset of input-output histories. The Brock-Ackerman anomalies concerning the input-output relation model of nondeterministic data flow are reviewed, and it is indicated how the proposed approach avoids them. A new anomaly is introduced to motivate the use of multisets. A formal theory of asynchronous processes is then developed. The main result is that the operation of forming a process from a network of component processes is associative. This result shows that the approach is not subject to anomalies such as that of Brock and Ackerman.
Resolving lexical ambiguity in a deterministic parser
Authors: Robert Milne
Venue: Computational Linguistics (1986)

Lexical ambiguity and especially part-of-speech ambiguity is the source of much non-determinism in parsing. As a result, the resolution of lexical ambiguity presents deterministic parsing with a major test. If deterministic parsing is to be viable, it must be shown that lexical ambiguity can be resolved easily deterministically. In this paper, it is shown that Marcus's "diagnostics" can be handled without any mechanisms beyond what is required to parse grammatical sentences and reject ungrammatical sentences. It is also shown that many other classes of ambiguity can be easily resolved as well.
From programming language design to computer construction
Authors: Niklaus Wirth
Venue: Communications of the ACM (1985)

From NELIAC (via ALGOL 60) to Euler and ALGOL W, to Pascal and Modula-2, and ultimately Lilith, Wirth's search for an appropriate formalism for systems programming yields intriguing insights and surprising results.
Soundness and completeness of a synthesis algorithm based on example computations
Authors: M. A. Bauer
Venue: Journal of the ACM (JACM) (1985)

The problem of synthesizing a procedure from example computations is examined. An algorithm for this task is presented, and its success is considered. To do this, a model of procedures and example computations is introduced, and the class of acceptable examples is defined. The synthesis algorithm is shown to be successful, with respect to the model of procedures and examples, from two perspectives. First, it is shown to be sound, that is, that the procedure synthesized from a set of examples produces the same result as the intended one on the inputs used to generate that set of examples. Second, it is shown to be complete, that is, that for any procedure in the class of procedures, there exists a finite set of examples such that the procedure synthesized behaves as the intended one on all inputs for which the intended one halts.
Rule-based systems
Authors: Frederick Hayes-Roth
Venue: Communications of the ACM (1985)

Rule-based systems automate problem-solving know-how, provide a means for capturing and refining human expertise, and are proving to be commercially viable.
A Boolean array based algorithm in APL
Authors: G Sullivan, F Fordyce
Venue: ACM SIGAPL APL Quote Quad (1986)

This paper describes an algorithm for forward chaining in rule-based production expert systems which makes extensive use of array structures and Boolean operations, to which APL lends itself. Additionally, a short introduction is provided for the reader unfamiliar with expert systems.
Aggregation and generalization hierarchies in office automation
Authors: M. Bever D. Ruland
Venue: Proceedings of the ACM SIGOIS and IEEECS TC-OA 1988 conference on Office information systems (1988)

Integrated database support is an essential part in Office Automation. Because of the variety of objects, their relationships and operations, more sophisticated data modelling concepts such as aggregation and long fields, cross references, aggregation hierarchies, and generalizations are needed. In this paper, we show their importance to Office Automation. Because long fields and aggregation are already supported by existing data models, we focus on the two data abstraction concepts: aggregation hierarchy and generalization. Besides structural aspects a restricted set of operations is defined. Then we discuss an implementation on the basis of a relational engineering prototype database system, that already supports long fields, aggregation and aggregation hierarchies.
Extending a capability based system into a network environment
Authors: R D Sansom, D P Julin, R F Rashid
Venue: Proceedings of the ACM SIGCOMM conference on Communications architectures protocols (1986)

The Mach operating system supports secure local communication within one node of a distributed system by providing protected communication abstraction can be extended over a network by Network Server tasks. The network servers effectively act as local representatives for remote tasks by implementing an abstraction of Network Ports. To extend the security of the port-based communication abstraction into the network environment, the network servers must protect both the messages sent over the network to network ports and the access rights to network ports. This paper describes in detail the protocols used by the network servers to support security.
Fortran 8X discussion
Authors: Kent Paul Dolan
Venue: ACM SIGPLAN Fortran Forum (1988)

ED NOTE: This item has a rather unusual format for Fortran Forum. It is an outgrowth of an E-mail discussion between Kent Paul Dolan of ODU and Presley Smith of Convex Computer Corp. Kent sent a note, and Presley sent a rather negative reply. What we now see is Presley's reply, somewhat edited by Kent and interspersed with Kent's counter-reply. After sending this message to Presley, Kent decided to post it on the USENET notes system. Carl Burch of Hewlett Packard picked it up and distributed it at the X3J3 meeting in February 1988. I saw a copy in the X3J3 distribution mailing, and asked Carl for a cleaner copy to publish in Fortran Forum.
A scheduling problem: modeling, approximate algorithms, and implementation
Authors: Robert L. Holliday, Lowell A. Carmony
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

Beginning students tend to think that computer science means only programming. As teachers of computer science, we are constantly trying to emphasize that the important component of computer science is a problem solving ability. This is not easy for several reasons. First of all, it is difficult to &ldquo;teach&rdquo; problem solving, whether in the context of computer science or not. Secondly, beginning computer students spend the vast majority of their time struggling to get this program working just before the deadline so that they can then start on the next program. A third reason that students might miss the problem solving focus is that we don't give them enough opportunities to solve problems from start to finish. All too often these programming assignments are presented to the students in a &ldquo;ready-to-program&rdquo; format. That is, the real work is glossed over or is accomplished for them. In this paper we discuss a simple but important application, committee scheduling. This problem is an excellent example of the entire problem solving process and provides students at all levels with the opportunity to formulate a mathematical model, prove a theorem, consider alternate strategies for implementing a solution as a computer algorithm, and perform some elementary algorithm analysis.
A Conceptual Analysis of the Draco Approach to Constructing Software Systems
Authors: P. Freeman
Venue: IEEE Transactions on Software Engineering (1987)

This paper analyzes the concepts of software construction embodied in the Draco approach. The analysis relates specific aspects of Draco to particular software engineering (SE) principles and suggests future research needed to extend the approach. The purpose of this analysis is to help researchers understand Draco better and thus to enhance future research.
Recognizing planar perfect graphs
Authors: Wen-Lian Hsu
Venue: Journal of the ACM (JACM) (1987)

An O(n3) algorithm for recognizing planar graphs that do not contain induced odd cycles of length greater than 3 (odd holes) is presented. A planar graph with this property satisfies the requirement that its maximum clique size equal the minimum number of colors required for the graph (graphs all of whose induced subgraphs satisfy the latter property are perfect as defined by Berge). The algorithm presented is based on decomposing these graphs into essentially two special classes of inseparable component graphs that are easy to recognize. They are (i) planar comparability graphs and (ii) planar line graphs of those planar bipartite graphs whose maximum degrees are no greater than 3. Composition schemes for generating planar perfect graphs from those basic components are also provided. This decomposition algorithm can also be adapted to solve the corresponding maximum independent set and minimum coloring problems. Finally, the path-parity problem on planar perfect graphs is considered.
Implementation of a Constrained Regularization Program (CONTIN) on a Desktop Computer
Authors: Keith J. Stelzer, Michael A. Gordon
Venue: IEEE Transactions on Computers (1985)

A constrained regularization program for inverting linear algebraic and integral equations (CONTIN) [l]-[3] has been implemented on an MC68000 based desktop computer supplemented with floating point accelerator hardware. Implementation of CONTIN on a desktop computer system enhances interactive capabilities and allows economical and time-efficient use of this program on a regular basis within the laboratory.
Optimal parallel generation of a computation tree form
Authors: Ilan Bar-on, Uzi Vishkin
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1985)

Given a general arithmetic expression, we find a computation binary tree representation in O(log n) time using n/log n processors on a concurrent-read, exclusive-write, parallel random-access machine. A new algorithm is introduced for this purpose. Unlike previous serial and parallel solutions, it is not based on using a stack.
SEAVE: a mechanism for verifying user presuppositions in query systems
Authors: Amihai Motro
Venue: ACM Transactions on Information Systems (TOIS) (1986)

Every information system incorporates a database component, and a frequent activity of users of information systems is to present it with queries. These queries reflect the presuppositions of their authors about the system and the information it contains. With most query processors, queries that are based on erroneous presuppositions often result in null answers. These fake nulls are misleading, since they do not point out the user's erroneous presuppositions (and can even be interpreted as their affirmation). This article describes the SEAVE mechanism for extracting presuppositions from queries and verifying their correctness. The verification is done against three repositories of information: the actual data, their integrity constraints, and their completeness assertions. Consequently, queries that reflect erroneous presuppositions are answered with informative messages instead of null answers, and user-system communication is thus improved (an aspect that is particularly important in systems that often are accessed by naive users). First, the principles of SEAVE are described abstractly. Then, specific algorithms for implementing it with relational databases are presented, including a new method for storing knowledge and an efficient algorithm for processing queries against the knowledge.
Why do some people have more difficulty learning to use an information retrieval system than others?
Authors: C. Borgman
Venue: Proceedings of the 10th annual international ACM SIGIR conference on Research and development in information retrieval (1987)

The population using information retrieval systems is becoming increasingly diverse. We find a wide range of skills in ability to use these systems; this diverse population must be accommodated by the next generation of systems. This paper reports on a study to identify variables related to information retrieval aptitude, based on results from earlier studies of searchers and programmers. A sample of undergraduate subjects from English, psychology, and engineering majors was given a series of psychometric tests and compared to known populations. We find that engineering majors exhibit academic background and personality characteristics most like those of skilled searchers and programmers, with contrasting patterns or no discernible patterns in English and psychology majors. The strength of most associations increases when restricted to subjects who have either stayed in one major or who have changed major only within one disciplinary area. About half the variance in choice of major can be explained by scores on the tests administered, and a comparable amount of variance in test scores can be explained by the academic background variables.
Commentary on: solving symbolic equations with PRESS
Authors: Richard Fateman, Alan Bundy, Richard O'Keefe, Leon Sterling
Venue: ACM SIGSAM Bulletin (1988)

The paper "Solving Symbolic Equations with PRESS", by Sterling, Bundy, Byrd, O'Keefe and Silver [Sterling et al 82], describes a program PRESS (PROLOG Equation Solving System) which solves some symbolic, transcendental, non-differential equations. The problem of solving such equations is divided into two levels, a meta-level which is intended as a research vehicle for exploring search strategies in mathematical reasoning and a set of equation-solving modules used initially for the MECHO [Bundy et al 79] system (a project which aims to solve high-school mechanics problems stated in English.)
Teaching digital hardware by using complex lab projects
Authors: Franklin Prosser, David Winkel
Venue: ACM SIGCSE Bulletin (1987)

Indiana University's Department of Computer Science teaches digital hardware organization and design as a two-semester course sequence at the senior/graduate level. The courses are four credit hours each and have classroom and laboratory components. Our goals have been to provide a firm foundation of theoretical and practical knowledge of digital hardware so that our graduates can understand electronic devices, design digital hardware, and work effectively on large projects with engineers, scientists, and managers.In the laboratory our students confront a small number of large and complex problems, with few or no small-scale isolated experiments. This philosophy is consistent with the approach usually taken in the software areas of our curriculum&mdash;to try as best we can to teach the student to cope with the complex issues found in real-world problem-solving. Achieving this goal in the digital hardware instructional laboratory requires a substantial commitment of funds and faculty and staff effort.
Probabilistic search team weighting&mdash;some negative results
Authors: N. Fuhr, P. Muller
Venue: Proceedings of the 10th annual international ACM SIGIR conference on Research and development in information retrieval (1987)

The effect of probabilistic search term weighting on the improvement of retrieval quality has been demonstrated in various experiments described in the literature. In this paper, we investigate the feasibility of this method for boolean retrieval with terms from a prescribed indexing vocabulary. This is a quite different test setting in comparison to other experiments where linear retrieval with free text terms was used. The experimental results show that in our case no improvement over a simple coordination match function can be achieved. On the other hand, models based on probabilistic indexing outperform the ranking procedures using search term weights.
VLSI design of a one-chip data-driven processor: Q-v1
Authors: H. Terada, H. Nishikawa, K. Asada, S. Matsumoto, S. Miyata
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

This paper describes the VLSI design considerations and basic hardware structure of a one-chip data-driven processor Q-v1 which can process high flow-rate data-streams in a dynamic mode of execution. Since the Q-v1 is primarily designed to be a functional VLSI component that is easily programmable to perform various dedicated processing functions, special design considerations were used to realize high on-chip data-flow capability by extensive utilization of an elastic pipeline structure. This paper first presents a dynamic mode data-driven execution-scheme with special emphasis on general design considerations for VLSI-oriented implementation. This paper also presents the Q-v1's basic self-timed elastic data-transfer mechanism. Its application to various functional modules gives rise to a unique &ldquo;flow-thru processing&rdquo; concept. That is, all processing, associative and selective packet-transfer functions are carried out in a highly parallel fashion by the elastic packetized data-flows through distributively and autonomously controlled elastic pipelines.