A Simple Near-Linear Pseudopolynomial Time Randomized Algorithm for Subset Sum
Given a multiset of n positive integers and a target integer t, the Subset Sum problem asks to determine whether there exists a subset of S that sums up to t. The current best deterministic algorithm, by Koiliaris and Xu, runs in Õ(√(n)t) time, where Õ hides poly-logarithm factors. Bringmann later gave a randomized Õ(n + t) time algorithm using two-stage color-coding. The Õ(n+t) running time is believed to be near-optimal. In this paper, we present a simple and elegant randomized algorithm for Subset Sum in Õ(n + t) time. The algorithm actually solves its counting version modulo prime p>t, by manipulating generating functions using FFT. Our algorithm and its analysis can be described in two pages.
READ FULL TEXT