ppxscal/embedding_network huggingface dataset:
Reconstruction of pictures from their projections
Authors: Richard Gordon, Gabor T. Herman
Venue: Communications of the ACM (1971)

There are situations in the natural sciences and medicine (e.g. in electron microscopy and X-ray photography) in which it is desirable to estimate the gray levels of a digital picture at the individual points from the sums of the gray levels along straight lines (projections) at a few angles. Usually, in such situations, the picture is far from determined and the problem is to find the &ldquo;most representative&rdquo; picture. Three algorithms are described (all using Monte Carlo methods) which were designed to solve this problem. The algorithms are applicable in a large and varied number of fields. The most important uses may be the reconstruction of possibly asymmetric particles from electron micrographs and three-dimensional X-ray analysis.
A statechart-based model for hypermedia applications
Authors: Maria Cristina Ferreira de Oliveira, Marcelo Augusto Santos Turine, Paulo Cesar Masiero
Venue: ACM Transactions on Information Systems (TOIS) (2001)

This paper presents a formal definition for HMBS (Hypermedia Model Based on Statecharts). HMBS uses the structure and execution semantics of statecharts to specify both the structural organization and the browsing semantics of hypermedia applications. Statecharts are an extension of finite-state machines and the model is thus a generalization of hypergraph-based hypertext models. Some of the most important features of HMBS are its ability to model hierarchy and synchronization of information; provision of mechanisms for specifying access structures, navigational contexts, access control, multiple tailored versions,and hierarchical views. Analysis of the underlying statechart machine allows verification of page reachability, valid paths, and other properties, thus providing mechanisms to support authors in the development of structured applications.
Generic programming using STL
Authors: Lawrence D'Antonio
Venue: Journal of Computing Sciences in Colleges (2001)

The course content and methodology of a senior-level, computer science software engineering course is described and analyzed with respect to general education goals. The general education model in use is briefly described and the potential application of software engineering in that model is explored in detail. With only minor revisions, the course may be used simultaneously as a writing intensive, oral communication intensive and critical thinking intensive course simultaneously.
The expected shortest path problem: algorithms and experiments
Authors: Deniz Sarioz, Victor Dan
Venue: Proceedings of the sixth annual CCSC northeastern conference on The journal of computing in small colleges (2001)

In this project, we designed, implemented, and tested algorithms for the Expected Shortest Path problem. The problem can be stated as follows: given a weighted, directed graph whose edges can only be traversed with given probabilities, find the path with the shortest expected length from a given start node to a given goal node. This problem is at the center of our vision-guided mobile robot project, where the robot has to navigate the probabilistic graph defined by visibilities between landmarks. Applications of the expected shortest path problem include route planning given known traffic conditions, as well as similar decision problems in the presence of uncertainty.
Effective null pointer check elimination utilizing hardware trap
Authors: Motohiro Kawahito, Hideaki Komatsu, Toshio Nakatani
Venue: ACM SIGPLAN Notices (2000)

We present a new algorithm for eliminating null pointer checks from programs written in Java trade;. Our new algorithm is split into two phases. In the first phase, it moves null checks backward, and it is iterated for a few times with other optimizations to eliminate redundant null checks and maximize the effectiveness of other optimizations. In the second phase, it moves null checks forward and converts many null checks to hardware traps in order to minimize the execution cost of the remaining null checks. As a result, it eliminates many null checks effectively and exploits the maximum use of hardware traps. This algorithm has been implemented in the IBM cross-platform Java Just-in-Time (JIT) compiler. Our experimental results show that our approach improves performance by up to 71% for jBYTEmark and up to 10% for SPECjvm98 over the previously known best algorithm. They also show that it increases JIT compilation time by only 2.3%. Although we implemented our algorithm for Java, it is also applicable for other languages requiring null checking.
Solving the CS1/CS2 lab dilemma: students as presenters in CS1/CS2 laboratories
Authors: Kay A. Robbins, Catherine Sauls Key, Keith Dickinson, John Montgomery
Venue: ACM SIGCSE Bulletin (2001)

