English

Fast Low-Space Algorithms for Subset Sum

Data Structures and Algorithms 2020-11-10 v1

Abstract

We consider the canonical Subset Sum problem: given a list of positive integers a1,,ana_1,\ldots,a_n and a target integer tt with t>ait > a_i for all ii, determine if there is an S[n]S \subseteq [n] such that iSai=t\sum_{i \in S} a_i = t. The well-known pseudopolynomial-time dynamic programming algorithm [Bellman, 1957] solves Subset Sum in O(nt)O(nt) time, while requiring Ω(t)\Omega(t) space. In this paper we present algorithms for Subset Sum with O~(nt)\tilde O(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 O~(nt)\tilde O(nt) time and O(log(nt))O(\log(nt)) space with access to O(lognloglogn+logt)O(\log n \log \log n+\log t) random bits. This significantly improves upon the O~(nt1+ε)\tilde O(n t^{1+\varepsilon})-time, O~(nlogt)\tilde O(n\log t)-space algorithm of Bringmann (SODA 2017). We also give an O~(n1+εt)\tilde O(n^{1+\varepsilon}t)-time, O(log(nt))O(\log(nt))-space randomized algorithm, improving upon previous (nt)O(1)(nt)^{O(1)}-time O(log(nt))O(\log(nt))-space algorithms by Elberfeld, Jakoby, and Tantau (FOCS 2010), and Kane (2010). In addition, we also give a polylog(nt)\mathrm{poly} \log(nt)-space, O~(n2t)\tilde O(n^2 t)-time deterministic algorithm. We also study time-space trade-offs for Subset Sum. For parameter 1kmin{n,t}1\le k\le \min\{n,t\}, we present a randomized algorithm running in O~((n+t)k)\tilde O((n+t)\cdot k) time and O((t/k)polylog(nt))O((t/k) \mathrm{polylog} (nt)) space. As an application of our results, we give an O~(min{n2/ε,n/ε2})\tilde{O}(\min\{n^2/\varepsilon, n/\varepsilon^2\})-time and polylog(nt)\mathrm{polylog}(nt)-space algorithm for "weak" ε\varepsilon-approximations of Subset Sum.

Keywords

Cite

@article{arxiv.2011.03819,
  title  = {Fast Low-Space Algorithms for Subset Sum},
  author = {Ce Jin and Nikhil Vyas and Ryan Williams},
  journal= {arXiv preprint arXiv:2011.03819},
  year   = {2020}
}

Comments

To appear in SODA 2021

R2 v1 2026-06-23T19:59:02.850Z