Abstract
We consider the canonical Subset Sum problem: given a list of positive integers a1,..., an and a target integer t with t > ai for all i, determine if there is an S ⊆ [n] such that Pi∈S ai = t. The well-known pseudopolynomial-time dynamic programming algorithm [Bellman, 1957] solves Subset Sum in O(nt) time, while requiring Ω(t) space. In this paper we present algorithms for Subset Sum with Oe(nt) running time and much lower space requirements than Bellman's algorithm, as well as that of prior work. We show that Subset Sum can be solved in Oe(nt) time and O(log(nt)) space with access to O(log n log log n + log t) random bits. This significantly improves upon the Oe(nt1+ε)-time, Oe(n log t)-space algorithm of Bringmann (SODA 2017). We also give a Oe(n1+εt)-time, O(log(nt))-space randomized algorithm, improving upon previous (nt)O(1)-time O(log(nt))-space algorithms by Elberfeld, Jakoby, and Tantau (FOCS 2010), and Kane (2010). In addition, we also give a poly log(nt)-space, Oe(n2t)-time deterministic algorithm. We also study time-space trade-offs for Subset Sum. For parameter 1 ≤ k ≤ min{n, t}, we present a randomized algorithm running in Oe((n+t)·k) time and O((t/k) poly log(nt)) space. As an application of our results, we give an Oe(min{n2/ε, n/ε2})-time and poly log(nt)-space algorithm for “weak” ε-approximations of Subset Sum.
Cite
CITATION STYLE
Jin, C., Vyas, N., & Williams, R. (2021). Fast low-space algorithms for subset sum. In Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms (pp. 1757–1776). Association for Computing Machinery. https://doi.org/10.1137/1.9781611976465.106
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.