In our quest to modernize our CS1/CS2 curriculum, we ran into several problems in the effective delivery of the courses and their associated laboratories. We have developed a teaching model in which students become the presenters for the hands-on laboratories. In order for this approach to be effective, the laboratories must be reused from semester to semester, so that student presenters are truly knowledgeable. The student-presenter model also requires more detailed supporting material and a rethinking of course grading policies.
External memory algorithms and data structures: dealing with massive data
Authors: Jeffrey Scott Vitter
Venue: ACM Computing Surveys (CSUR) (2001)

Data sets in large applications are often too massive to fit completely inside the computers internal memory. The resulting input/output communication (or I/O) between fast internal memory and slower external memory (such as disks) can be a major performance bottleneck. In this article we survey the state of the art in the design and analysis of external memory (or EM) algorithms and data structures, where the goal is to exploit locality in order to reduce the I/O costs. We consider a variety of EM paradigms for solving batched and online problems efficiently in external memory. For the batched problem of sorting and related problems such as permuting and fast Fourier transform, the key paradigms include distribution and merging. The paradigm of disk striping offers an elegant way to use multiple disks in parallel. For sorting, however, disk striping can be nonoptimal with respect to I/O, so to gain further improvements we discuss distribution and merging techniques for using the disks independently. We also consider useful techniques for batched EM problems involving matrices (such as matrix multiplication and transposition), geometric data (such as finding intersections and constructing convex hulls), and graphs (such as list ranking, connected components, topological sorting, and shortest paths). In the online domain, canonical EM applications include dictionary lookup and range searching. The two important classes of indexed data structures are based upon extendible hashing and B-trees. The paradigms of filtering and bootstrapping provide a convenient means in online data structures to make effective use of the data accessed from disk. We also reexamine some of the above EM problems in slightly different settings, such as when the data items are moving, when the data items are variable-length (e.g., text strings), or when the allocated amount of internal memory can change dynamically. Programming tools and environments are available for simplifying the EM programming task. During the course of the survey, we report on some experiments in the domain of spatial databases using the TPIE system (transparent parallel I/O programming environment). The newly developed EM algorithms and data structures that incorporate the paradigms we discuss are significantly faster than methods currently used in practice.
Java consistency: nonoperational characterizations for Java memory behavior
Authors: Alex Gontmakher, Assaf Schuster
Venue: ACM Transactions on Computer Systems (TOCS) (2000)

The Java Language Specification (JLS) [Gosling et al. 1996] provides an operational definition for the consistency of shared variables. The definition remains unchanged in the JLS 2nd edition, currently under peer review, which relies on a specific abstract machine as its underlying model, is very complicated. Several subsequent works have tried to simplify and formalize it. However, these revised definitions are also operational, and thus have failed to highlight the intuition behind the original specification. In this work we provide a complete nonoperational specification for Java and for the JVM, excluding synchronized operations. We provide a simpler definition, in which we clearly distinguish the consistency model that is promised to the programmer from that which should be implemented in the JVM. This distinction, which was implicit in the original definition, is crucial for building the JVM. We find that the programmer model is strictly weaker than that of the JVM, and precisely define their discrepancy. Moreover, our definition is independent of any specific (or even abstract) machine, and can thus be used to verify JVM implementations and compiler optimizations on any platform. Finally, we show the precise range of consistency relaxations obtainable for the Java memory model when a certain compiler optimization&mdash; called prescient stores in JLS&mdash;is applicable.
Fast parallel in-memory 64-bit sorting
Authors: Daniel Jiménez-González, Juan J. Navarro, Josep-L. Larrba-Pey
Venue: Proceedings of the 15th international conference on Supercomputing (2001)

