25 research outputs found
Efficient weighted multiselection in parallel architectures
©2002 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.We study parallel solutions to the problem of weighted multiselection to select r elements on given weighted-ranks from a set S of n weighted elements, where an element is on weighted rank k if it is the smallest element such that the aggregated weight of all elements not greater than it in S is not smaller than k. We propose efficient algorithms on two of the most popular parallel architectures, hypercube and mesh. For a hypercube with p < n processors, we present a parallel algorithm running in 0(n^\varepsilon \min \{ r,\log p\} ) time for p = n^{1 - \varepsilon } ,0 < \varepsilon < 1 which is cost optimal when r \geqslant p. Our algorithm on \sqrt p \times \sqrt p mesh runs in 0(\sqrt p + \frac{n}{p}\log ^3 p) time which is the same as multiselection on mesh when r \geqslant \log p, and thus has the same optimality as multiselection in this case
Optimal Prefix Free Codes with Partial Sorting
We describe an algorithm computing an optimal prefix free code for n unsorted positive weights in less time than required to sort them on many large classes of instances, identified by a new measure of difficulty for this problem, the alternation alpha. This asymptotical complexity is within a constant factor of the optimal in the algebraic decision tree computational model, in the worst case over all instances of fixed size n and alternation alpha. Such results refine the state of the art complexity in the worst case over instances of size n in the same computational model, a landmark in compression and coding since 1952, by the mere combination of van Leeuwen\u27s algorithm to compute optimal prefix free codes from sorted weights (known since 1976), with Deferred Data Structures to partially sort multisets (known since 1988)
Searching the solution space in constructive geometric constraint solving with genetic algorithms
Geometric problems defined by constraints have an exponential number
of solution instances in the number of geometric elements involved.
Generally, the user is only interested in one instance such that
besides fulfilling the geometric constraints, exhibits some additional
properties.
Selecting a solution instance amounts to selecting a given root every
time the geometric constraint solver needs to compute the zeros of a
multi valuated function. The problem of selecting a given root is
known as the Root Identification Problem.
In this paper we present a new technique to solve the root
identification problem. The technique is based on an automatic search
in the space of solutions performed by a genetic algorithm. The user
specifies the solution of interest by defining a set of additional
constraints on the geometric elements which drive the search of the
genetic algorithm. The method is extended with a sequential niche
technique to compute multiple solutions. A number of case studies
illustrate the performance of the method.Postprint (published version
PlinyCompute: A Platform for High-Performance, Distributed, Data-Intensive Tool Development
This paper describes PlinyCompute, a system for development of
high-performance, data-intensive, distributed computing tools and libraries. In
the large, PlinyCompute presents the programmer with a very high-level,
declarative interface, relying on automatic, relational-database style
optimization to figure out how to stage distributed computations. However, in
the small, PlinyCompute presents the capable systems programmer with a
persistent object data model and API (the "PC object model") and associated
memory management system that has been designed from the ground-up for high
performance, distributed, data-intensive computing. This contrasts with most
other Big Data systems, which are constructed on top of the Java Virtual
Machine (JVM), and hence must at least partially cede performance-critical
concerns such as memory management (including layout and de/allocation) and
virtual method/function dispatch to the JVM. This hybrid approach---declarative
in the large, trusting the programmer's ability to utilize PC object model
efficiently in the small---results in a system that is ideal for the
development of reusable, data-intensive tools and libraries. Through extensive
benchmarking, we show that implementing complex objects manipulation and
non-trivial, library-style computations on top of PlinyCompute can result in a
speedup of 2x to more than 50x or more compared to equivalent implementations
on Spark.Comment: 48 pages, including references and Appendi
Software development for processing of images in correlative microscopy
Correlative microscopy is a powerful method for materials science and life science researchers to obtain information from a sample, such as morphology and topography. Using multiple microscopy methods to inspect the same sample yields more data, which requires a versatile tool to analyze accurately. Multiple software solutions exist that can achieve this task, but they are not fully specialized to correlative microscopy. The goal of this thesis is to develop correlative microscopy software with MATLAB App Designer and deliver a functional and intuitive program capable of basic microscope image correlation. The microscopy types focused on are light microscopy, scanning electron microscopy, and certain spectroscopy methods, although the program is designed as a general tool to analyze any images.
MATLAB has an extensive library of built in functions for scientific analysis and image processing, which makes it an instinctive platform to develop image analysis software. MATLAB App Designer is a software building tool that enabled the creation of this project. Visual components were trivial to arrange and tie together, but due to the limited catalogue of components and certain other limitations, some compromises had to be made. Overall, it is a potent tool for creating software for specific tasks. Combined with deep knowledge of MATLABs’ intricacies, various App Designers limitations can also be bypassed.
The resulting program is capable of correlating images from different microscopy methods and can be used to analyze and present data. The app includes algorithms for image transformations, image enhancements, color transformations, and custom image blending
28th Annual Symposium on Combinatorial Pattern Matching : CPM 2017, July 4-6, 2017, Warsaw, Poland
Peer reviewe