1,302 research outputs found
Stable Matching with Evolving Preferences
We consider the problem of stable matching with dynamic preference lists. At
each time step, the preference list of some player may change by swapping
random adjacent members. The goal of a central agency (algorithm) is to
maintain an approximately stable matching (in terms of number of blocking
pairs) at all times. The changes in the preference lists are not reported to
the algorithm, but must instead be probed explicitly by the algorithm. We
design an algorithm that in expectation and with high probability maintains a
matching that has at most blocking pairs.Comment: 13 page
Worst-Case Efficient Sorting with QuickMergesort
The two most prominent solutions for the sorting problem are Quicksort and
Mergesort. While Quicksort is very fast on average, Mergesort additionally
gives worst-case guarantees, but needs extra space for a linear number of
elements. Worst-case efficient in-place sorting, however, remains a challenge:
the standard solution, Heapsort, suffers from a bad cache behavior and is also
not overly fast for in-cache instances.
In this work we present median-of-medians QuickMergesort (MoMQuickMergesort),
a new variant of QuickMergesort, which combines Quicksort with Mergesort
allowing the latter to be implemented in place. Our new variant applies the
median-of-medians algorithm for selecting pivots in order to circumvent the
quadratic worst case. Indeed, we show that it uses at most
comparisons for large enough.
We experimentally confirm the theoretical estimates and show that the new
algorithm outperforms Heapsort by far and is only around 10% slower than
Introsort (std::sort implementation of stdlibc++), which has a rather poor
guarantee for the worst case. We also simulate the worst case, which is only
around 10% slower than the average case. In particular, the new algorithm is a
natural candidate to replace Heapsort as a worst-case stopper in Introsort
A characterization of the set of fixed points of the Quicksort transformation
The limiting distribution \mu of the normalized number of key comparisons
required by the Quicksort sorting algorithm is known to be the unique fixed
point of a certain distributional transformation T -- unique, that is, subject
to the constraints of zero mean and finite variance. We show that a
distribution is a fixed point of T if and only if it is the convolution of \mu
with a Cauchy distribution of arbitrary center and scale. In particular,
therefore, \mu is the unique fixed point of T having zero mean.Comment: 9 pages. See also http://www.mts.jhu.edu/~fill/ and
http://www.math.uu.se/~svante/papers . Submitted for publication in May,200
A Novel Hybrid Quicksort Algorithm Vectorized using AVX-512 on Intel Skylake
The modern CPU's design, which is composed of hierarchical memory and
SIMD/vectorization capability, governs the potential for algorithms to be
transformed into efficient implementations. The release of the AVX-512 changed
things radically, and motivated us to search for an efficient sorting algorithm
that can take advantage of it. In this paper, we describe the best strategy we
have found, which is a novel two parts hybrid sort, based on the well-known
Quicksort algorithm. The central partitioning operation is performed by a new
algorithm, and small partitions/arrays are sorted using a branch-free
Bitonic-based sort. This study is also an illustration of how classical
algorithms can be adapted and enhanced by the AVX-512 extension. We evaluate
the performance of our approach on a modern Intel Xeon Skylake and assess the
different layers of our implementation by sorting/partitioning integers, double
floating-point numbers, and key/value pairs of integers. Our results
demonstrate that our approach is faster than two libraries of reference: the
GNU \emph{C++} sort algorithm by a speedup factor of 4, and the Intel IPP
library by a speedup factor of 1.4.Comment: 8 pages, research pape
Parallel String Sample Sort
We discuss how string sorting algorithms can be parallelized on modern
multi-core shared memory machines. As a synthesis of the best sequential string
sorting algorithms and successful parallel sorting algorithms for atomic
objects, we propose string sample sort. The algorithm makes effective use of
the memory hierarchy, uses additional word level parallelism, and largely
avoids branch mispredictions. Additionally, we parallelize variants of multikey
quicksort and radix sort that are also useful in certain situations.Comment: 34 pages, 7 figures and 12 table
A trivariate interpolation algorithm using a cube-partition searching procedure
In this paper we propose a fast algorithm for trivariate interpolation, which
is based on the partition of unity method for constructing a global interpolant
by blending local radial basis function interpolants and using locally
supported weight functions. The partition of unity algorithm is efficiently
implemented and optimized by connecting the method with an effective
cube-partition searching procedure. More precisely, we construct a cube
structure, which partitions the domain and strictly depends on the size of its
subdomains, so that the new searching procedure and, accordingly, the resulting
algorithm enable us to efficiently deal with a large number of nodes.
Complexity analysis and numerical experiments show high efficiency and accuracy
of the proposed interpolation algorithm
- …