Faster Algorithms for k-Subset Sum and Variations

12/08/2021
by   Antonis Antonopoulos, et al.
0

We present new, faster pseudopolynomial time algorithms for the k-Subset Sum problem, defined as follows: given a set Z of n positive integers and k targets t_1, …, t_k, determine whether there exist k disjoint subsets Z_1,…,Z_k ⊆ Z, such that Σ(Z_i) = t_i, for i = 1, …, k. Assuming t = max{ t_1, …, t_k } is the maximum among the given targets, a standard dynamic programming approach based on Bellman's algorithm [Bell57] can solve the problem in O(n t^k) time. We build upon recent advances on Subset Sum due to Koiliaris and Xu [Koil19] and Bringmann [Brin17] in order to provide faster algorithms for k-Subset Sum. We devise two algorithms: a deterministic one of time complexity Õ(n^k / (k+1) t^k) and a randomised one of Õ(n + t^k) complexity. Additionally, we show how these algorithms can be modified in order to incorporate cardinality constraints enforced on the solution subsets. We further demonstrate how these algorithms can be used in order to cope with variations of k-Subset Sum, namely Subset Sum Ratio, k-Subset Sum Ratio and Multiple Subset Sum.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset