TY - GEN
T1 - A faster FPTAS for #knapsack
AU - Gawrychowski, Paweł
AU - Markin, Liran
AU - Weimann, Oren
N1 - Publisher Copyright: © Paweł Gawrychowski, Liran Markin, and Oren Weimann;.
PY - 2018/7/1
Y1 - 2018/7/1
N2 - 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 log(nε− 1) log(nε)) time. The previous best deterministic algorithm [FOCS 2011] runs in O(n3ε− 1 log(nε− 1)) time (see also [ESA 2014] for a logarithmic factor improvement). The previous best randomized algorithm [STOC 2003] runs in O(n2.5log(nε− 1) + ε− 2n2) time. Therefore, for the case 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 = maxi (ui), we present a deterministic FPTAS running in O(n2.5ε− 1.5 log(nε− 1 log U) log(nε) log2 U) time. The previous best deterministic algorithm [TCS 2016] runs in O(n3ε− 1 log(nε− 1 log U) log2 U) time.
AB - 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 log(nε− 1) log(nε)) time. The previous best deterministic algorithm [FOCS 2011] runs in O(n3ε− 1 log(nε− 1)) time (see also [ESA 2014] for a logarithmic factor improvement). The previous best randomized algorithm [STOC 2003] runs in O(n2.5log(nε− 1) + ε− 2n2) time. Therefore, for the case 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 = maxi (ui), we present a deterministic FPTAS running in O(n2.5ε− 1.5 log(nε− 1 log U) log(nε) log2 U) time. The previous best deterministic algorithm [TCS 2016] runs in O(n3ε− 1 log(nε− 1 log U) log2 U) time.
KW - Approximate counting
KW - Functions
KW - K-approximating sets
KW - Knapsack
UR - http://www.scopus.com/inward/record.url?scp=85049771923&partnerID=8YFLogxK
U2 - https://doi.org/10.4230/LIPIcs.ICALP.2018.64
DO - https://doi.org/10.4230/LIPIcs.ICALP.2018.64
M3 - Conference contribution
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018
A2 - Kaklamanis, Christos
A2 - Marx, Daniel
A2 - Chatzigiannakis, Ioannis
A2 - Sannella, Donald
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018
Y2 - 9 July 2018 through 13 July 2018
ER -