Parallel in-memory 64-bit sorting is an important problem in Database Management Systems and other applications such as Internet Search Engines and Data Mining Tools. We propose a new algorithm that we call Parallel Counting Split Radix sort, PCS-Radix sort. The parallel stages of our algorithm increase the data locality, balance the load between processors caused by data skew and reduce significantly the amount of data communicated. The local stages of PCS-Radix sort are performed only on the bits of the key that have not been sorted during the parallel stages of the algorithm. All those improvements save a significant amount of computational and communication effort. Also, PCS-Radix sort adapts to any parallel computer by changing three simple algorithmic parameters. We have implemented our algorithm on a Cray T3E-900 and the results show that it is more than 2 times faster than the previous fastest 64-bit parallel sorting algorithm. PCS-Radix sort achieves a speed up of more than 23 in 32 processors in relation to the fastest sequential algorithm at our hands.
Teaching computational methods for partial differential equations using the Web
Authors: André Jaun, Johan Hedin, Thomas Johnson
Venue: Computing in Science and Engineering (2001)

Computational methods are part of the problem-solving skills that professionals working in quantitative fields need. Advanced-level textbooks provide the mathematical foundation for one specific approach; however, they miss the overview and examples that are generally necessary to choose the right method and implement a practical solution. Internet technology can be of great value in this context. Thus, we created a problem-based learning environment where knowledge is acquired by performing well-defined tasks. We also switched from a teaching-centered course to a learning-centered course-the students choose their own focus, order and pace as they explore the material (see http://pde.fusion.kth.se).
Application of level changing to a multilevel storage organization
Authors: Edward Morenoff, John B. McLean
Venue: Communications of the ACM (1967)

A technique for organizing the devices of a computer storage system is described. This technique, called the multilevel store, provides a means for economically satisfying the requirements for very large storage capacities of certain data management and information retrieval systems. The concept of level changing is introduced and its application to the multilevel store is discussed. A possible means for physically organizing the information for efficient use of the multilevel store is presented.
Integrating VRML, Java, and HTML in a web-based tool for computer literacy
Authors: Warren Patterson, Judy Hankins
Venue: Journal of Computing Sciences in Colleges (2001)

Virtual reality visualization tools are gaining importance in many fields including medical training, elementary and secondary school education, and ecology, among others. Since humans live in a three-dimensional world, there is an increasing interest in developing educational tools that are three-dimensional in nature and that allow the user to interact with objects in the world. Virtual reality visualization tools can be used for this purpose. The rapid growth and popularity of the Internet has caused the emergence of many technologies that can be used by instructors to develop two- and three- dimensional visualization tools to enhance the educational experiences of students. The work discussed describes the integration of HTML, Java, Java Swing and VRML to produce a Web-based CRT virtual reality visualization tool that can be used in computer literacy when students are introduced to hardware components. The tool that was developed will be described. Also, experiences learned and problems encountered during the integration of various technologies will be discussed.
Large scale sequencing by hybridization
Authors: Ron Shamir, Dekel Tsur
Venue: Proceedings of the fifth annual international conference on Computational biology (2001)

Sequencing by hybridization is a method for reconstructing a DNA sequence based on its k-mer content. This content, called the spectrum of the sequence, can be obtained from hybridization with a universal DNA chip. However, even with a sequencing chip containing all 49 9-mers and assuming no hybridization errors, only about 400 bases-long sequences can be reconstructed unambiguously. Drmanac et al. suggested sequencing long DNA targets by obtaining spectra of many short overlapping fragments of the target, inferring their relative positions along the target and computing spectra of subfragments that are short enough to be uniquely recoverable. Drmanac et al. do not treat the realistic case of errors in the hybridization process. In this paper we study the effect of such errors. We show that the probability of ambiguous reconstruction in the presence of (false negative) errors is close to the probability in the errorless case. More precisely, the ratio between these probabilities is 1 + &Ogr;(p/(1 - p)4 &middot; 1/d) where d is the average distance between neighboring subfragments, and p is the probability of a false negative. We also obtain lower and upper bounds for the probability of unambiguous reconstruction based on errorless spectrum. For realistic chip sizes, these bounds are tighter than those given by Arratia et al. Finally, we report results on simulations with real DNA sequences, showing that even in the presence of 50% false negative errors, a target of cosmid length can be recovered with less than 0.1% miscalled bases.
Industrial experience with SPARK
Authors: Roderick Chapman
Venue: ACM SIGAda Ada Letters (2000)

This paper considers a number of large, real-world projects that are using SPARK---an annotated sublauguage of Ada that is appropriate for the development of high-integrity systems. Three projects are considered in some detail where SPARK has made a contribution to meeting the most stringent software engineering standards. The projects are the Ship/Helicopter Operational Limits Instrumentation System (UK Interim Defence Standard 00-55), the MULTOS CA (a high-security system developed to the standards of ITSEC level E6), and the Lockheed C130J Mission Computer (DO-178B Level A). A less successful project is also described. The lessons learnt from these projects show that SPARK offers a cost-effective approach for the construction of high-integrity software when it is deployed judiciously within an appropriate software development process.
Current Operational Amplifier (COA): CMOS Realization and Active Compensation
Authors: Inas A. Awad, Ahmed M. Soliman
Venue: Analog Integrated Circuits and Signal Processing (2000)

A new COA-CMOS realization suitable for low-power designs is presented. The proposed design features a high performance in terms of input impedance, current tracking accuracy, DC offset and AC response. A new class AB output stage is used in order to enhance the slew rate as well as increase power efficiency. The active compensation of the COA based amplifiers is also discussed and the adjoint network theorem is used to generate the compensated circuits from their voltage mode counterparts.
Improving programs by the introduction of recursion
Authors: R. S. Bird
Venue: Communications of the ACM (1977)

A new technique of program transformation, called &ldquo;recursion introduction,&rdquo; is described and applied to two algorithms which solve pattern matching problems. By using recursion introduction, algorithms which manipulate a stack are first translated into recursive algorithms in which no stack operations occur. These algorithms are then subjected to a second transformation, a method of recursion elimination called &ldquo;tabulation,&rdquo; to produce programs with a very efficient running time. In particular, it is shown how the fast linear pattern matching algorithm of Knuth, Morris, and Pratt can be derived in a few steps from a simple nonlinear stack algorithm.
In search of metaphors for tangible user intefaces
Authors: Dag Svanaes, William Verplank
Venue: Proceedings of DARE 2000 on Designing augmented reality environments (2000)

In this paper, we seek to identify interesting sources of metaphor for tangible user interfaces (TUIs). We begin by doing a systematic exploration of the design space that results from constructing simple TUI devices. From this we argue that a new set of metaphors are needed for this domain. From usability tests of simple tangible devices, we suggest that magic and paranormal phenomena could be a fruitful place to look for new metaphors for TUIs.
The META4 programming language
Authors: Jason W. Kim
Venue: Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum) (2000)

