ppxscal/embedding_network huggingface dataset:
Computing with polynomials given byblack boxes for their evaluations: Greatest common divisors, factorization, separation of numerators and denominators
Authors: Erich Kaltofen, Barry M. Trager
Venue: Journal of Symbolic Computation (1990)

Algorithms are developed that adopt a novel implicit representation for multivariate polynomials and rational functions with rational coefficients, that of black boxes for their evaluation. We show that within this representation the polynomial greatest common divisor and factorization problems, as well as the problem of extracting the numerator and denominator of a rational function, can all be solved in random polynomial-time. Since we can convert black boxes efficiently to sparse format, problems with sparse solutions, e.g., sparse polynomial factorization and sparse multivariate rational function interpolation, are also in random polynomial time. Moreover, the black box representation is one of the most space efficient implicit representations that we know. Therefore, the output programs can be easily distributed over a network of processors for further manipulation, such as sparse interpolation.
Inheritance hierarchies: Semantics and unification
Authors: Gert Smolka, Hassan Ait-Kaci
Venue: Journal of Symbolic Computation (1989)

Inheritance hierarchies are introduced as a means of representing taxonomicallyorganized data. The hierarchies are built up from so-called feature types that are ordered by subtyping and whose elements are records. Every feature type comes with a set of features prescribing fields of its record elements. So-called feature terms are available to denote subsets of feature types. Feature unification is introduced as an operation that decides whether two feature terms have a nonempty intersection and computes a feature term denoting the intersection. We model our inheritance hierarchies as algebraic specifications in ordersortedequational logic using initial algebra semantics. Our framework integrates feature types whose elements are obtained as records with constructor types whose elements are obtained by constructor application. Unification in these hierarchies combines record unification with order-sorted term unification and is presented as constraint solving. We specify a unitary unification algorithm by a set of simplification rules and prove its soundness and completeness with respect to the model-theoretic semantics.
A lighting model aiming at drive simulators
Authors: Eihachiro Nakamae, Kazufumi Kaneda, Takashi Okamoto, Tomoyuki Nishita
Venue: Proceedings of the 17th annual conference on Computer graphics and interactive techniques (1990)

Many techniques for rendering natural objects such as the sea, terrains, and trees have been developed; they are indispensable for flight simulators. In this paper, techniques for rendering road surfaces under various conditions are discussed. Rendering road surfaces is quite useful for the evaluation of driving safety, and it will play an important part in the development of drive simulators. Light sources with high intensity often disturb drivers especially under wet road surface conditions.This paper proposes two models, a reflection model for road surfaces taking into account weather conditions, and a model on streaks of light taking into account both refraction and diffraction of light. Some examples demonstrate the possibility of applications for drive simulators in the future.
Integrity = validity + completeness
Authors: Amihai Motro
Venue: ACM Transactions on Database Systems (TODS) (1989)

Database integrity has two complementary components: validity, which guarantees that all false information is excluded from the database, and completeness, which guarantees that all true information is included in the database. This article describes a uniform model of integrity for relational databases, that considers both validity and completeness. To a large degree, this model subsumes the prevailing model of integrity (i.e., integrity constraints). One of the features of the new model is the determination of the integrity of answers issued by the database system in response to user queries. To users, answers that are accompanied with such detailed certifications of their integrity are more meaningful. First, the model is defined and discussed. Then, a specific mechanism is described that implements this model. With this mechanism, the determination of the integrity of an answer is a process analogous to the determination of the answer itself.
A mechanism for efficient debugging of parallel programs
Authors: Barton P. Miller, Jong-Deok Choi
Venue: ACM SIGPLAN Notices (1989)

This paper addresses the design and implementation of an integrated debugging system for parallel programs running on shared memory multi-processors (SMMP). We describe the use of flowback analysis to provide information on causal relationships between events in a program's execution without re-executing the program for debugging. We introduce a mechanism called incremental tracing that, by using semantic analyses of the debugged program, makes the flowback analysis practical with only a small amount of trace generated during execution. We extend flowback analysis to apply to parallel programs and describe a method to detect race conditions in the interactions of the co-operating processes.
Solutions to the module orientation and rotation problems by neural computation networks
Authors: R. Libeskind-Hadas, C. L. Liu
Venue: Proceedings of the 26th ACM/IEEE Design Automation Conference (1989)

In this paper we study two strategies for modifying a given placement of modules in order to improve the quality of the routing results in the next stage of design. We assume that the modules have already been placed. The first strategy seeks to minimize the total wire length by flipping each module about its vertical and/or horizontal axes of symmetry. The second strategy seeks to minimize the total wire length by rotating each module by a multiple of 90 degrees. We introduce a new algorithm based on the Hopfield-Tank neural-net model to solve these problems. Our algorithm performs better than the best algorithms known for these problems. Both problems are shown to be NP-Complete.
Investigating the communication problems encountered in knowledge acquisition
Authors: V. R. Waldron
Venue: Issue 108 (April 1989) (1989)

Whether conducted manually or with the help of automated software tools, knowledge acquisition is a process fraught with numerous communication problems. It has become widely accepted that domain experts sometimes have trouble articulating their knowledge in a way that knowledge engineers or knowledge acquisition programs can use effectively. These communication difficulties are often vaguely attributed to the unverbalizable, "intuitive" nature of expert problem solving. However, if we are to make substantive improvements in knowledge acquisition technology, a more sophisticated understanding of the communication characteristics of expert-novice (knowledge engineering) interactions needs to be developed.
Mixing coroutines and processes in an Ada tasking implementation
Authors: S. Vestal
Venue: ACM SIGAda Ada Letters (1989)

Not all tasks in an Ada program make use of the full functionality defined in the language reference manual. Certain idiomatic uses of Ada tasks allow these tasks to be implemented as coroutines. This paper presents a method for mixing coroutines and processes to achieve a full implementation for Ada tasking. This approach allows a variety of trade-offs to be made between the level of concurrency, synchronization expense, and scheduling fairness. This, in turn, allows tuning the runtime support for specific application requirements and hardware capabilities.
The role of indexing in technical communication
Authors: Mary Jane Northrop
Venue: ACM SIGDOC Asterisk Journal of Computer Documentation (1990)

The success of a technical document depends heavily on the index. The task of indexing a technical document often cannot begin until insufficient time remains to do a good job. However, for many users of the document, a good index is mandatory to its usability. A good index is especially crucial for technical documents because readers tend to look up specific topics instead of reading the document from cover to cover. A poor index often frustrates readers and taints their view of the entire document. To create a good index, you have to know what makes a good index, understand the indexing tools available, and follow the steps to producing a good index. Additionally, you must make many process decisions that affect the quality of the final index you produce. The skills and processes for creating a good index are similar to those required for most technical communication projects: methodical approach, knowledge of the users' needs, collaboration with colleagues, and testing. This paper discusses how to create a good index and how to make decisions about using personal computer word-processing tools to create an index. It also discusses the feasibility of creating maintainable indexes using these tools.
Parallel Quicksort Using Fetch-And-Add
Authors: P. Heidelberger, A. Norton, John T. Robinson
Venue: IEEE Transactions on Computers (1990)

A parallelization of the Quicksort algorithm that is suitable for execution on a shared memory multiprocessor with an efficient implementation of the fetch-and-add operation is presented. The partitioning phase of Quicksort, which has been considered a serial bottleneck, is cooperatively executed in parallel by many processors through the use of fetch-and-add. The parallel algorithm maintains the in-place nature of Quicksort, thereby allowing internal sorting of large arrays. A class of fetch-and-add-based algorithms for dynamically scheduling processors to subproblems is presented. Adaptive scheduling algorithms in this class have low overhead and achieve effective processor load balancing. The basic algorithm is shown to execute in an average of O(log(N)) time on an N-processor PRAM (parallel random-access machine) assuming a constant-time fetch-and-add. Estimated speedups, based on simulations, are also presented for cases when the number of items to be sorted is much greater than the number of processors.
Statistics loves APL
Authors: J. B. Douglas
Venue: ACM SIGAPL APL Quote Quad (1987)

To call this paper 'STATISTICIANS LOVE APL' would be self-deluding. To call it 'SOME STATISTICIANS LOVE APL' though vague would be accurate. However a balance then might be desirable by appending '&hellip; AND SOME STATISTICIANS HATE APL'. But that title would be both too long and almost vacuous. Nevertheless, this brief historical record at a personal level of the prominent place APL has played, first in the research, second in the teaching, and third in the consultative, activities of the Department of Statistics at the University of New South Wales since 1970 will help to explain and justify such titles. The affinity between Statistics and APL derives primarily from the correspondence between the mathematical structure of much statistical analysis and the structure of APL. Successful exploitation of this correspondence depends on how Statistics is learnt, taught and used. For example, at the teaching level an entirely theoretical course in Statistics which never does anything with numbers will only rarely make contact with computing. Similarly, a 'methods' or 'cookbook' course involving computing will depend on packages which if they use APL will typically do so invisibly. How the correspondence between mathematical structure and APL has been utilized at the University of New South Wales is sketched below. Whilst I was on leave in 1969 from the University of New South Wales at Penn State University doing some heavy statistical computing, the Computing Center called me to say that IBM had given Penn State access to an APL interpreter for a couple of months. I had not heard of APL, but was told it was a splendid system for array manipulation, and that I could have a demonstration, and then some time for personal playing. It was enormously impressive to see how easily arrays could be processed, but because I saw no likelihood that on returning to N.S.W. I would still have access to APL I did not follow up the offer to use it. But before my return to Australia IBM (Aust.) had established the Systems Development Institute in Canberra, and was providing contracts for use of its facilities - amongst these was APL\360; and the School of Mechanical Engineering of the University of N.S.W. (via G. de Vahl Davis) was carrying out a project using APL in engineering education through W.N. Holmes of IBM.
Our failure to educate users in the use and true cost of workstations
Authors: M. Feldman
Venue: Proceedings of the 17th annual ACM SIGUCCS conference on User Services (1989)

