Papers
Topics
Authors
Recent
Search
2000 character limit reached

Fast Low-Space Algorithms for Subset Sum

Published 7 Nov 2020 in cs.DS | (2011.03819v1)

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 &gt; a_i$ for all ii, determine if there is an S⊆[n]S \subseteq [n] such that ∑i∈Sai=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(log⁡nlog⁡log⁡n+log⁡t)O(\log n \log \log n+\log t) random bits. This significantly improves upon the O~(nt<sup>1+ε)\tilde O(n t<sup>{1+\varepsilon})-time, O~(nlog⁡t)\tilde O(n\log t)-space algorithm of Bringmann (SODA 2017). We also give an O~(n<sup>1+εt)\tilde O(n<sup>{1+\varepsilon}t)-time, O(log⁡(nt))O(\log(nt))-space randomized algorithm, improving upon previous (nt)<sup>O(1)(nt)<sup>{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~(n<sup>2</sup>t)\tilde O(n<sup>2</sup> t)-time deterministic algorithm. We also study time-space trade-offs for Subset Sum. For parameter 1≤k≤min⁡n,t1\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⁡n<sup>2/ε,</sup>n/ε<sup>2)\tilde{O}(\min{n<sup>2/\varepsilon,</sup> n/\varepsilon<sup>2})-time and polylog(nt)\mathrm{polylog}(nt)-space algorithm for "weak" ε\varepsilon-approximations of Subset Sum.

Authors (3)
Citations (10)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.