ppxscal/embedding_network huggingface dataset:
Some experiments in algebraic manipulation by computer
Authors: Arnold Lapidus, Max Goldstein
Venue: Communications of the ACM (1965)

A set of subroutines to allow algebraic manipulations on the IBM 7094 computer has been written using a List Processor, SLIP. A series of four problems of increasing difficulty were solved using these routines.
Finding zeros of a polynomial by the Q-D algorithm
Authors: P. Henrici, Bruce O. Watkins
Venue: Communications of the ACM (1965)

A method which finds simultaneously all the zeros of a polynomial, developed by H. Rutishauser, has been tested on a number of polynomials with real coefficients. This slowly converging method (the Quotient-Difference (Q-D) algorithm) provides starting values for a Newton or a Bairstow algorithm for more rapid convergence. Necessary and sufficient conditions for the existence of the Q-D scheme are not completely known; however, failure may occur when zeros have equal, or nearly equal magnitudes. Success was achieved, in most of the cases tried, with the failures usually traceable to the equal magnitude difficulty. In some cases, computer roundoff may result in errors which spoil the scheme. Even if the Q-D algorithm does not give all the zeros, it will usually find a majority of them.
Efficient string matching: an aid to bibliographic search
Authors: Alfred V. Aho, Margaret J. Corasick
Venue: Communications of the ACM (1975)

This paper describes a simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text. The algorithm consists of constructing a finite state pattern matching machine from the keywords and then using the pattern matching machine to process the text string in a single pass. Construction of the pattern matching machine takes time proportional to the sum of the lengths of the keywords. The number of state transitions made by the pattern matching machine in processing the text string is independent of the number of keywords. The algorithm has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10.
Design of Multi-Invariant Data Structures for Robust Shared Accesses in Multiprocessor Systems
Authors: I-Ling Yen, Farokh B. Bastani, David J. Taylor
Venue: IEEE Transactions on Software Engineering (2001)

Multiprocessor systems are widely used in many application programs to enhance system reliability and performance. However, reliability does not come naturally with multiple processors. We develop a multi-invariant data structure approach to ensure efficient and robust access to shared data structures in multiprocessor systems. Essentially, the data structure is designed to satisfy two invariants, a strong invariant, and a weak invariant. The system operates at its peak performance when the strong invariant is true. The system will operate correctly even when only the weak invariant is true, though perhaps at a lower performance level. The design ensures that the weak invariant will always be true in spite of fail-stop processor failures during the execution. By allowing the system to converge to a state satisfying only the weak invariant, the overhead for incorporating fault tolerance can be reduced. In this paper, we present the basic idea of multi-invariant data structures. We also develop design rules that systematically convert fault-intolerant data abstractions into corresponding fault-tolerant versions. In this transformation, we augment the data structure and access algorithms to ensure that the system always converges to the weak invariant even in the presence of fail-stop processor failures. We also design methods for the detection of integrity violations and for restoring the strong invariant. Two data structures, namely, binary search tree and double-linked list, are used to illustrate the concept of multi-invariant data structures.
Master-Slave Strategy and Polynomial Approximation
Authors: Laurent Alfandari, Vangelis Th. Paschos
Venue: Computational Optimization and Applications (2000)

A lot of minimization covering problems on graphs consist in covering vertices or edges by subgraphs verifying a certain property. These problems can be seen as particular cases of set-covering. If the number of subgraphs is polynomial in the order n of the input-graph, then these problems can be approximated within logarithmic ratio by the classical greedy set-covering algorithm. We extend the class of problems approximable by this approach to covering problems where the number of candidate subgraphs is exponential in n, by revisiting an old technique called &ldquo;master-slave&rdquo; and extending it to weighted master or/and slave problems. Finally, we use the master-slave tool to prove some positive approximation results for two network-design and a VLSI-design graph-problems.
An experiment in high level language microprogramming and verification
Authors: David A. Patterson
Venue: Communications of the ACM (1981)

The STRUM system was created to apply software engineering techniques to microprogramming. It provides the tools that allow the microprogrammer to use high level language, structured programming, and formal program verification to create emulations for a horizontally microprogrammed computer. This system is evaluated in two parts: (1) High level microprogramming language design and its use in structured microprogramming; and (2) Verification of a large microprogram. Both parts of this evaluation include experimental results. Part I includes a comparison of an emulation created using traditional techniques to the same emulation created using the STRUM system. Part II describes the formal verification of a 1700 line program that was immediately subjected to extensive testing. This work provides new results on the efficiency of high level microprogramming languages, the effectiveness of peephole optimization for microcode and the practicality of formal microprogram verification.
Degree of multiprogramming in page-on-demand systems
Authors: V. L. Wallace, D. L. Mason
Venue: Communications of the ACM (1969)

