ppxscal/embedding_network huggingface dataset:
Generalized best-first search strategies and the optimality of A*
Authors: Rina Dechter, Judea Pearl
Venue: Journal of the ACM (JACM) (1985)

This paper reports several properties of heuristic best-first search strategies whose scoring functions &fnof; depend on all the information available from each candidate path, not merely on the current cost g and the estimated completion cost h. It is shown that several known properties of A* retain their form (with the minmax of f playing the role of the optimal cost), which helps establish general tests of admissibility and general conditions for node expansion for these strategies. On the basis of this framework the computational optimality of A*, in the sense of never expanding a node that can be skipped by some other algorithm having access to the same heuristic information that A* uses, is examined. A hierarchy of four optimality types is defined and three classes of algorithms and four domains of problem instances are considered. Computational performances relative to these algorithms and domains are appraised. For each class-domain combination, we then identify the strongest type of optimality that exists and the algorithm for achieving it. The main results of this paper relate to the class of algorithms that, like A*, return optimal solutions (i.e., admissible) when all cost estimates are optimistic (i.e., h &le; h*). On this class, A* is shown to be not optimal and it is also shown that no optimal algorithm exists, but if the performance tests are confirmed to cases in which the estimates are also consistent, then A* is indeed optimal. Additionally, A* is also shown to be optimal over a subset of the latter class containing all best-first algorithms that are guided by path-dependent evaluation functions.
Design of an interpretive environment for Turing
Authors: James R. Cordy, T. C. N. Graham
Venue: Papers of the Symposium on Interpreters and interpretive techniques (1987)

This paper presents the design of an interpreter structure for modern programming languages such as Turing and Modula II that is modular and highly orthogonal while providing maximal flexibility and efficiency in implementation. At the outermost level, the structure consists of a front end, responsible for interaction with the user, and a back end, responsible for execution. The two are linked by a single database consisting of the tokenized statements of the user program. Interfaces between the major modules of each part are defined in such a way as to maximize reusability, and each interface can service a range of plug-compatible modules implementing radically different semantics. The design accommodates a wide spectrum of interpreter types ranging from batch-oriented compiler-simulators to statement-by-statement interactive execution, and provides for a range of program editing tools from simple line editors through to modern language-directed programming environments. It has served as the basis for several interpretive systems including the production Turing interpreter, the Turing Programming Environment, and the Turing Tool software maintenance tool.
A common-LISP implementation of an extended Prolog system
Authors: Giuseppe Cattaneo, Vincenzo Loia
Venue: ACM SIGPLAN Notices (1988)

This paper presents an extended Common LISP implementation of a PROLOG interpreter named CL-Prolog, giving a detailed description of the major problems met and the principal data structures and algorithms used for their solution.A sort of PROLOG virtual processor has been implemented whose instructions are defined using LISP as microcode; particular attention is payed to the the Memory Management Unit and the basic Control Mechanism.The reader is supposed to be accustomed with PROLOG Programming and the evaluation of the first order Logic Predicates.The main characteristics of CL-Prolog are:- Clean separation from the host language.- Tail recursion handling and binding mechanism optimization.- Portability, flexibility, and extendibility of basic model.- Interaction between PROLOG code and host LISP interpreter.Interpreter's core is separated in three big modules in order to cut off the different issues :- the reader, the evaluator, and the resources manager -Finally the introduction of a double-stack recursion management has sped up the Backtracking mechanism; the resulting overall performances of this interpreter are really comparable to other commercial one even when they are implemented using procedural languages, supposed faster, confirming the possibility of using very high level languages as effective tools for real implementations.
Combining physical and visual simulation&mdash;creation of the planet Jupiter for the film &ldquo;2010&rdquo;
Authors: Larry Yaeger, Craig Upson, Robert Myers
Venue: ACM SIGGRAPH Computer Graphics (1986)

By integrating physical simulation, in the form of numerical fluid dynamics, with visual simulation, in the form of particle rendering, texture mapping and traditional polygonal modeling techniques, we have achieved a uniquely realistic and organic special effects sequence of a planetary atmospheric flow. This paper examines the selection, implementation, and application of these techniques, know collectively as VORTEX, to produce the moving images of the planet Jupiter in the film "2010." Details of the generation of the flow field and the fluid dynamic algorithms employed are presented, along with issues relating to the generation and updating of the atmospheric images. We also describe the integration of these techniques with an advanced computer graphics imaging system. The VORTEX system provides a fairly general solution to a class of imaging problems involving two-dimensional fluid flows, and we remark upon its application to other projects. VORTEX, as an example of the marriage of physical simulation to visual simulation, demonstrates the importance of computer graphics to the computational sciences and of the physical sciences to the field of computer graphics.
Timing variation in dual loop benchmark
Authors: N. Altman, N. Weiderman
Venue: ACM SIGAda Ada Letters (1988)

