Approximately Counting Knapsack Solutions in Subquadratic Time
Abstract
We revisit the classic #Knapsack problem, which asks to count the Boolean points in a given half-space . This #P-complete problem admits -approximation. Before this work, [Dyer, STOC 2003]'s -time randomized approximation scheme remains the fastest known in the natural regime of . In this paper, we give a randomized -approximation algorithm in time (in the standard word-RAM model), achieving the first sub-quadratic dependence on . Such sub-quadratic running time is rare in the approximate counting literature in general, as a large class of algorithms naturally faces a quadratic-time barrier. Our algorithm follows Dyer's framework, which reduces #Knapsack to the task of sampling (and approximately counting) solutions in a randomly rounded instance with poly(n)-bounded integer weights. We refine Dyer's framework using the following ideas: - We decrease the sample complexity of Dyer's Monte Carlo method, by proving some structural lemmas for typical points near the input hyperplane via hitting-set arguments, and appropriately setting the rounding scale. - Instead of running a vanilla dynamic program on the rounded instance, we employ techniques from the growing field of pseudopolynomial-time Subset Sum algorithms, such as FFT, divide-and-conquer, and balls-into-bins hashing of [Bringmann, SODA 2017]. We also need other ingredients, including a surprising application of the recent Bounded Monotone (max,+)-Convolution algorithm by [Chi-Duan-Xie-Zhang, STOC 2022] (adapted by [Bringmann-D\"urr-Polak, ESA 2024]), the notion of sum-approximation from [Gawrychowski-Markin-Weimann, ICALP 2018]'s #Knapsack approximation scheme, and a two-phase extension of Dyer's framework for handling tiny weights.
Cite
@article{arxiv.2410.22267,
title = {Approximately Counting Knapsack Solutions in Subquadratic Time},
author = {Weiming Feng and Ce Jin},
journal= {arXiv preprint arXiv:2410.22267},
year = {2024}
}
Comments
To appear at SODA 2025