Conceitos essenciais
Given n positive integers with total sum less than 2^n-1, the algorithm efficiently finds two distinct subsets with equal subset sums.
Resumo
The paper presents an improved algorithm for solving the Pigeonhole Equal Sums problem, which is a variant of the Subset Sum problem.
The key insights are:
Structural characterization of instances with few non-subset-sums: The algorithm exploits a rigid structure of the input numbers when the number of non-subset-sums (parameter d) is small. This allows improving the naive meet-in-middle approach.
Subsampling approach for instances with many solutions: When d is large, there are many solutions, which enables a subsampling technique combined with modular dynamic programming to speed up the search.
The paper provides two algorithms:
For small d ≤ Δ ≤ 2^n/(3n^2), the algorithm runs in O*(√Δ) time deterministically.
For large 2^n/2 ≤ Δ < 2^n and d ≥ Δ, the algorithm runs in O*((2^2n/Δ)^(1/3)) time using randomization.
Combining these two algorithms gives an overall O*(2^0.4n) time randomized algorithm for Pigeonhole Equal Sums.
The paper also presents a polynomial-space algorithm that runs in O*(2^0.75n) time.
Estatísticas
w([i]) ≥ 2^i - 1 for all i ∈ [n-1]
w([n]) < 2^n - 1