A simple stochastic model is described which offers a base for understanding the relationship between the number of programs permitted to share memory (the degree of multiprogramming), drum traffic rates, and central processing unit utilization in page-on-demand, multiprogrammed, time-shared computer systems. The model preserves, as a key feature, the property of page-demand statistics which implies a &ldquo;burst&rdquo; of page demands at the beginning of any job or quantum execution. The model, a Markov chain, is analyzed numerically and the results are presented graphically for a wide range of key environment-descriptive parameters. Implications of the results to time-shared system design and programming are discussed, and a calculation of the optimal degree of multiprogramming for a wide range of parameters is presented graphically.
A case study in programming for parallel-processors
Authors: Jack L. Rosenfeld
Venue: Communications of the ACM (1969)

An affirmative partial answer is provided to the question of whether it is possible to program parallel-processor computing systems to efficiently decrease execution time for useful problems. Parallel-processor systems are multiprocessor systems in which several of the processors can simultaneously execute separate tasks of a single job, thus cooperating to decrease the solution time of a computational problem. The processors have independent instruction counters, meaning that each processor executes its own task program relatively independently of the other processors. Communication between cooperating processors is by means of data in storage shared by all processors. A program for the determination of the distribution of current in an electrical network was written for a parallel-processor computing system, and execution of this program was simulated. The data gathered from simulation runs demonstrate the efficient solution of this problem, typical of a large class of important problems. It is shown that, with proper programming, solution time when NP processors are applied approaches 1/NP times the solution time for a single processor, while improper programming can actually lead to an increase of solution time with the number of processors. Storage interference and other measures of performance are discussed. Stability of the method of solution was also investigated.
Development cost and size estimation starting from high-level specifications
Authors: William Fornaciari, Fabio Salice, Umberto Bondi, Edi Magini
Venue: Proceedings of the ninth international symposium on Hardware/software codesign (2001)

This paper addresses the problem of estimating cost and development effort of a system, starting from its complete or partial high-level description. In addition, some modifications to evaluate the cost-effectiveness of reusing VHDL-based designs, are presented. The proposed approach has been formalized using an approach similar to the COCOMO analysis strategy, enhanced by a project size prediction methodology based on a VHDL function point metric. The proposed design size estimation methodology has been validated through a significant benchmark, the LEON-1 microprocessor, whose VHDL description is of public domain
What makes Web sites credible?: a report on a large quantitative study
Authors: B. J. Fogg, Jonathan Marshall, Othman Laraki, Alex Osipovich, Chris Varma, Nicholas Fang, Jyoti Paul, Akshay Rangnekar, John Shon, Preeti Swani, Marissa Treinen
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems (2001)

The credibility of web sites is becoming an increasingly important area to understand. To expand knowledge in this domain, we conducted an online study that investigated how different elements of Web sites affect people's perception of credibility. Over 1400 people participated in this study, both from the U.S. and Europe, evaluating 51 different Web site elements. The data showed which elements boost and which elements hurt perceptions of Web credibility. Through analysis we found these elements fell into one of seven factors. In order of impact, the five types of elements that increased credibility perceptions were &ldquo;real-world feel&rdquo;, &ldquo;ease of use&rdquo;, &ldquo;expertise&rdquo;, &ldquo;trustworthiness&rdquo;, and &ldquo;tailoring&rdquo;. The two types of elements that hurt credibility were &ldquo;commercial implications&rdquo ;and &ldquo;amateurism&rdquo;. This large-scale study lays the groundwork for further research into the elements that affect Web credibility. The results also suggest implications for designing credible Web sites.
Better approximation algorithms for bin covering
Authors: Janos Csirik, David S. Johnson, Claire Kenyon
Venue: Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms (2001)

Bin covering takes as input a list of items with sizes in (0, 1) and places them into bins of unit demand so as to maximize the number of bins whose demand is satisfied. This is in a sense a dual problem to the classical one-dimensional bin packing problem, but has for many years lagged behind the latter in terms of the quality of the best approximation algorithms. We design algorithms for this problem that close the gap, both in terms of worst- and average-case results. We present (1) the first asymptotic approximation scheme for the offline version, (2) algorithms that have bounded worst-case behavior for instances with discrete item sizes and expected behavior that is asymptotically optimal for all discrete &ldquo;perfect-packing distributions&rdquo; (ones for which optimal packings have sublinear expected waste), and (3) a learning algorithm that has asymptotically optimal expected behavior for all discrete distributions. The algorithms of (2) and (3) are based on the recently-developed online Sum-of-Squares algorithm for bin packing. We also present experimental analysis comparing the algorithms of (2) and suggesting that one of them, the Sum-of-Squares-with-Threshold algorithm, performs quite well even for discrete distributions that do not have the perfect-packing property.
Ultra Low-Voltage Floating-Gate (FGUVMOS) Amplifiers
Authors: Yngvar Berg, Øivind Næss, Mats E. HØvin, Henning Gundersen
Venue: Analog Integrated Circuits and Signal Processing (2001)

