Gawrychowski, Pawel ;
Markin, Liran ;
Weimann, Oren
A Faster FPTAS for #Knapsack
Abstract
Given a set W = {w_1,..., w_n} 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 {u_1,..., u_n} and we are allowed to take up to u_i items of weight w_i.
We present a deterministic FPTAS for #Knapsack running in O(n^{2.5}epsilon^{-1.5}log(n epsilon^{-1})log (n epsilon)) time. The previous best deterministic algorithm [FOCS 2011] runs in O(n^3 epsilon^{-1} log(n epsilon^{-1})) time (see also [ESA 2014] for a logarithmic factor improvement). The previous best randomized algorithm [STOC 2003] runs in O(n^{2.5} sqrt{log (n epsilon^{-1})} + epsilon^{-2} n^2) time. Therefore, for the case of constant epsilon, we close the gap between the O~(n^{2.5}) randomized algorithm and the O~(n^3) deterministic algorithm.
For the integer version with U = max_i {u_i}, we present a deterministic FPTAS running in O(n^{2.5}epsilon^{-1.5}log(n epsilon^{-1} log U)log (n epsilon) log^2 U) time. The previous best deterministic algorithm [TCS 2016] runs in O(n^3 epsilon^{-1}log(n epsilon^{-1} log U) log^2 U) time.
BibTeX - Entry
@InProceedings{gawrychowski_et_al:LIPIcs:2018:9068,
author = {Pawel Gawrychowski and Liran Markin and Oren Weimann},
title = {{A Faster FPTAS for #Knapsack}},
booktitle = {45th International Colloquium on Automata, Languages, and Programming (ICALP 2018)},
pages = {64:1--64:13},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-076-7},
ISSN = {1868-8969},
year = {2018},
volume = {107},
editor = {Ioannis Chatzigiannakis and Christos Kaklamanis and D{\'a}niel Marx and Donald Sannella},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2018/9068},
URN = {urn:nbn:de:0030-drops-90687},
doi = {10.4230/LIPIcs.ICALP.2018.64},
annote = {Keywords: knapsack, approximate counting, K-approximating sets and functions}
}
Keywords: |
|
knapsack, approximate counting, K-approximating sets and functions |
Seminar: |
|
45th International Colloquium on Automata, Languages, and Programming (ICALP 2018)
|
Issue date: |
|
2018 |
Date of publication: |
|
04.07.2018 |
04.07.2018