A Faster FPTAS for #Knapsack
Abstract
Given a set W = \w1,…, wn\ of non-negative integer weights and an integer C, the #Knapsack problem asks to count the number of distinct subsets of W whose total weight is at most C. In the more general integer version of the problem, the subsets are multisets. That is, we are also given a set \u1,…, un\ and we are allowed to take up to ui items of weight wi. We present a deterministic FPTAS for #Knapsack running in O(n2.5-1.5(n -1) (n )) time. The previous best deterministic algorithm [FOCS 2011] runs in O(n3 -1 (n-1)) time (see also [ESA 2014] for a logarithmic factor improvement). The previous best randomized algorithm [STOC 2003] runs in O(n2.5 (n-1) + -2 n2 ) time. Therefore, in the natural setting of constant , we close the gap between the O(n2.5) randomized algorithm and the O(n3) deterministic algorithm. For the integer version with U = i \ui\, we present a deterministic FPTAS running in O(n2.5-1.5(n-1 U) (n ) 2 U) time. The previous best deterministic algorithm [APPROX 2016] runs in O(n3-1(n -1 U) 2 U) time.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.