Polynomial-Time Approximation Schemes for Knapsack and Related Counting Problems using Branching Programs
Polynomial-Time Approximation Schemes for Knapsack and Related Counting Problems using Branching Programs
复制标题
使用分支程序的背包及相关计数问题的多项式时间逼近方案
DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
Raghu Meka
中科院分区:
文献类型:
--
作者:
Parikshit Gopalan;Adam R. Klivans;Raghu Meka
We give a deterministic, polynomial-time algorithm for approximately counting the number of {0,1}-solutions to any instance of the knapsack problem. On an instance of length n with total weight W and accuracy parameter eps, our algorithm produces a (1 + eps)-multiplicative approximation in time poly(n,log W,1/eps). We also give algorithms with identical guarantees for general integer knapsack, the multidimensional knapsack problem (with a constant number of constraints) and for contingency tables (with a constant number of rows). Previously, only randomized approximation schemes were known for these problems due to work by Morris and Sinclair and work by Dyer.
Our algorithms work by constructing small-width, read-once branching programs for approximating the underlying solution space under a carefully chosen distribution. As a byproduct of this approach, we obtain new query algorithms for learning functions of k halfspaces with respect to the uniform distribution on {0,1}^n. The running time of our algorithm is polynomial in the accuracy parameter eps. Previously even for the case of k=2, only algorithms with an exponential dependence on eps were known.