Subset Sum Made Simple

07/22/2018
by   Konstantinos Koiliaris, et al.
0

Subset Sum is a classical optimization problem taught to undergraduates as an example of an NP-hard problem, which is amenable to dynamic programming, yielding polynomial running time if the input numbers are relatively small. Formally, given a set S of n positive integers and a target integer t, the Subset Sum problem is to decide if there is a subset of S that sums up to t. Dynamic programming yields an algorithm with running time O(nt). Recently, the authors [SODA '17] improved the running time to Õ(√(n)t), and it was further improved to Õ(n+t) by a somewhat involved randomized algorithm by Bringmann [SODA '17], where Õ hides polylogarithmic factors. Here, we present a new and significantly simpler algorithm with running time Õ(√(n)t). While not the fastest, we believe the new algorithm and analysis are simple enough to be presented in an algorithms class, as a striking example of a divide-and-conquer algorithm that uses FFT to a problem that seems (at first) unrelated. In particular, the algorithm and its analysis can be described in full detail in two pages (see pages 3-5).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/07/2020

Fast Low-Space Algorithms for Subset Sum

We consider the canonical Subset Sum problem: given a list of positive i...
research
07/30/2018

A Simple Near-Linear Pseudopolynomial Time Randomized Algorithm for Subset Sum

Given a multiset of n positive integers and a target integer t, the Subs...
research
07/07/2018

New Algorithms for Subset Sum Problem

Given a set (or multiset) S of n numbers and a target number t, the subs...
research
07/07/2018

The Universal and Practical Programming Code for Subset Sum Problem

Given a multiset S of n numbers and a target number t, the subset sum pr...
research
07/28/2021

Top-k-Convolution and the Quest for Near-Linear Output-Sensitive Subset Sum

In the classical Subset Sum problem we are given a set X and a target t,...
research
10/06/2021

More on Change-Making and Related Problems

Given a set of n integer-valued coin types and a target value t, the wel...
research
02/18/2018

Capacitated Dynamic Programming: Faster Knapsack and Graph Algorithms

One of the most fundamental problems in Theoretical Computer Science is ...

Please sign up or login with your details

Forgot password? Click here to reset