This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: arXiv:1008.1687v1 [cs.DS] 10 Aug 2010 A Deterministic Polynomialtime Approximation Scheme for Counting Knapsack Solutions Daniel Stefankovic Santosh Vempala Eric Vigoda August 11, 2010 Abstract Given n elements with nonnegative integer weights w 1 ,...,w n and an integer capacity C , we consider the counting version of the classic knapsack problem: find the number of distinct subsets whose weights add up to at most the given capacity. We give a deterministic algo rithm that estimates the number of solutions to within relative error 1 in time polynomial in n and 1 / (fully polynomial approximation scheme). More precisely, our algorithm takes time O ( n 3  1 log( n/ )). Our algorithm is based on dynamic programming. Previously, ran domized polynomial time approximation schemes were known first by Morris and Sinclair via Markov chain Monte Carlo techniques, and subsequently by Dyer via dynamic programming and rejection sam pling. 1 Introduction Randomized algorithms are usually simpler and faster than their determin istic counterparts. In spite of this, it is widely believed that P=BPP (see, e. g., [2]), i.e., at least up to polynomial complexity, randomness is not es sential. This conjecture is supported by the fact that there are relatively few problems for which exact randomized polynomialtime algorithms exist but deterministic ones are not known. Notable among them is the problem Department of Computer Science, University of Rochester, Rochester, NY 14627. Email: stefanko@cs.rochester.edu. Research supported in part by NSF grant CCF 0910415. School of Computer Science, Georgia Institute of Technology, Atlanta GA 30332. Email: { vempala,vigoda } @cc.gatech.edu. Research supported in part by NSF grant CCF 0830298 and CCF0910584. 1 of testing whether a polynomial is identically zero (a special case of this, primality testing was open for decades but a deterministic algorithm is now known, [1]). However, when one moves to approximation algorithms, there are many more such examples. The entire field of approximate counting is based on Markov chain Monte Carlo (MCMC) sampling [11], a technique that is inherently randomized, and has had remarkable success. The problems of counting matchings [9, 12], colorings [8], various tilings, partitions and arrangements [14], estimating partition functions [10, 16], or volumes [6, 13] are all solved by first designing a random sampling method and then reducing counting to repeated sampling. In all these cases, when the input is presented explicitly, it is conceivable that deterministic polynomialtime algorithms exist. 1 The one notable example of a deterministic approximate counting algo rithm is Weitzs algorithm [17] for counting independent sets weighted by an activity for graphs of maximum degree when is constant and < u () where u () is the uniqueness threshold for the regular tree....
View
Full
Document
This note was uploaded on 10/23/2011 for the course CS 7520 taught by Professor Staff during the Spring '08 term at Georgia Institute of Technology.
 Spring '08
 Staff
 Algorithms

Click to edit the document details