Selection on $X_1+X_2+\cdots + X_m$ with layer-ordered heaps
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\"{i}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.
Cite
@article{arxiv.1910.11993,
title = {Selection on $X_1+X_2+\cdots + X_m$ with layer-ordered heaps},
author = {Patrick Kreitzberg and Kyle Lucke and Oliver Serang},
journal= {arXiv preprint arXiv:1910.11993},
year = {2020}
}