knapsackdeterministic - arXiv:1008.1687v1 [cs.DS] 10 Aug...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: arXiv:1008.1687v1 [cs.DS] 10 Aug 2010 A Deterministic Polynomial-time 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 polynomial-time 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 CCF-0910584. 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 polynomial-time 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.

Page1 / 11

knapsackdeterministic - arXiv:1008.1687v1 [cs.DS] 10 Aug...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online