Benchmarks that measure time values using a standard system clock often employ a dual loop design. One of the important assumptions of this design is that textually identical loop statements will take the same amount of time to execute. This assumption has been tested on two bare computers with Ada reg; test programs and has been demonstrated to be inaccurate in these specific test cases.
Using representation clauses as an operating system interface
Authors: Karl A. Nyberg
Venue: ACM SIGAda Ada Letters (1987)

A set of Ada reg; packages and programs for performing system accounting under the Ultrix trade; operating system on the VAX trade; using VADS trade; are described. These programs provide for the billing of timesharing customers based on amount of connect time and quantity of CPU usage. Interactions at the operating system level are accomplished through the use of representation specifications. A description of the changes required when the operating system data structures were modified by the operating system manufacturer during an upgrade are also presented.
On the complexity of branching programs and decision trees for clique functions
Authors: Ingo Wegener
Venue: Journal of the ACM (JACM) (1988)

Exponential lower bounds on the complexity of computing the clique functions in the Boolean decision-tree model are proved. For one-time-only branching programs, large polynomial lower bounds are proved for k-clique functions if k is fixed, and exponential lower bounds if k increases with n. Finally, the hierarchy of the classes BPd(P) of all sequences of Boolean functions that may be computed by d-times only branching programs of polynomial size is introduced. It is shown constructively that BP1(P) is a proper subset of BP2(P).
Error bounds for performance prediction in queuing networks
Authors: Y. C. Tay, Rajan Suri
Venue: ACM Transactions on Computer Systems (TOCS) (1985)

Analytic models based on closed queuing networks (CQNS) are widely used for performance prediction in practical systems. In using such models, there is always a prediction error, that is, a difference between the predicted performance and the actual outcome. This prediction error is due both to modeling errors and estimation errors, the latter being the difference between the estimated values of the CQN parameters and the actual outcomes. This paper considers the second class of errors; in particular, it studies the effect of small estimation errors and provides bounds on prediction errors based on bounds on estimation errors. Estimation errors may be divided into two types: (1) the difference between the estimated value and the average value of the outcome, and (2) the deviation of the actual value from its average. The analysis first studies the sum of both types of errors, then the second type alone. The results are illustrated with three examples.
Update and retrieval in a relational database through a universal schema interface
Authors: Volkert Brosda, Gottfried Vossen
Venue: ACM Transactions on Database Systems (TODS) (1988)

A database system that is based on the universal relation (UR) model aims at freeing its users from specifying access paths on both the physical and on the logical levels. All information about the logical structure of the database (i.e., its conceptual scheme) is hidden from users; they need only to know the attribute names, which now carry all the semantics of the database. Previous work on UR interfaces has concentrated on the design and implementation of query languages that serve to facilitate retrieval of data from a relational database. On the other hand, updates are always handled as before, which means that users still have to know the logical structure of the database in case they want to insert, delete, or modify tuples. In this paper the concepts underlying a UR interface, which is really &ldquo;universal,&rdquo; are presented; it is based on the UR model, and it permits not only queries but also updates: Combinations of attributes that may participate in an update-operation ("objects") have to be specified during the design phase of the database, and are then embodied into the database scheme by an extended synthesis algorithm. They form the basis for any insertion or deletion operation. A precise definition of &ldquo;insertable&rdquo; tuples, and of the insert- and delete-operation in this new context, is given. It is then shown that these operations modify a database state in such a way that a representative instance always exists. This is accomplished by providing a more detailed version of Sagiv's uniqueness condition and by exploring the structure of nonunique objects. Since the underlying database always has a representative instance, this instance can be used to define the window function for retrieval. It is shown that it is still possible to compute windows by a union of minimal extension joins.
Specifying software/hardware interactions in distributed systems
Authors: G-C. Roman
Venue: Proceedings of the 9th international conference on Software Engineering (1987)

This paper describes a system level specification approach that enables the designer to formulate and answer questions regarding the system's logical correctness and performance characteristics when the interaction between the hardware and the software is important, i.e., when the impact of faults, failures, communication delay, hardware selection, scheduling policies, etc., must be considered. In the simplest terms, our concern extends beyond the traditional software correctness questions by addressing the issue of employing logical verification techniques to determine software correctness and performance characteristics when running on a particular distributed hardware architecture and using a particular operating system. A language called CSPS (an extension of Hoare's CSP) is used in the illustration of the approach. Employing CSP as a base allows modelled systems to be verified using techniques already developed for verifying CSP programs.
Experiences teaching concurrency in Ada
Authors: Ronald J. Leach
Venue: ACM SIGAda Ada Letters (1987)

