Results 11  20
of
54
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 multidimensional index. For these algorithms, when the data ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
(Show Context)
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 multidimensional 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 multidimensional index and instead adapts techniques used in distancebased 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.
A survey of analysis techniques for discrete algorithms
, 1977
"... This survey includes an introduction to the concepts of problem complexity, analysis of algorithms to find bounds on complexity, averagecase behavior, and approximation algorithms The major techniques used in analysis of algorithms are reviewed and examples of the use of these methods are presented ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
This survey includes an introduction to the concepts of problem complexity, analysis of algorithms to find bounds on complexity, averagecase behavior, and approximation algorithms The major techniques used in analysis of algorithms are reviewed and examples of the use of these methods are presented. A brief explanation of the problem classes P and NP, as well as the class of NPcomplete problems, is also presented.
A GeneralPurpose Model for Heterogeneous Computation
, 2000
"... Heterogeneous computing environments are becoming an increasingly popular platform for executing parallel applications. Such environments consist of a diverse set of machines and offer considerably more computational power at a lower cost than a parallel computer. Efficient heterogeneous parallel ap ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Heterogeneous computing environments are becoming an increasingly popular platform for executing parallel applications. Such environments consist of a diverse set of machines and offer considerably more computational power at a lower cost than a parallel computer. Efficient heterogeneous parallel applications must account for the differences inherent in such an environment. For example, faster machines should possess more data items than their slower counterparts and communication should be minimized over slow network links. Current parallel applications are not designed with such heterogeneity in mind. Thus, a new approach is necessary for designing efficient heterogeneous parallel programs. We propose
Bottomup transfer in Examplebased Machine Translation
"... This paper describes the transfer component of a syntaxbased Examplebased Machine Translation system. The source sentence parse tree is matched in a bottomup 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 2 (1 self)
 Add to MetaCart
(Show Context)
This paper describes the transfer component of a syntaxbased Examplebased Machine Translation system. The source sentence parse tree is matched in a bottomup 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 topdown approach to transfer of the same system, with the bottomup approach yielding much better results. 1
Parallelized QuickSort and RadixSort with Optimal Speedup
 PROCEEDINGS OF INTERNATIONAL CONFERENCE ON PARALLEL COMPUTING TECHNOLOGIES. NOVOSIBIRSK.
, 1991
"... This paper introduces a parallel sorting algorithm based on QuickSort and having an ninput, n processor, time complexity of O(log n) exhibited using a CRCW PRAM model. Although existing algorithms of similar complexity are known, this approach leads to a family of algorithms with a considerably lo ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
This paper introduces a parallel sorting algorithm based on QuickSort and having an ninput, n processor, time complexity of O(log n) exhibited using a CRCW PRAM model. Although existing algorithms of similar complexity are known, this approach leads to a family of algorithms with a considerably lower constant. It is also significant in its close relationship to a standard sequential algorithm
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 testbed 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, ...
Benchmarking Purely Functional Data Structures
 Journal of Functional Programming
, 1999
"... When someone designs a new data structure, they want to know how well it performs. Previously, the only way to do this involves finding, coding and testing some applications to act as benchmarks. This can be tedious and timeconsuming. Worse, how a benchmark uses a data structure may considerably af ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
When someone designs a new data structure, they want to know how well it performs. Previously, the only way to do this involves finding, coding and testing some applications to act as benchmarks. This can be tedious and timeconsuming. Worse, how a benchmark uses a data structure may considerably affect the efficiency of the data structure. Thus, the choice of benchmarks may bias the results. For these reasons, new data structures developed for functional languages often pay little attention to empirical performance. We solve these problems by developing a benchmarking tool, Auburn, that can generate benchmarks across a fair distribution of uses. We precisely define "the use of a data structure", upon which we build the core algorithms of Auburn: how to generate a benchmark from a description of use, and how to extract a description of use from an application. We consider how best to use these algorithms to benchmark competing data structures. Finally, we test Auburn by benchmarking ...
An Efficient Parallel Sorting Algorithm for Multicore Machines
, 2011
"... Sorting an array of integers is one of the most basic problems in Computer Science. Also it is an issue in high performance database applications. Though literature is imbued with a variety of sorting algorithms, different architectures need different optimizations to reduce sorting time. This pap ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Sorting an array of integers is one of the most basic problems in Computer Science. Also it is an issue in high performance database applications. Though literature is imbued with a variety of sorting algorithms, different architectures need different optimizations to reduce sorting time. This paper presents a Multicore ready parallel sorting algorithm which has been designed with Multicore/Manycore architecture in mind. Our study shows that the proposed algorithm is excellent for large input size and multiple free cores. In essence algorithm has potential to be a success in situations when one has large input and machine is a Multicore machine. The paper does not neglect overhead involved with parallel programming and suggests two system calls to check the availability of free cores and to reserve a core for a fixed time quantum.