Top-k-Convolution and the Quest for Near-Linear Output-Sensitive Subset Sum

by   Karl Bringmann, et al.

In the classical Subset Sum problem we are given a set X and a target t, and the task is to decide whether there exists a subset of X which sums to t. A recent line of research has resulted in Õ(t)-time algorithms, which are (near-)optimal under popular complexity-theoretic assumptions. On the other hand, the standard dynamic programming algorithm runs in time O(n · |𝒮(X,t)|), where 𝒮(X,t) is the set of all subset sums of X that are smaller than t. Furthermore, all known pseudopolynomial algorithms actually solve a stronger task, since they actually compute the whole set 𝒮(X,t). As the aforementioned two running times are incomparable, in this paper we ask whether one can achieve the best of both worlds: running time Õ(|𝒮(X,t)|). In particular, we ask whether 𝒮(X,t) can be computed in near-linear time in the output-size. Using a diverse toolkit containing techniques such as color coding, sparse recovery, and sumset estimates, we make considerable progress towards this question and design an algorithm running in time Õ(|𝒮(X,t)|^4/3). Central to our approach is the study of top-k-convolution, a natural problem of independent interest: given sparse polynomials with non-negative coefficients, compute the lowest k non-zero monomials of their product. We design an algorithm running in time Õ(k^4/3), by a combination of sparse convolution and sumset estimates considered in Additive Combinatorics. Moreover, we provide evidence that going beyond some of the barriers we have faced requires either an algorithmic breakthrough or possibly new techniques from Additive Combinatorics on how to pass from information on restricted sumsets to information on unrestricted sumsets.


page 1

page 2

page 3

page 4


A Simple Near-Linear Pseudopolynomial Time Randomized Algorithm for Subset Sum

Given a multiset of n positive integers and a target integer t, the Subs...

Subset Sum Made Simple

Subset Sum is a classical optimization problem taught to undergraduates ...

Fast n-fold Boolean Convolution via Additive Combinatorics

We consider the problem of computing the Boolean convolution (with wrapa...

Fast Modular Subset Sum using Linear Sketching

Given n positive integers, the Modular Subset Sum problem asks if a subs...

Deterministic and Las Vegas Algorithms for Sparse Nonnegative Convolution

Computing the convolution A⋆ B of two length-n integer vectors A,B is a ...

On Near-Linear-Time Algorithms for Dense Subset Sum

In the Subset Sum problem we are given a set of n positive integers X an...

Near-Linear Time Algorithm for n-fold ILPs via Color Coding

We study an important case of ILPs {c^Tx Ax = b, l ≤ x ≤ u, x ∈Z^n t...