I propose to show how people, many in universities and colleges, have fallen into the trap of gratuitously purchasing the latest workstation technology, without regard for the job at hand or the cost of training, support, and maintenance. The fact is that we are in the midst of a computing explosion. It is now possible for individuals to have more computing power on their desk than would have been thought possible only a few years back, and there is no sign that the increases in computing power are going to decline. Today, desktop workstations are described using terms like &ldquo;MIPS&rdquo; (Millions of Instructions Per Second), &ldquo;MFLOPS&rdquo; (Millions of Floating point Operations Per Second), and &ldquo;megs&rdquo; (megabytes of memory or disk storage) -- terms that until recently were reserved to describe mainframes. Individuals can now purchase these workstations with more computing power for the dollar than ever before, and they are doing it like there is no tomorrow. People are spending all of their money on the fastest, slickest computers that they can get their hands on. Most of these people have forgotten what computers are -- they are tools. They look for the &ldquo;best computer&rdquo; that they can buy, not the best tool for the job at hand. They have also forgotten that to use a computer, like any tool, correctly, there must be training and ongoing support and maintenance. In their zeal to buy the best, they forget to make allowances in their budgets for training, support, and maintenance. The outcome, all too often, is that these people end up with very expensive word processors, terminals, or paper weights on their desks. Not until people understand that this is a problem will it be possible to avoid the trap. I hope to make the problem clear so people can make more intelligent decisions in the workstation arena.
Some results on the defect
Authors: R. Bradford
Venue: Proceedings of the ACM-SIGSAM 1989 international symposium on Symbolic and algebraic computation (1989)

The defect of an algebraic number field (or, more correctly, of a presentation of the field) is the largest rational integer that divides the denominator of any algebraic integer in the field when written using that presentation. Knowing the defect, or estimating it accurately is extremely valuable in many algorithms, the factorization of polynomials over algebraic number fields being a prime example. We present a few results that are a move in the right direction.
A generalized algorithm for centrality problems on trees
Authors: Arnon Rosenthal, José A. Pino
Venue: Journal of the ACM (JACM) (1989)

A general framework is presented for rapidly analyzing tree networks to compute a measure of the centrality or eccentricity of all vertices in the tree. Several problems, which have been previously described in the literature, fit this framework. Some of these problems have no published solution better than performing a separate traversal for each vertex whose eccentricity is calculated. The method presented in this paper performs just two traversals and yields the eccentricities of all vertices in the tree. Natural sufficient conditions for the algorithm to work in linear time on any given problem are stated.
Playground: an object-oriented simulation system with agent rules for children of all ages
Authors: J. Fenton, K. Beck
Venue: ACM SIGPLAN Notices (1989)

Programming languages for children have been limited by primitive control and data structures, indirect user interfaces, and artificial syntax. Playground is a child-oriented programming language that uses objects to structure data and has a modular control structure, a direct-manipulation user interface, and an English-like syntax. Integrating Playground into the curriculum of a classroom of 9- to 10-year-olds has given us valuable insights from the programs intended users, and confirmed many of our design decisions.
MUIR - a language development environment
Authors: Kurt Normark
Venue: Proceedings of the 1988 ACM SIGSMALL/PC symposium on ACTES (1988)

The concept of a language development environment is introduced and motivated. The key facilities and characteristics of such an environment is described, and a concrete system called Muir is studied. In a language development environment the language definition formalism is central. We introduce a context free grammar definition formalism that emphasizes the hierarchical classification of syntactic domains, and we argue that syntax-directed editing is useful especially when making experiments with new languages. Finally, we discuss how to keep documents consistent with a grammar that is under development.
Unification in Boolean Rings and Abelian Groups
Authors: Alexandre Boudet, Jean-Pierre Jouannaud, Manfred Schmidt-Schauss
Venue: Journal of Symbolic Computation (1989)

