Results 11 - 20
of
28
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...
Subsymbolically Managing Pieces of Symbolical Functions for Sorting
, 1996
"... We present a hybrid system for managing both symbolic and subsymbolic knowledge in a uniform way. Our aim is to solve problems where some gap in formal theories occurs which stops us from getting a fully symbolical solution. The idea is to use neural modules to functionally connect pieces of symboli ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
We present a hybrid system for managing both symbolic and subsymbolic knowledge in a uniform way. Our aim is to solve problems where some gap in formal theories occurs which stops us from getting a fully symbolical solution. The idea is to use neural modules to functionally connect pieces of symbolical knowledge, such as mathematical formulas and deductive rules. The whole system is trained through a backpropagation learning algorithm where all (symbolic or subsymbolic) free parameters are updated piping back the error through each component of the system. The structure of this system is very general, possibly varying over time, possibly managing fuzzy variables and decision trees. We use as a test-bed the problem of sorting a file, where suitable suggestions on next sorting moves are supplied by the network also on the basis of hints provided by some conventional sorters. A comprehensive discussion of system performance is provided in order to understand behaviors and capabilities of ...
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, ...
A new sort algorithm: Self-indexed sort
- ACM SIGPLAN Notices
, 1996
"... ABSTRACT: This paper presents a new sort algorithm, self-indexed sort (SIS), on an approach of non compare-based sorting. Results on time complexity O(n) and space complexity O(n+m) are achieved, where n is the size of data being sorted and m is the size of the sorting space. Two versions of SIS sor ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
ABSTRACT: This paper presents a new sort algorithm, self-indexed sort (SIS), on an approach of non compare-based sorting. Results on time complexity O(n) and space complexity O(n+m) are achieved, where n is the size of data being sorted and m is the size of the sorting space. Two versions of SIS sort algorithm are implemented with one for the sort of structured records and the other for pure data file. The performance of SIS sort is tested and analysed under various conditions.
Metric Space Similarity Joins
"... Similarity join algorithms find pairs of objects that lie within a certain distance ɛ of each other. Algorithms that are adapted from spatial join techniques are designed primarily for data in a vector space and often employ some form of a multi-dimensional index. For these algorithms, when the data ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Similarity join algorithms find pairs of objects that lie within a certain distance ɛ of each other. Algorithms that are adapted from spatial join techniques are designed primarily for data in a vector space and often employ some form of a multi-dimensional index. For these algorithms, when the data lies in a metric space, the usual solution is to embed the data in vector space and then make use of a multidimensional index. Such an approach has a number of drawbacks when the data is high dimensional as we must eventually find the most discriminating dimensions, which is not trivial. In addition, although the maximum distance between objects increases with dimension, the ability to discriminate between objects in each dimension does not. These drawbacks are overcome via the introduction of a new method called Quickjoin that does not require a multi-dimensional index and instead adapts techniques used in distance-based indexing for use in a method that is conceptually similar to the Quicksort algorithm. A formal analysis is provided of the Quickjoin method. Experiments show that the Quickjoin method significantly outperforms two existing techniques.
Bottom-up transfer in Example-based Machine Translation
"... This paper describes the transfer component of a syntax-based Example-based Machine Translation system. The source sentence parse tree is matched in a bottom-up fashion with the source language side of a parallel example treebank, which results in a target forest which is sent to the target language ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper describes the transfer component of a syntax-based Example-based Machine Translation system. The source sentence parse tree is matched in a bottom-up fashion with the source language side of a parallel example treebank, which results in a target forest which is sent to the target language generation component. The results on a 500 sentences test set are compared with a top-down approach to transfer of the same system, with the bottom-up approach yielding much better results. 1
Enhanced Quicksort Algorithm
, 2008
"... Abstract: Sorting is considered as one of the important issues of computer science. Although there is a huge number of sorting algorithms, sorting problem has attracted a great deal of research; because efficient sorting is important to optimize the use of other algorithms. It is also often in produ ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract: Sorting is considered as one of the important issues of computer science. Although there is a huge number of sorting algorithms, sorting problem has attracted a great deal of research; because efficient sorting is important to optimize the use of other algorithms. It is also often in producing human-readable output. This paper presents a new sorting algorithm called SMS-algorithm (Scan, Move, and Sort). The SMS algorithm is considered as an enhancement on the Quicksort algorithm in the best, average, and worst cases when dealing with an input array of a large size and when the maximum and the minimum values were small, especially when sorting a list of distinct elements. The SMS algorithm is compared with the Quicksort algorithm and the results were promising.
Fast Exchange Sorts
"... We present three variations of the following new sorting theme: Throughout the sort, the arrayismaintained in piles of sorted elements. Ateach step, the piles are split into two parts, so that the elements of the left piles are smaller than #or equal to# the elements of the right piles. Then, th ..."
Abstract
- Add to MetaCart
We present three variations of the following new sorting theme: Throughout the sort, the arrayismaintained in piles of sorted elements. Ateach step, the piles are split into two parts, so that the elements of the left piles are smaller than #or equal to# the elements of the right piles. Then, the two parts are each sorted, recursively. The theme, then, is a combination of Hoare's Quicksort idea, and the Pick algorithm, by Blum, et al., for linear selection. The variations arise from the possible choices of splitting method. Twovariations attempt to minimize the average number of comparisons. The better of these has an average performance of 1:075n lg n comparisons. The third variation sacri#ces the average case for a worst-case performance of 1:756n lg n, which is better than Heapsort. They all require minimal extra space and about as manydatamoves as comparisons. 1 Introduction The sorting problem is: Given an array a 1 ;a 2 ; ###;a n of elements, rearrange them so t...
Minimum traveltime calculation in 3-D graph theory
, 1996
"... this paper is constructed in the following way. We define M layer connections if all the grid points (i, j, k) satisfy ..."
Abstract
- Add to MetaCart
this paper is constructed in the following way. We define M layer connections if all the grid points (i, j, k) satisfy
Exploiting Nested Independent FORALL Loops in Distributed Memory Machines
"... This paper presents yet another forall loop extension for the C language. These extensions are aimed both for homogeneous distributed memory and shared memory architectures ..."
Abstract
- Add to MetaCart
This paper presents yet another forall loop extension for the C language. These extensions are aimed both for homogeneous distributed memory and shared memory architectures

