Knapsack is one of the most fundamental problems in theoretical computer science. In the $(1 - \epsilon)$-approximation setting, although there is a fine-grained lower bound of $(n + 1 / \epsilon) ^ {2 - o(1)}$ based on the $(\min, +)$-convolution hypothesis ([K{\"u}nnemann, Paturi and Stefan Schneider, ICALP 2017] and [Cygan, Mucha, Wegrzycki and Wlodarczyk, 2017]), the best algorithm is randomized and runs in $\tilde O(n + (1 / \epsilon) ^ {11/5})$ time [Deng, Jin and Mao, SODA 2023], and it remains an important open problem whether an algorithm with a running time that matches the lower bound (up to a sub-polynomial factor) exists. We answer the problem positively by showing a deterministic $(1 - \epsilon)$-approximation scheme for knapsack that runs in $\tilde O(n + (1 / \epsilon) ^ {2})$ time. We first extend a known lemma in a recursive way to reduce the problem to $n \epsilon$-additve approximation for $n$ items. Then we give a simple efficient geometry-based algorithm for the reduced problem.
翻译:背包问题是理论计算机科学中最基本的问题之一。在$(1 - \epsilon)$近似设定下,尽管基于$(\min, +)$卷积假设存在$(n + 1 / \epsilon) ^ {2 - o(1)}$的细粒度下界([K{\"u}nnemann, Paturi and Stefan Schneider, ICALP 2017]和[Cygan, Mucha, Wegrzycki and Wlodarczyk, 2017]),但目前最优算法为随机算法,运行时间为$\tilde O(n + (1 / \epsilon) ^ {11/5})$ [Deng, Jin and Mao, SODA 2023]。是否存在运行时间匹配该下界(至多相差次多项式因子)的算法仍是一个重要开放问题。我们通过展示一个确定性的$(1 - \epsilon)$近似方案正面回答了该问题,该方案运行时间为$\tilde O(n + (1 / \epsilon) ^ {2})$。首先以递归方式扩展已知引理,将问题归约为$n$个物品的$n \epsilon$加性近似问题。随后针对归约后的问题给出一个基于几何的简单高效算法。