Many students have great difficulty understanding concurrent programming at anything but the most superficial level. In this paper, we describe some experience teaching concurrent programming in Ada and give some suggestions for implementing the ideas discussed here.
The JSP-Tutor: a computerized aid for teaching Jackson structured programming
Authors: Peter Kokol
Venue: ACM SIGSMALL/PC Notes (1987)

In the article we briefly discuss the Jackson Structured Programming method and compare this method with the conventional approach to programming. Then we introduce a computerized tutor which helps in the teaching of JSP. The tutor supports all aspects of development in JSP in a "step-by-step" mode for laymen and a "normal" mode for the advanced user. It runs on the Graphic Partner computer under CPM or on the IBM Personal Computer under MS-DOS.
The Grobner basis of a module over KUX1,...,Xne and polynomial solutions of a system of linear equations
Authors: A. Furukawa, T. Sasaki, H. Kobayashi
Venue: Proceedings of the fifth ACM symposium on Symbolic and algebraic computation (1986)

Many computations relating polynomial ideals are reduced to calculating polynomial solutions of a system of linear equations with polynomial coefficients[1]. Zacharias[2] pointed out that Buchberger's algorithm[3] for Gr&ouml;bner basis can be applied to solving such a linear equation. From the computational viewpoint, Zacharias' method seems to be much better than the previous methods. Hence, we have generalized his method to solve a system of equations directly. After completing the paper, we knew that similar works had been done by several authors[4,5]. This paper describes our method briefly.
Structure of a LOTOS interpreter
Authors: J P Briand, M C Fehri, L Logrippo, A Obaid
Venue: Proceedings of the ACM SIGCOMM conference on Communications architectures protocols (1986)

LOTOS is an executable specification language for protocols and services currently being standardized within ISO. It is based on an extended version of Milner's Calculus of Communicating Systems (CCS) and ACT ONE Abstract Data Type formalism. After a brief introduction to LOTOS, we give here an account of a prototype LOTOS interpreter, which includes an interactive system that allows the user to direct the execution of a specification. The interpreter was implemented in YACC/LEX, C, and Prolog. The discussion includes the following topics: syntax and static semantics analysis; translation from LOTOS external format to internal representation; evaluation of Abstract Data Type value expressions and CCS* clauses.
Uniform hashing is optimal
Authors: Andrew C. Yao
Venue: Journal of the ACM (JACM) (1985)

It was conjectured by J. Ullman that uniform hashing is optimal in its expected retrieval cost among all open-address hashing schemes [4]. In this paper, we show that, for any open-address hashing scheme, the expected cost of retrieving a record from a large table that is &agr;-fraction full is at least (1/&agr;) log (1/(1 - &agr;)) + o(1). This proves Ullman's conjecture to be true in the asymptotic sense.
Antisampling for Estimation: An Overview
Authors: Neil C. Rowe
Venue: IEEE Transactions on Software Engineering (1985)

We survey a new way to get quick estimates of the values of simple statistks (like count, mean, standard deviation, maximum, median, and mode frequency) on a large data set. This approach is a comprehensive attempt (apparently the first) to estimate statistics without any sampling. Our "antisampling" techniques have analogies to those of sampling, and exhibit similar estimation accuracy, but can be done much faster than sampling with large computer databases. Antisampling exploits computer science ideas from database theory and expert systems, building an auxiliary structure called a "database abstract." We make detailed comparisons to several different kinds of sampling.
Designing APL2 programs for unification
Authors: James A. Brown, Ramiro Guerreiro
Venue: ACM SIGAPL APL Quote Quad (1987)

Unification is one of the fundamental algorithms of logic programming. It is fundamentally a pattern matching process which includes variables that match anything. This paper explores various alternatives for the APL2 programmer to create unification programs. The paper discusses the trade offs that the application programmer has to make as he analyzes the alternatives. Rather than advance a specific proposal as the best alternative, the reader is asked to make his own choice.
A concurrent multiple-paradigm list processor TAO/ELIS
Authors: I. Takeuchi, H. G. Okuno, N. Osato, M. Kamio, K. Yamazaki
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

TAO is a Lisp dialect with concurrent programming features and other programming paradigms: logic programming and object-oriented programming, implemented on a Lisp machine called ELIS. These paradigms are fused at the core of the evaluation kernel of the interpreter. Hence, the user can mix them in arbitrary granularity without loss of efficiency. TAO concurrent programming primitives are so powerful and efficient that several users can enjoy the time-sharing conversation on a simple operating system written in TAO. TAO provides also efficient string manipulation primitives so that Japanese characters and ASCII characters can be mixed in a string. TAO/ELIS is proved to be one of the fastest list processing systems ever made.
Nonassociative polynomial identities, Young tableaux and computers
Authors: G. M. Piacentini Cattaneo, M. Pittaluga
Venue: ACM SIGSAM Bulletin (1988)

One of the problems which arises in nonassociative algebra is to find an efficient way to handle and to classify polynomial identities, because of the number of summands which appear in their expression. In this paper we show that the results in the literature on enumeration of minimal identities of particular degrees are simply particular cases of the well understood theory of Young tableaux and the representations of the symmetric groups, and as such can be generated mechanically by a computer. By applying a method introduced by Regev in the study of (associative) P.I. algebras, we show that one may classify directly from the standard tableaux all (associative or nonassociative) minimal identities of a given degree based on any set of forms of association. This method has the advantage, with respect to the similar technique used repeatedly in papers by Hentzel and Piacentini (for an explanation of the technique, see for example Hentzel [3],[4], and Hentzel-Piacentini [5]), that it may be easily implemented on a computer to solve the problem of classifying identities, with very little computing time; this allows one to handle identities of high degree, which was almost impossible until now. The implementation of the algorithm has been performed on a Micro VAX of our Department, using Common Lisp.
Storage reclamation in object oriented database systems
Authors: Margaret H. Butler
Venue: ACM SIGMOD Record (1987)

When providing data management for nontraditional data, database systems encounter storage reclamation problems similar to those encountered by virtual memory managers. The paging behavior of existing automatic storage reclamation schemes as applied to objects stored in a database management system is one indicator of the performance cost of various features of storage reclamation algorithms. The results of modeling the paging behavior suggest that Mark and Sweep causes many more input/output operations than Copy-Compact. A contributing factor to the expense of Mark and Sweep is that it does not recluster memory as does Copy-Compact. If memory is not reclustered, the average cost of accessing data can go up tremendously. Other algorithms that do not recluster memory also suffer performance problems, namely all reference counting schemes. The main advantage of a reference count scheme is that it does not force a running program to pause for a long period of time while reclamation takes place, it amortizes the cost of reclamation across all accesses. The reclustering of Copy-Compact and the cost amortization of Reference Count are combined to great advantage in Baker's algorithm. This algorithm proves to be the least prohibitive for operating on disk-based data.
Minimizing multimodal functions of continuous variables with the &ldquo;simulated annealing&rdquo; algorithmCorrigenda for this article is available here
Authors: A. Corana, M. Marchesi, C. Martini, S. Ridella
Venue: ACM Transactions on Mathematical Software (TOMS) (1987)

A new global optimization algorithm for functions of continuous variables is presented, derived from the &ldquo;Simulated Annealing&rdquo; algorithm recently introduced in combinatorial optimization. The algorithm is essentially an iterative random search procedure with adaptive moves along the coordinate directions. It permits uphill moves under the control of a probabilistic criterion, thus tending to avoid the first local minima encountered. The algorithm has been tested against the Nelder and Mead simplex method and against a version of Adaptive Random Search. The test functions were Rosenbrock valleys and multiminima functions in 2,4, and 10 dimensions. The new method proved to be more reliable than the others, being always able to find the optimum, or at least a point very close to it. It is quite costly in term of function evaluations, but its cost can be predicted in advance, depending only slightly on the starting point.
Fault tolerant distributed process-control systems
Authors: F. B. Bastani, C. V. Ramamoorthy
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

Distributed processing is a cost-effective way of enabling critical process-control systems to react to emergencies in real-time. We discuss methods of making the system robust based on the use of self-stabilizing fault tolerance techniques. The control entities are organized in a hierarchical control structure. Upper level nodes deal with more abstract information and decompose the task of the system into a series of intermediate subtasks. These subtasks are further decomposed into a set of decentralized subtasks which are assigned to lower level nodes which operate without excessive coordination. Decentralized decomposition also makes the system inherently fault tolerant and simplifies the code. Other nodes are made fault tolerant using telescopic replication which provides economical redundancy without compromising system reliability.
A complexity theory based on Boolean algebra
Authors: S. Skyum, L. G. Valiant
Venue: Journal of the ACM (JACM) (1985)

A projection of a Boolean function is a function obtained by substituting for each of its variables a variable, the negation of a variable, or a constant. Reducibilities among computational problems under this relation of projection are considered. It is shown that much of what is of everyday relevance in Turing-machine-based complexity theory can be replicated easily and naturally in this elementary framework. Finer distinctions about the computational relationships among natural problems can be made than in previous formulations and some negative results are proved.