Grunnleggende konsepter
We propose a randomized algorithm that solves the Subset Sum problem in pseudo-polynomial time O(n + √wt), where n is the number of input integers, w is the maximum integer, and t is the target sum. This improves upon the previous best algorithm with a time complexity of O(n + t).
Sammendrag
The paper presents an improved randomized algorithm for solving the Subset Sum problem in pseudo-polynomial time. The key highlights are:
The algorithm runs in O(n + √wt) time, where n is the number of input integers, w is the maximum integer, and t is the target sum. This improves upon the previous best algorithm with a time complexity of O(n + t).
The algorithm uses a two-stage partitioning approach combined with sparse convolution and additive combinatorics techniques to efficiently process the input.
In the first phase, the input set D is randomly partitioned into smaller subsets D1, ..., Dℓ such that each subset contains at most a logarithmic number of elements from any subset Z that sums to the target t.
In the second phase, the algorithm computes the subset sums of each Di using a tree-like structure and sparse convolution. If a level in the tree has a large total size, the algorithm can leverage additive combinatorics to show that D contains a long arithmetic progression, which can be used to solve the problem.
The algorithm is randomized and has a one-sided error, meaning it correctly identifies if the target t is in the subset sums of the input with high probability.
The algorithm cannot reconstruct the actual subset that sums to t, unlike some previous approximation algorithms. This is due to the non-constructive nature of the additive combinatorics results used in the dense case.
The paper also provides a corollary showing that when the input is a set (rather than a multi-set), the Subset Sum problem can be solved in O(n + w^1.25) time.