This paper presents an approach to programming threshold voltages in floating-gate CMOS circuits. The threshold voltage programming is exploited in ultra low-voltage (ULV) amplifier design. A threshold voltage programming scheme is presented and several examples of analog ULV circuits are described. The ULV circuits are used in ULV amplifier design. Measured data are provided.
On the type accuracy of garbage collection
Authors: Martin Hirzel, Amer Diwan
Venue: Proceedings of the 2nd international symposium on Memory management (2000)

We describe a novel approach to obtaining type-accurate information for garbage collection in a hardware and language independent way. Our approach uses a run-time analysis to propagate pointer/non-pointer information from significant type events (such as allocation, which always returns a pointer). We use this technique to perform a detailed comparison of garbage collectors with different levels of accuracy and explicit deallocation on a range of C programs. We take advantage of the portability of our approach to conduct our experiments on three hardware platforms, Alpha/Digital UNIX 4.0D, Pentium/Linux 2.2, and SPARC/Solaris 2. We find that the choice of hardware platform (which includes the architecture, operating system, and libraries) greatly affects whether or not type accuracy enhances a garbage collector's ability to reclaim objects.
On the Influence of Start-Up Costs in Scheduling Divisible Loads on Bus Networks
Authors: Bharadwaj Veeravalli, Xiaolin Li, Chi Chung Ko
Venue: IEEE Transactions on Parallel and Distributed Systems (2000)

Optimal distribution of divisible loads in bus networks is considered in this paper. The problem of minimizing the processing time is investigated by including all the overhead components that could penalize the performance of the system, in addition to the inherent communication and computation delays. These overheads are considered to be constant additive factors to the respective communication and computation components. Closed-form solution for the processing time is derived and the influence of overheads on the optimal processing time is analyzed. We derive a necessary and sufficient condition for the existence of the optimal processing time. We then study the effect of changing the load distribution sequence on the time performance. Through rigorous analysis, an optimal sequence to distribute the load among the processors is identified, whenever it exists. In case such an optimal sequence fails to exist, we present a greedy algorithm to obtain a suboptimal sequence based on some important properties of the overhead factors. Then, the effect of granularity of the data that is divisible is considered in the analysis for the case of homogeneous networks. An integer approximation algorithm capable of generating integer values of the load fractions in time $O(m)$, where $m$ is the number of processors in the network, is proposed. We then show that the upper bound on the suboptimal solution generated by our algorithm lies within a radius given by the sum of the computation and communication delays. Several numerical examples are presented to illustrate the concepts.
Recurrence relations for the Fresnel integral 0&infin;exp -ctdtt 1+t2 and similar integrals
Authors: Forman S. Acton
Venue: Communications of the ACM (1974)

The class of functions defined by &int;&infin;0[exp(-cX)dt/(1 + Y) (&radic;t)k] where X and Y are either t or t2 and k is -1, 0, or 1 can be evaluated by recurrences for all but small values of the parameter c. These recurrences, given here, are more efficient than the usual asymptotic series.
Bifurcation Control via State Feedback for Systems with a Single Uncontrollable Mode
Authors: Wei Kang
Venue: SIAM Journal on Control and Optimization (2000)

The state feedback control of bifurcations with quadratic or cubic degeneracy is addressed for systems with a single uncontrollable mode. Based on normal forms and invariants, the classification of bifurcations for systems with a single uncontrollable mode is obtained (Table 1). Using invariants, stability characterizations are derived for a family of bifurcations, including saddle-node bifurcations, transcritical bifurcations, pitchfork bifurcations, and bifurcations with a cusp or hysteresis phenomenon. Bifurcations in systems under perturbed feedbacks are also addressed. In the case of a saddle-node bifurcation, continuous but not differentiable feedbacks are introduced to locally remove the bifurcation and to achieve the stability.
Computer-drawn flowcharts
Authors: Donald E. Knuth
Venue: Communications of the ACM (1963)

To meet the need for improved documentation of written computer programs, a simple system for effective communication is presented, which has shown great promise. The programmer describes his program in a simple format, and the computer prepares flow charts and other cross-referenced listings from this input. The description can be kept up-to-date easily, and the final output clearly explains the original program. The system has also proved to be a valuable debugging and coding aid.
HPTS: a behaviour modelling language for autonomous agents
Authors: Stéphane Donikian
Venue: Proceedings of the fifth international conference on Autonomous agents (2001)

Behavioural models offer the ability to simulate autonomous agents like organisms and living beings. Psychological studies have shown that human behaviour can be described by a perception-decision-action loop, in which the decisional process should integrate several programming para\-digms such as real-time, concurrency, and hierarchy. Building such systems for interactive simulation requires the design of a reactive system treating flows of data to and from the environment, and involving task control and preemption. Accordingly, in this paper we address the adequateness to the decisional part of the behavioural model of Hierarchical Parallel Transition Systems (HPTS).
Easy, realistic GUIs with Java in CS1
Authors: Ken Lambert, Martin Osborne
Venue: Proceedings of the fourteenth annual consortium on Small Colleges Southeastern conference (2000)

Instructors who use Java as a teaching language are faced with a dilemma: either use terminal I/O and miss the excitement and relevance of graphical user interfaces and event-driven programming, or use Java's Abstract Windowing Toolkit and distract students from the fundamental concepts of computer science. This paper introduces a third alternative, the use of a toolkit, BreezyGUI, that enables students to develop realistic GUIs and event-driven programs easily while still focusing on traditional computer science concepts.
Arithmetical croquet
Authors: John A. Trono
Venue: Proceedings of the sixth annual CCSC northeastern conference on The journal of computing in small colleges (2001)

This paper will describe how the game of Arithmetical Croquet was used in a second semester programming course. This game can be used as an assignment in many different ways: students can design it completely from scratch; students can complete classes that are already designed; students can focus only on the strategy module to select the next move when everything else has been supplied to them, etc. In particular, this paper describes experiences with the first assignment type listed above, and provides the details for the program evaluation scheme that was used.
Applying summarization techniques for term selection in relevance feedback
Authors: Adenike M. Lam-Adesina, Gareth J. F. Jones
Venue: Proceedings of the 24th annual international ACM SIGIR conference on Research and development in information retrieval (2001)

Query-expansion is an effective Relevance Feedback technique for improving performance in Information Retrieval. In general query-expansion methods select terms from the complete contents of relevant documents. One problem with this approach is that expansion terms unrelated to document relevance can be introduced into the modified query due to their presence in the relevant documents and distribution in the document collection. Motivated by the hypothesis that query-expansion terms should only be sought from the most relevant areas of a document, this investigation explores the use of document summaries in query-expansion. The investigation explores the use of both context-independent standard summaries and query-biased summaries. Experimental results using the Okapi BM25 probabilistic retrieval model with the TREC-8 ad hoc retrieval task show that query-expansion using document summaries can be considerably more effective than using full-document expansion. The paper also presents a novel approach to term-selection that separates the choice of relevant documents from the selection of a pool of potential expansion terms. Again, this technique is shown to be more effective that standard methods.
A comment on axiomatic approaches to programming
Authors: B. R. Hunt
Venue: Communications of the ACM (1970)

Reference is made to the paper by C. A. R. Hoare [1] which discusses the fundamentals of an axiomatic approach to computer programming. One advantage for an axiomatic system proposed by Hoare is that an axiomatic description of computer programs would allow the application of deductive inference to formally and conclusively prove that a computer program performs the computation the designer intended. The purpose of this short communication is to discuss the relationship between Hoare's concepts and an approach in a book by Wymore [2].
Minimal Projective Reconstruction Including Missing Data
Authors: Fredrik Kahl, Anders Heyden, Long Quan
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (2001)

The minimal data necessary for projective reconstruction from image points is well-known when each object point is visible in all images. In this paper, we formulate and propose solutions to a new family of reconstruction problems for multiple images from minimal data, where there are missing points in some of the images. The ability to handle the minimal cases with missing data is of great theoretical and practical importance. It is unavoidable to use them to bootstrap robust estimation such as RANSAC and LMS algorithms and optimal estimation such as bundle adjustment. First, we develop a framework to parameterize the multiple view geometry needed to handle the missing data cases. Then, we present a solution to the minimal case of eight points in three images, where one different point is missing in each of the three images. We prove that there are, in general, as many as 11 solutions for this minimal case. Furthermore, all minimal cases with missing data for three and four images are catalogued. Finally, we demonstrate the method on both simulated and real images and show that the algorithms presented in this paper can be used for practical problems.
An efficient context-free parsing algorithm
Authors: Jay Earley
Venue: Communications of the ACM (1983)

A parsing algorithm which seems to be the most efficient general context-free algorithm known is described. It is similar to both Knuth's LR(k) algorithm and the familiar top-down algorithm. It has a time bound proportional to n3 (where n is the length of the string being parsed) in general; it has an n2 bound for unambiguous grammars; and it runs in linear time on a large class of grammars, which seems to include most practical context-free programming language grammars. In an empirical comparison it appears to be superior to the top-down and bottom-up algorithms studied by Griffiths and Petrick.