Stochastic Enumeration Method for Counting NP-Hard Problems



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.


Counting MCMC Rare-event Self-avoiding walks Satisfiability Sequential importance sampling Splitting 

AMS 2000 Subject Classifications

65C05 60C05 68W20 90C59 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Botev ZI, Kroese DP (2008) An efficient algorithm for rare-event probability estimation, combinatorial optimization, and counting. Methodol Comput Appl Probab 10(4):471–505MathSciNetCrossRefGoogle Scholar
  2. Botev ZI, Kroese DP (2011) Efficient Monte Carlo simulation via the generalized splitting method. Stat Comput (accepted for publication)Google Scholar
  3. Cerou F, Guyader A (2007) Adaptive multilevel splitting for rare event analysis. Stoch Anal Appl 25(2):417–443MathSciNetMATHCrossRefGoogle Scholar
  4. Cerou F, Del Moral P, Le Gland F, Lezaud P (2006) Genetic genealogical models in rare event analysis. Latin Am J Probab Math Stat 1Google Scholar
  5. Cerou F, Del Moral P, Furon T, Guyader A (2011) Rare event simulation for static distribution. Technical Report, InriaGoogle Scholar
  6. Clisby N (2010) Efficient implementation of the pivot algorithm for self-avoiding walks. J Stat Phys 140:349–392. arXiv:1005.1444 MathSciNetMATHCrossRefGoogle Scholar
  7. 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 595Google Scholar
  8. Davis M, Putnam H (1960) A computing procedure for quantification theory. J ACM 7:201–215MathSciNetMATHCrossRefGoogle Scholar
  9. Davis M, Logemann G, Loveland D (1962) A machine program for theorem proving. Commun ACM 5:394–397MathSciNetMATHCrossRefGoogle Scholar
  10. Del Moral P (2004) Feynman–Kac formulae, genealogical and interacting particle systems with applications. Probability and its applications. Springer, New YorkGoogle Scholar
  11. Garvels MJJ (2000) The splitting method in rare-event simulation. PhD thesis, University of TwenteGoogle Scholar
  12. Gertsbakh IB, Spungin Y (1999) Models of reliability: analysis, combinatorics and Monte Carlo. CRC Press, Boca RatonGoogle Scholar
  13. Glasserman P, Heidelberger P, Shahabuddin P, Zajic T (1999) Multilevel splitting for estimating rare event probabilities. Oper Res 47(4):585–600MathSciNetMATHCrossRefGoogle Scholar
  14. Gogate V, Dechter R (2007) Approximate counting by sampling the backtrack-free search space. In: Proceedings 22nd conference on artificial intelligence, pp 198–203Google Scholar
  15. Gogate V, Dechter R (2010) SampleSearch: importance sampling in presence of determinism. Artificial Intelligence Journal 175(2):694–729MathSciNetCrossRefGoogle Scholar
  16. Janse van Rensburg EJ (2009) Monte Carlo methods for the self-avoiding walk. J Phys A, Math Theor 42:1–97CrossRefGoogle Scholar
  17. Jerrum MR, Valiant LG, Vazirani VV (1986) Random generation of combinatorial structures from a uniform distribution. Theor Comp Sci (Elsevier) 32:169–188MathSciNetCrossRefGoogle Scholar
  18. Kahn H, Harris TE (1951) Estimation of particle transmission by random sampling. Natl Bur Stand, Appl Math Ser 12:27–30Google Scholar
  19. Kuhn HW (1955) The Hungarian method for the assignment problem. Nav Res Logist Q 2:83–97CrossRefGoogle Scholar
  20. Lagnoux A (2006) Rare event simulation. Probab Eng Inf Sci 20(1):45–66MathSciNetMATHCrossRefGoogle Scholar
  21. Lagnoux-Renaudie A (2009) A two-steps branching splitting model under cost constraint. J Appl Probab 46(2):429–452MathSciNetMATHCrossRefGoogle Scholar
  22. 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–1283Google Scholar
  23. Lui JS (2001) Monte Carlo strategies in scientific computing. Springer, New YorkGoogle Scholar
  24. 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–186MathSciNetMATHCrossRefGoogle Scholar
  25. Melas VB (1997) On the efficiency of the splitting and roulette approach for sensitivity analysis. In: Winter simulation conference, Atlanta, GA, pp 269–274Google Scholar
  26. 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–1092CrossRefGoogle Scholar
  27. Mitzenmacher M, Upfal E (2005) Probability and computing: randomized algorithms and probabilistic analysis. Cambridge University Press, New YorkMATHCrossRefGoogle Scholar
  28. Metzner P, Schütte Ch, Vanden-Eijnden E (2006) Illustration of transition path theory on a collection of simple examples. J Chem Phys 125:084110CrossRefGoogle Scholar
  29. Motwani R, Raghavan R (1997) Randomized algorithms. Cambridge University Press, New YorkGoogle Scholar
  30. Rasmussen LE (1994) Approximating the permanent: a simple approach. Random Struct Algorithms 5:349–361MathSciNetMATHCrossRefGoogle Scholar
  31. Roberts B, Kroese DP (2007) Estimating the number of s-t paths in a graph. J Graph Algorithms Appl 11(1):195–214MathSciNetMATHCrossRefGoogle Scholar
  32. Rosenbluth MN, Rosenbluth AW (1955) Monte Carlo calculation of the average extension of molecular chains. J Chem Phys 23(2):356–359CrossRefGoogle Scholar
  33. Rubinstein RY (2009) The Gibbs Cloner for combinatorial optimization, counting and sampling. Methodol Comput Appl Probab 11(2):491–549MathSciNetMATHCrossRefGoogle Scholar
  34. Rubinstein RY, Kroese DP (2007) Simulation and the Monte Carlo method, 2nd edn. Wiley, New YorkCrossRefGoogle Scholar
  35. Valiant LG (1979) The complexity of computing the permanent. Theor Comp Sci (Elsevier) 8:189–201MathSciNetMATHCrossRefGoogle Scholar
  36. 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–339CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Faculty of Industrial Engineering and TechnionIsrael Institute of TechnologyHaifaIsrael

Personalised recommendations