We investigate pseudopolynomial-time algorithms for Bounded Knapsack and Bounded Subset Sum. Recent years have seen a growing interest in settling their fine-grained complexity with respect to various parameters. For Bounded Knapsack, the number of items $n$ and the maximum item weight $w_{\max}$ are two of the most natural parameters that have been studied extensively in the literature. The previous best running time in terms of $n$ and $w_{\max}$ is $O(n + w^3_{\max})$ [Polak, Rohwedder, Wegrzycki '21]. There is a conditional lower bound of $O((n + w_{\max})^{2-o(1)})$ based on $(\min,+)$-convolution hypothesis [Cygan, Mucha, Wegrzycki, Wlodarczyk '17]. We narrow the gap significantly by proposing a $\tilde{O}(n + w^{12/5}_{\max})$-time algorithm. Note that in the regime where $w_{\max} \approx n$, our algorithm runs in $\tilde{O}(n^{12/5})$ time, while all the previous algorithms require $\Omega(n^3)$ time in the worst case. For Bounded Subset Sum, we give two algorithms running in $\tilde{O}(nw_{\max})$ and $\tilde{O}(n + w^{3/2}_{\max})$ time, respectively. These results match the currently best running time for 0-1 Subset Sum. Prior to our work, the best running times (in terms of $n$ and $w_{\max}$) for Bounded Subset Sum is $\tilde{O}(n + w^{5/3}_{\max})$ [Polak, Rohwedder, Wegrzycki '21] and $\tilde{O}(n + \mu_{\max}^{1/2}w_{\max}^{3/2})$ [implied by Bringmann '19 and Bringmann, Wellnitz '21], where $\mu_{\max}$ refers to the maximum multiplicity of item weights.
翻译:我们研究了有界背包和有界子集和问题的伪多项式时间算法。近年来,针对不同参数确定其细粒度复杂度引起了广泛关注。对于有界背包问题,物品数量 $n$ 和最大物品重量 $w_{\max}$ 是文献中研究最充分的两个自然参数。此前基于 $n$ 和 $w_{\max}$ 的最优运行时间为 $O(n + w^3_{\max})$ [Polak, Rohwedder, Wegrzycki '21]。基于 $(\min,+)$-卷积假设存在复杂度下界 $O((n + w_{\max})^{2-o(1)})$ [Cygan, Mucha, Wegrzycki, Wlodarczyk '17]。我们通过提出 $\tilde{O}(n + w^{12/5}_{\max})$ 时间算法显著缩小了这一差距。值得注意的是,在 $w_{\max} \approx n$ 的情形下,我们的算法运行时间为 $\tilde{O}(n^{12/5})$,而此前所有算法在最坏情况下均需 $\Omega(n^3)$ 时间。对于有界子集和问题,我们分别给出了运行时间为 $\tilde{O}(nw_{\max})$ 和 $\tilde{O}(n + w^{3/2}_{\max})$ 的两种算法。这些结果匹配了当前 0-1 子集和问题的最优运行时间。在我们的工作之前,有界子集和问题基于 $n$ 和 $w_{\max}$ 的最优运行时间为 $\tilde{O}(n + w^{5/3}_{\max})$ [Polak, Rohwedder, Wegrzycki '21] 和 $\tilde{O}(n + \mu_{\max}^{1/2}w_{\max}^{3/2})$ [由 Bringmann '19 及 Bringmann, Wellnitz '21 推导],其中 $\mu_{\max}$ 表示物品重量的最大重数。