META4 is an object oriented language with first order reasoning capability that also includes reasoning about the change that the classes go through over time, efficient partial evaluation via runtime propagation of specific values, explicit run-time code generation via a source code to machine code compiling engine - not an interpreter. Coupled with a strong encapsulation principle and certain reasonable language restrictions and programmer supplied annotations, META4 allows all parts of the program, including the compiler itself to be extended and specialized over time. Therefore, META4 is mutable. We introduce the concept of run-time grammar extension, an elegant and powerful facility for custom-programming of new language semantics at the grammar level. In other words, its semantics and grammar can be extended or even modified, even at run time to solve specific problems.
Techniques for the simulation of computer logic
Authors: Melvin A. Breuer
Venue: Communications of the ACM (1964)

A special operator calculus developed by Hartley in 1956 together with a new mapping scheme has been found to be efficient in programming analysis of variance for multifactor experiments. The operator calculus and the mapping scheme are described in detail.
Creating and exploiting flexibility in steiner trees
Authors: Elaheh Bozorgzadeh, Ryan Kastner, Majid Sarrafzadeh
Venue: Proceedings of the 38th annual Design Automation Conference (2001)

This paper presents the concept of flexibility -- a geometric property associated with Steiner trees. Flexibility is related to the routability of the Steiner tree. We present an optimal algorithm which takes a Steiner tree and outputs a more flexible Steiner tree. Our experiments show that a net with a flexible Steiner tree increases its routability. Experiments with a global router show that congestion is improved by approximately 20\%.
Evolving and messaging decision-making agents
Authors: Edmund S. Yu
Venue: Proceedings of the fifth international conference on Autonomous agents (2001)

In this paper we describe our neurogenetic approach to developing a multi- agent decision support system which assists users in gathering, merging, analyzing, and using information to assess risks and make recommendations in situations that may require tremendous amounts of time and attention of the users. In Phase I of this project, called the EMMA project, we demonstrated the feasibility of a set of solutions to various problems by building an intelligent agent application that makes recommendations in the credit assessment domain using a constrained, static, well- understood collection of training and testing data. More specifically, this application demonstrated: 1) The effectiveness of a hybrid learning scheme that uses neural networks for local learning by the autonomous domain agents, and a genetic algorithm for evolving the sets of features available to these agents, and the agents themselves. 2) The use of a welldefined agent communication language (IBMs Java- based Knowledge Query and Manipulation Language, or JKQML) to coordinate the training and fusing of multiple decision- making domain agents. 3) The effectiveness of a trainable decisionfusion agent for merging multiple decision- making domain agents results into coherent recommendations for the user. 4) The use of a constrained natural language interface for accepting directives from the user, and for conveying recommendations. Furthermore, the benchmark results show that our EMMA Phase I prototype is comparable to the first class machine learning algorithm in the domain of loan applications or credit- worthiness, as reflected in the published results. We have also shown that our neurogenetic learning algorithm has the potential to perform far better than others, while using just about one half of the input features.
On the near-optimality of the shortest-latency-time-first drum scheduling discipline
Authors: Harold S. Stone, Samuel H. Fuller
Venue: Communications of the ACM (1973)

For computer systems in which it is practical to determine the instantaneous drum position, a popular discipline for determining the sequence in which the records are to be accessed is the so-called shortest-latency-time-first, SLTF, discipline. When a collection of varying-length records is to be accessed from specified drum positions, it is known that the SLTF discipline does not necessarily minimize the drum latency time. However, we show that the total time to access the entire collection for any SLTF schedule is never as much as a drum revolution longer than a minimum latency schedule.
High-cost CFD on a low-cost cluster
Authors: Thomas Hauser, Timothy I. Mattox, Raymond P. LeBeau, Henry G. Dietz, P. George Huang
Venue: Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM) (2000)

Direct numerical simulation of the Navier-Stokes equations (DNS) is an important technique for the future of computational fluid dynamics (CFD) in engineering applications. However, DNS requires massive computing resources. This paper presents a new approach for implementing high-cost DNS CFD using low-cost cluster hardware. After describing the DNS CFD code DNSTool, the paper focuses on the techniques and tools that we have developed to customize the performance of a cluster implementation of this application. This tuning of system performance involves both recoding of the application and careful engineering of the cluster design. Using the cluster KLAT2 (Kentucky Linux Athlon Testbed 2), while DNSTool cannot match the $0.64 per Mflops that KLAT2 achieves on single precision ScaLAPACK, it is very efficient; DNST Tool on KLAT2 achieves price/performance of $2.75 per Mflops double precision and $1.86 single precision. Further, the code and tools are all, or will soon be, made freely available as full source code.