Skip to main content
Log in

Stochastic Enumeration Method for Counting NP-Hard Problems

  • Published:
Methodology and Computing in Applied Probability Aims and scope Submit manuscript

Abstract

We present a new generic sequential importance sampling algorithm, called stochastic enumeration (SE) for counting #P-complete problems, such as the number of satisfiability assignments and the number of perfect matchings (permanent). We show that SE presents a natural generalization of the classic one-step-look-ahead algorithm in the sense that it: Runs in parallel multiple trajectories instead of a single one; Employs a polynomial time decision making oracle, which can be viewed as an n-step-look-ahead algorithm, where n is the size of the problem. Our simulation studies indicate good performance of SE as compared with the well-known splitting and SampleSearch methods.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Botev ZI, Kroese DP (2008) An efficient algorithm for rare-event probability estimation, combinatorial optimization, and counting. Methodol Comput Appl Probab 10(4):471–505

    Article  MathSciNet  Google Scholar 

  • Botev ZI, Kroese DP (2011) Efficient Monte Carlo simulation via the generalized splitting method. Stat Comput (accepted for publication)

  • Cerou F, Guyader A (2007) Adaptive multilevel splitting for rare event analysis. Stoch Anal Appl 25(2):417–443

    Article  MathSciNet  MATH  Google Scholar 

  • Cerou F, Del Moral P, Le Gland F, Lezaud P (2006) Genetic genealogical models in rare event analysis. Latin Am J Probab Math Stat 1

  • Cerou F, Del Moral P, Furon T, Guyader A (2011) Rare event simulation for static distribution. Technical Report, Inria

  • Clisby N (2010) Efficient implementation of the pivot algorithm for self-avoiding walks. J Stat Phys 140:349–392. arXiv:1005.1444

    Article  MathSciNet  MATH  Google Scholar 

  • Cormen TH, Leiserson CE, Rivest RL, Clifford S (2001) Section 24.3: Dijkstra’s algorithm. Introduction to algorithms, 2nd edn. MIT Press and McGraw-Hill, pp 595

  • Davis M, Putnam H (1960) A computing procedure for quantification theory. J ACM 7:201–215

    Article  MathSciNet  MATH  Google Scholar 

  • Davis M, Logemann G, Loveland D (1962) A machine program for theorem proving. Commun ACM 5:394–397

    Article  MathSciNet  MATH  Google Scholar 

  • Del Moral P (2004) Feynman–Kac formulae, genealogical and interacting particle systems with applications. Probability and its applications. Springer, New York

    Google Scholar 

  • Garvels MJJ (2000) The splitting method in rare-event simulation. PhD thesis, University of Twente

  • Gertsbakh IB, Spungin Y (1999) Models of reliability: analysis, combinatorics and Monte Carlo. CRC Press, Boca Raton

    Google Scholar 

  • Glasserman P, Heidelberger P, Shahabuddin P, Zajic T (1999) Multilevel splitting for estimating rare event probabilities. Oper Res 47(4):585–600

    Article  MathSciNet  MATH  Google Scholar 

  • Gogate V, Dechter R (2007) Approximate counting by sampling the backtrack-free search space. In: Proceedings 22nd conference on artificial intelligence, pp 198–203

  • Gogate V, Dechter R (2010) SampleSearch: importance sampling in presence of determinism. Artificial Intelligence Journal 175(2):694–729

    Article  MathSciNet  Google Scholar 

  • Janse van Rensburg EJ (2009) Monte Carlo methods for the self-avoiding walk. J Phys A, Math Theor 42:1–97

    Article  Google Scholar 

  • Jerrum MR, Valiant LG, Vazirani VV (1986) Random generation of combinatorial structures from a uniform distribution. Theor Comp Sci (Elsevier) 32:169–188

    Article  MathSciNet  Google Scholar 

  • Kahn H, Harris TE (1951) Estimation of particle transmission by random sampling. Natl Bur Stand, Appl Math Ser 12:27–30

    Google Scholar 

  • Kuhn HW (1955) The Hungarian method for the assignment problem. Nav Res Logist Q 2:83–97

    Article  Google Scholar 

  • Lagnoux A (2006) Rare event simulation. Probab Eng Inf Sci 20(1):45–66

    Article  MathSciNet  MATH  Google Scholar 

  • Lagnoux-Renaudie A (2009) A two-steps branching splitting model under cost constraint. J Appl Probab 46(2):429–452

    Article  MathSciNet  MATH  Google Scholar 

  • L’Ecuyer P, Blanchet J, Tuffin B, Glynn PW (2008) Asymptotic robustness of estimators in rare-event simulation. ACM Trans Model Comput Simul 18(3):1269–1283

    Google Scholar 

  • Lui JS (2001) Monte Carlo strategies in scientific computing. Springer, New York

    Google Scholar 

  • Madras N, Sokal AD (1988) The pivot algorithm: a highly efficient Monte Carlo method for the self-avoiding walk. J Stat Phys 50(1/2):109–186

    Article  MathSciNet  MATH  Google Scholar 

  • Melas VB (1997) On the efficiency of the splitting and roulette approach for sensitivity analysis. In: Winter simulation conference, Atlanta, GA, pp 269–274

  • Metropolis N, Rosenbluth MN, Rosenbluth AH, Teller H, Teller E (1953) Equation of state calculations by fast computing machines. J Chem Phys 21(6):1087–1092

    Article  Google Scholar 

  • Mitzenmacher M, Upfal E (2005) Probability and computing: randomized algorithms and probabilistic analysis. Cambridge University Press, New York

    Book  MATH  Google Scholar 

  • Metzner P, Schütte Ch, Vanden-Eijnden E (2006) Illustration of transition path theory on a collection of simple examples. J Chem Phys 125:084110

    Article  Google Scholar 

  • Motwani R, Raghavan R (1997) Randomized algorithms. Cambridge University Press, New York

    Google Scholar 

  • Rasmussen LE (1994) Approximating the permanent: a simple approach. Random Struct Algorithms 5:349–361

    Article  MathSciNet  MATH  Google Scholar 

  • Roberts B, Kroese DP (2007) Estimating the number of s-t paths in a graph. J Graph Algorithms Appl 11(1):195–214

    Article  MathSciNet  MATH  Google Scholar 

  • Rosenbluth MN, Rosenbluth AW (1955) Monte Carlo calculation of the average extension of molecular chains. J Chem Phys 23(2):356–359

    Article  Google Scholar 

  • Rubinstein RY (2009) The Gibbs Cloner for combinatorial optimization, counting and sampling. Methodol Comput Appl Probab 11(2):491–549

    Article  MathSciNet  MATH  Google Scholar 

  • Rubinstein RY, Kroese DP (2007) Simulation and the Monte Carlo method, 2nd edn. Wiley, New York

    Book  Google Scholar 

  • Valiant LG (1979) The complexity of computing the permanent. Theor Comp Sci (Elsevier) 8:189–201

    Article  MathSciNet  MATH  Google Scholar 

  • Wei W, Selman B (2005) A new approach to model counting. In: Proceedings of SAT-05: 8th international conference on theory and applications of satisfiability testing. Lecture notes in computer science, vol 3569. St. Andrews, UK, pp 324–339

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Reuven Rubinstein.

Additional information

This research was supported by the BSF (Binational Science Foundation, grant no 2008482).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rubinstein, R. Stochastic Enumeration Method for Counting NP-Hard Problems. Methodol Comput Appl Probab 15, 249–291 (2013). https://doi.org/10.1007/s11009-011-9242-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11009-011-9242-y

Keywords

AMS 2000 Subject Classifications

Navigation