A complete unification algorithm is presented for the combination of two theories E in T(F,X) and E' in T(F',X) where F and F' denote two disjoint sets of function symbols, E and E' are arbitrary equational theories for which are given, for E: a complete unification algorithm for terms in T(F @? C,X), where C is a set of free constants and a complete constant elimination algorithm for eliminating a constant c from a term s; for E': a complete unification algorithm. E' is supposed to be cycle free, i.e., equations x=t where x is a variable occurring in t have no E'-solution. The method adapts to unification of infinite trees. It is applied to two well-known open problems, when E is the theory of Boolean Rings or the theory of Abelian Groups, and E' is the free theory. Our interest to Boolean Rings originates in VLSI verification.
Some algebraic and geometric computations in PSPACE
Authors: John Canny
Venue: Proceedings of the twentieth annual ACM symposium on Theory of computing (1988)

We give a PSPACE algorithm for determining the signs of multivariate polynomials at the common zeros of a system of polynomial equations. One of the consequences of this result is that the &ldquo;Generalized Movers' Problem&rdquo; in robotics drops from EXPTIME into PSPACE, and is therefore PSPACE-complete by a previous hardness result [Rei]. We also show that the existential theory of the real numbers can be decided in PSPACE. Other geometric problems that also drop into PSPACE include the 3-d Euclidean Shortest Path Problem, and the &ldquo;2-d Asteroid Avoidance Problem&rdquo; described in [RS]. Our method combines the theorem of the primitive element from classical algebra with a symbolic polynomial evaluation lemma from [BKR]. A decision problem involving several algebraic numbers is reduced to a problem involving a single algebraic number or primitive element, which rationally generates all the given algebraic numbers.
The Case for Electric Design of Real-Time Software
Authors: B. Sanden
Venue: IEEE Transactions on Software Engineering (1989)

G. Booch has analyzed a problem involving the software of a set of free-floating buoys. The correspondence points out that Booch's analysis fails to address one important system issue, namely the fact that the software must support two concurrent activities, and shows that an analysis according to the M.A. Jackson method will reveal this difficulty at an early design stage. On the other hand, the Jackson approach does not deal with some configuration issues, which are handled in Booch's analysis. This shows that one method is sometimes not enough to address all important, systemwide aspects of a problem. Rather than arguing about which one design method is best, the author recommends taking an electric view and using any combination of approaches that yields important results in a given situation.
Web Structures: A Tool for Representing and Manipulating Programs
Authors: A. Maggiolo-Schettini, M. Napoli, G. Tortora
Venue: IEEE Transactions on Software Engineering (1988)

The authors introduce web structures and their transformations and develop their theory in the framework of category theory. Once a program has been represented as a web structure, software tools, such as a high-level data flow analyzer or other general program transformers, can be written as sets of web structure production rules. An implementation of web structure transformations is in progress. The mathematical theory of web structure transformations allows form proofs of properties both at the metatheoretical and theoretical levels.
The Evolution Support Environment System
Authors: C. V. Ramamoorthy, Yutaka Usuda, Atul Prakash, W. T. Tsai
Venue: IEEE Transactions on Software Engineering (1990)

The evolution support environment (ESE) system, which provides a framework for capturing and making available semantic information about software components of an evolving software system, is described. The goal in the design of the ESE system was to provide integrated support for management of software architecture configuration, life-cycle configuration, and version control. Software architecture configuration management allows tracking of interconnections among software components that make up a system. Life-cycle management allows traceability among specifications, design, code, and test cases during software development. Adding version control allows specific versions of software objects and their associated objects, such as specifications and test cases, to be retrieved. The authors' experience with the use of the system is discussed.
Continuing education activities of the ACM
Authors: Robert M. Aiken, Neal S. Coulter, Julia E. Hodges, Joyce C. Little, Helen C. Takacs
Venue: ACM SIGCSE Bulletin (1988)

Continuing education is a major concern for most professional societies. This is especially true for ones like ACM, whose members are working at the leading edge of technology - both in research and within numerous application areas. ACM, through its Education Board, sponsors several different activities to assist members in their quest to keep abreast of the latest technical developments. This panel has several purposes. On the one hand it will serve as a means for disseminating more widely information on our current projects. In addition it will allow us to receive feedback from the membership with respect to how they perceive theses activities, what changes they might like to see, and what new projects we should be considering. Among the topics that will be discussed are Self Assessment Procedures, Professional Development Seminars, Tutorial Weeks, and accreditation efforts, and Institute for Certification of Computer Professionals (ICCP) activities. After these activities are briefly described, the remainder of the session will be devoted to answering questions and soliciting ideas from the audience.