paper

Selection on with layer-ordered heaps

arXiv:1910.11993

Abstract

Selection on is an important problem with many applications in areas such as max-convolution, max-product Bayesian inference, calculating most probable isotopes, and computing non-parametric test statistics, among others. Faster-than-naïve approaches exist for : Frederickson (1993) published the optimal algorithm with runtime and Kaplan \emph{et al.} (2018) has since published a much simpler algorithm which makes use of Chazelle's soft heaps (2003). No fast methods exist for . Johnson \& Mizoguchi (1978) introduced a method to compute the single value when , but that method runs in time and is inefficient when and . In this paper, we introduce the first efficient methods, both in theory and practice, for problems with . We introduce the ``layer-ordered heap,'' a simple special class of heap with which we produce a new, fast selection algorithm on the Cartesian product. Using this new algorithm to perform -selection on the Cartesian product of arrays of length has runtime . We also provide implementations of the algorithms proposed and evaluate their performance in practice.

Selection on $X_1+X_2+\cdots + X_m$ with layer-ordered heaps · wovepaper