Selection on X1+X2+·s + Xm with layer-ordered heaps
Abstract
Selection on X1+X2+·s + Xm 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\"ive approaches exist for m=2: Frederickson (1993) published the optimal algorithm with runtime O(k) and Kaplan et al. (2018) has since published a much simpler algorithm which makes use of Chazelle's soft heaps (2003). No fast methods exist for m>2. Johnson \& Mizoguchi (1978) introduced a method to compute the single kth value when m>2, but that method runs in O(m· nm2 (n)) time and is inefficient when m 1 and k nm2. In this paper, we introduce the first efficient methods, both in theory and practice, for problems with m>2. 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 k-selection on the Cartesian product of m arrays of length n has runtime ∈ o(k· m). We also provide implementations of the algorithms proposed and evaluate their performance in practice.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.