SUBSET SUM is a well known NP-complete problem:
given $t \in Z^{+}$ and a set $S$ of $m$ positive integers, output YES if and only if there is a subset $S^\prime \subseteq S$ such that the sum of all numbers in $S^\prime$ equals $t$. The problem and its search and optimization versions are known to be solvable in pseudo-polynomial time in general.
We develop a 1-pass deterministic streaming algorithm that uses space $O\left(\frac{\log t}{\epsilon}\right)$ and decides if some subset of the input stream adds up to a value in the range $\{(1\pm\epsilon)t\}$. Using this algorithm, we design space efficient Fully Polynomial-Time Approximation Schemes (FPTAS) solving the search and optimization versions of SUBSET SUM. Our algorithms run in $O(\frac{1}{\epsilon}m^2)$ time and $O(\frac{1}{\epsilon})$ space on unit cost RAMs, where $1+\epsilon$ is the approximation factor. This implies constant space quadratic time FPTAS on unit cost RAMs when $\epsilon$ is a constant. Previous FPTAS used space linear in $m$.
In addition, we show that on certain inputs, when a solution is located within a short prefix of the input sequence, our algorithms may run in sublinear time. We apply our techniques to the problem of finding balanced separators, and we extend our results to some other variants of the more general knapsack problem.
When the input numbers are encoded in unary, the
decision version has been known to be in log space. We give streaming space lower and upper bounds for unary SUBSET SUM. If the input length is $N$ when the numbers are encoded in unary, we show that randomized $s$-pass streaming algorithms for exact SUBSET SUM need space $\Omega(\frac{\sqrt{N}}{s})$, and give a simple deterministic two pass streaming algorithm using $O(\sqrt{N} \log N)$ space.
Finally, we formulate an encoding under which unary SUBSET SUM is monotone, and show that the exact and approximate versions in this formulation have monotone $O(\log^2 t)$ depth Boolean circuits. We also show that any circuit using $\varepsilon$-approximator gates for Subset Sum under this encoding needs $\Omega(n/\log n)$ gates to compute the Disjointness function.