Efficient reductions and algorithms for variants of Subset Sum

12/21/2021
βˆ™
by   Pranjal Dutta, et al.
βˆ™
0
βˆ™

Given (a_1, …, a_n, t) βˆˆβ„€_β‰₯ 0^n + 1, the Subset Sum problem (𝖲𝖲𝖴𝖬) is to decide whether there exists S βŠ† [n] such that βˆ‘_i ∈ S a_i = t. There is a close variant of the 𝖲𝖲𝖴𝖬, called π–²π—Žπ–»π—Œπ–Ύπ—Β π–―π—‹π—ˆπ–½π—Žπ–Όπ—. Given positive integers a_1, ..., a_n and a target integer t, the π–²π—Žπ–»π—Œπ–Ύπ—Β π–―π—‹π—ˆπ–½π—Žπ–Όπ— problem asks to determine whether there exists a subset S βŠ† [n] such that ∏_i ∈ S a_i=t. There is a pseudopolynomial time dynamic programming algorithm, due to Bellman (1957) which solves the 𝖲𝖲𝖴𝖬 and π–²π—Žπ–»π—Œπ–Ύπ—Β π–―π—‹π—ˆπ–½π—Žπ–Όπ— in O(nt) time and O(t) space. In the first part, we present search algorithms for variants of the Subset Sum problem. Our algorithms are parameterized by k, which is a given upper bound on the number of realisable sets (i.e.,Β number of solutions, summing exactly t). We show that 𝖲𝖲𝖴𝖬 with a unique solution is already NP-hard, under randomized reduction. This makes the regime of parametrized algorithms, in terms of k, very interesting. Subsequently, we present an Γ•(kΒ· (n+t)) time deterministic algorithm, which finds the hamming weight of all the realisable sets for a subset sum instance. We also give a poly(knt)-time and O(log(knt))-space deterministic algorithm that finds all the realisable sets for a subset sum instance. In the latter part, we present a simple and elegant randomized Γ•(n + t) time algorithm for π–²π—Žπ–»π—Œπ–Ύπ—Β π–―π—‹π—ˆπ–½π—Žπ–Όπ—. Moreover, we also present a poly(nt) time and O(log^2 (nt)) space deterministic algorithm for the same. We study these problems in the unbounded setting as well. Our algorithms use multivariate FFT, power series and number-theoretic techniques, introduced by Jin and Wu (SOSA'19) and Kane (2010).

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset