Results 1 - 10
of
11
An Empirical Assessment of Algorithms for Constructing a Minimum Spanning Tree
, 1994
"... We address the question of theoretical vs. practical behavior of algorithms for the minimum spanning tree problem. We review the factors that influence the actual running time of an algorithm, from choice of language, machine, and compiler, through low-level implementation choices, to purely algorit ..."
Abstract
-
Cited by 38 (4 self)
- Add to MetaCart
We address the question of theoretical vs. practical behavior of algorithms for the minimum spanning tree problem. We review the factors that influence the actual running time of an algorithm, from choice of language, machine, and compiler, through low-level implementation choices, to purely algorithmic issues. We discuss how to design a careful experimental comparison between various alternatives. Finally, we present the results from a study in which we used: multiple languages, compilers, and machines; all the major variants of the comparison-based algorithms; and eight varieties of graphs in five families, with sizes of up to 0.5 million vertices (in sparse graphs) or 1.3 million edges (in dense graphs).
Checking Mergeable Priority Queues
- In Digest of the 24th Symposium on Fault-Tolerant Computing
, 1994
"... We present an efficient algorithm which can check the answers given by the fundamental abstract data types priority queues and mergeable priority queues. This is the first linear-time checker for mergeable priority queues. These abstract data types are widely used in routing, scheduling, simulation, ..."
Abstract
-
Cited by 17 (4 self)
- Add to MetaCart
We present an efficient algorithm which can check the answers given by the fundamental abstract data types priority queues and mergeable priority queues. This is the first linear-time checker for mergeable priority queues. These abstract data types are widely used in routing, scheduling, simulation, computational geometry and many other algorithmic domains. We have implemented our answer checker and have performed experiments comparing the speed of our checker to recently benchmarked priority queue and mergeable priority queue implementations, and our checker is substantially faster than the best of these implementations. 1 Introduction This paper concerns the fundamental abstract data types of priority queues (PQs) and mergeable priority queues (MPQs). These abstract data types have been recognized as centrally important from the early days of computer-algorithm design. They appear in seminal algorithm texts such as Knuth's [10] and Aho, Hopcroft and Ullman's [1]. Data structure impl...
A Formally Verified Sorting Certifier
- IEEE Transactions on Computers
, 1997
"... In this paper we describe the use of the certification-trail technique as the basis of a new hybrid framework for building formally verified software systems. Our technique involves formally verifying only a part of a software system; however, the technique yields a software system which still satis ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
In this paper we describe the use of the certification-trail technique as the basis of a new hybrid framework for building formally verified software systems. Our technique involves formally verifying only a part of a software system; however, the technique yields a software system which still satisfies the most important correctness properties. Substantial savings in the overhead of software verification, and also in program running time are shown to be possible in comparison to traditional methods. We apply our technique to the problem of sorting since sorting represents one of the most basic operations in computer science, and a formally verified sorting certifier should have significant applicability. The results presented in this paper represent an enhancement of the certification-trail technique relative to the detection of incorrect computational output caused by software faults. Index terms: Sorting; formal program verification; software correctness; certification trails; prog...
An Empirical Comparison of Priority Queue Algorithms
"... In the last three decades a considerable amount of research has been pursued in the efficient implementation of the pending event set (PES) associated with discrete-event simulation. The reason is simple: a fast event management has a very crucial impact in the total running time of both sequential ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
In the last three decades a considerable amount of research has been pursued in the efficient implementation of the pending event set (PES) associated with discrete-event simulation. The reason is simple: a fast event management has a very crucial impact in the total running time of both sequential and parallel simulations. This report focuses on this problem by studying the empirical performance of a number of solutions to the PES implementation in which we include a complete binary tree described in [26], 1 Introduction The PES is defined as the set of all the events generated during a discrete-event simulation and whose occurrence have not been simulated yet. In order to determine the next event to take place, it is necessary to extract the event with the least time from the PES. We call this operation extract-min. On the other hand, the occurrence of any event during the simulation can produce the insertion of new pending or future events in the PES; insert operation. These two b...
On the Pending Event Set and Binary Tournaments
"... this paper we study the performance of the very first tournament based complete binary tree. We focus on discrete-event simulation and our results show that this unknown predecessor of heaps can be a more efficient alternative to the fastest pending event set implementations reported in the literatu ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
this paper we study the performance of the very first tournament based complete binary tree. We focus on discrete-event simulation and our results show that this unknown predecessor of heaps can be a more efficient alternative to the fastest pending event set implementations reported in the literature. We also extend the idea of binary tournaments to a (2; L)-tournament structure which exhibits the property of delaying the processing of events with larger timestamps whilst it keeps similar theoretical performance bounds to the native (2; 1)-structure or CBT. This property can be certainly useful in systems where many pending events are expected to be deleted or rescheduled during the simulation. 2 Tournament trees
Discrete-Event Simulation on the Bulk-Synchronous Parallel Model
, 1998
"... The bulk-synchronous parallel (BSP) model of computing has been proposed to enable the development of portable software which achieves scalable performance across diverse parallel architectures. A number of applications of computing science have been demonstrated to be efficiently supported by the B ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The bulk-synchronous parallel (BSP) model of computing has been proposed to enable the development of portable software which achieves scalable performance across diverse parallel architectures. A number of applications of computing science have been demonstrated to be efficiently supported by the BSP model in practice.
A Generalization of Binomial Queues
- Information Processing Letters
, 1996
"... We give a generalization of binomial queues involving an arbitrary sequence (mk )k=0;1;2;::: of integers greater than one. Different sequences lead to different worst case bounds for the priority queue operations, allowing the user to adapt the data structure to the needs of a specific application. ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We give a generalization of binomial queues involving an arbitrary sequence (mk )k=0;1;2;::: of integers greater than one. Different sequences lead to different worst case bounds for the priority queue operations, allowing the user to adapt the data structure to the needs of a specific application. Examples include the first priority queue to combine a sub-logarithmic worst case bound for Meld with a sub-linear worst case bound for Delete min. Keywords: Data structures; Meldable priority queues. 1 Introduction The binomial queue, introduced in 1978 by Vuillemin [14], is a data structure for meldable priority queues. In meldable priority queues, the basic operations are insertion of a new item into a queue, deletion of the item having minimum key in a queue, and melding of two queues into a single queue. The binomial queue is one of many data structures which support these operations at a worst case cost of O(logn) for a queue of n items. Theoretical [2] and empirical [9] evidence i...
Checking and Certifying Computational Results
, 1994
"... For many years, there has been tremendous interest in methods to make computation more reliable. In this thesis, we explore various techniques that can be implemented in software to help insure the correctness of the output of a program. The basic tool we use is a generalization of the notion of a p ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
For many years, there has been tremendous interest in methods to make computation more reliable. In this thesis, we explore various techniques that can be implemented in software to help insure the correctness of the output of a program. The basic tool we use is a generalization of the notion of a program checker called a certifier. A certifier is given intermediate computations from a program computing an answer in an effort to simplify the checking process. The certifier is constructed in such a way that even if the intermediate computations it is given are incorrect, the certifier will never accept an incorrect output. We have constructed certifiers and program checkers for several common abstract data types including mergeable priority queues and splittable priority queues. We have also constructed a certifier for an abstract data type that allows approximate nearest neighbor queries to be performed efficiently. We have implemented and experimentally evaluated some of these algorithms. In the parallel domain, we have developed both general and problem specific techniques for certifying parallel computation. Lastly, we have formally proven correct a certifier for sorting, and have analyzed the advantages of using certifiers in conjunction with formal program verification techniques. This work forms a thesis presented by Jonathan D. Bright to the faculty of the Department of Computer Science, at the Johns Hopkins University, in partial fulfillment of the requirements for the degree of Doctor of Philosophy, under the supervision of Professor Gregory F. Sullivan. iii Acknowledgements I would like to thank my advisor, Gregory Sullivan, for giving me an excellent research topic for my thesis, and for vastly improving my writing skills during my stay at Hopkins. Also, ...
Pairing Heaps are Sub-optimal
, 1997
"... Pairing heaps were introduced as a self-adjusting alternative to Fibonacci heaps. They provably enjoy log n amortized costs for the standard heap operations. Although it has not been verified that pairing heaps perform the decrease key operation in constant amortized time, this has been conjectured ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Pairing heaps were introduced as a self-adjusting alternative to Fibonacci heaps. They provably enjoy log n amortized costs for the standard heap operations. Although it has not been verified that pairing heaps perform the decrease key operation in constant amortized time, this has been conjectured and extensive experimental evidence supports this conjecture. Moreover, pairing heaps have been observed to be superior to Fibonacci heaps in practice. However, as demonstrated in this paper, pairing heaps do not accommodate decrease key operations in constant amortized time. 1 Introduction Pairing heaps were introduced [1] as a self-adjusting alternative to Fibonacci heaps [2]. They are easy to code and provably enjoy log n amortized costs for the standard heap operations. Although it had not been verified that pairing heaps perform the decrease key operation in constant amortized time (the raison d'etre of Fibonacci heaps), this has been conjectured [1] and extensive experimental eviden...
A New Priority Queue for Simulation of Many Objects
"... During the discrete event simulation of complex systems based on many active/passive objects, the efficiency of the algorithm and data structure used to manage the events of the process is crucial. Both runtime and space used are relevant for the study of large systems. A main issue in the simulatio ..."
Abstract
- Add to MetaCart
During the discrete event simulation of complex systems based on many active/passive objects, the efficiency of the algorithm and data structure used to manage the events of the process is crucial. Both runtime and space used are relevant for the study of large systems. A main issue in the simulation of these systems are the interactions between pairs of objects. These interactions are treated as events that take place at discrete instants. The event management is performed by using a priority queue in which sequences of events are inserted/deleted in an efficient manner. In this paper we introduce and analyze a new priority queue -- called Local Minima -- which resembles a hybrid structure between the classical heap and linked lists. We also present empirical results showing that our priority queue is more efficient and stable than other alternatives in the simulation of molecular fluids. Systems with many moving objects -- such as molecular fluids -- are an important class of applica...

