Stochastic Enumeration Method for Counting Trees

  • Radislav VaismanEmail author
  • Dirk P. Kroese


The problem of estimating the size of a backtrack tree is an important but hard problem in the computational sciences. An efficient solution of this problem can have a major impact on the hierarchy of complexity classes. The first randomized procedure, which repeatedly generates random paths through the tree, was introduced by Knuth. Unfortunately, as was noted by Knuth and a few other researchers, the estimator can introduce a large variance and become ineffective in the sense that it underestimates the cost of the tree. Recently, a new sequential algorithm called Stochastic Enumeration (SE) method was proposed by Rubinstein et al. The authors showed numerically that this simple algorithm can be very efficient for handling different counting problems, such as counting the number of satisfiability assignments and enumerating the number of perfect matchings in bipartite graphs. In this paper we introduce a rigorous analysis of SE and show that it results in significant variance reduction as compared to Knuth’s estimator. Moreover, we establish that for almost all random trees the SE algorithm is a fully polynomial time randomized approximation scheme (FPRAS) for the estimation of the overall tree size.


Randomized algorithms Monte Carlo sampling Multilevel splitting 

Mathematics Subject Classification (2010)

05C05 65C05 05C85 05C81 60J80 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Asmussen S, Hering H (1983) Branching processes. Progress in probability and statistics. Birkhäuser, SwitzerlandCrossRefzbMATHGoogle Scholar
  2. Avis David, Devroye Luc (2000) Estimating the number of vertices of a polyhedron. Inf Process Lett 73(3–4):137–143MathSciNetCrossRefzbMATHGoogle Scholar
  3. Blanchet J, Rudoy D (2009) Rare event simulation and counting problems. In: Rare event simulation using monte carlo methods. WileyGoogle Scholar
  4. Blitzstein JK, Diaconis P (2011) A sequential importance sampling algorithm for generating random graphs with prescribed degrees. Internet Math 6(4):489–522MathSciNetCrossRefzbMATHGoogle Scholar
  5. Botev ZI, Kroese DP (2012) Efficient monte carlo simulation via the generalized splitting method. Stat Comput 22:1–16Google Scholar
  6. 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. doi: 10.1007/s11009-008-9073-7
  7. Chen PC (1992) Heuristic sampling: a method for predicting the performance of tree searching programs. SIAM J Comput 21(2):295–315CrossRefzbMATHGoogle Scholar
  8. Dyer M (2003) Approximate counting by dynamic programming. In: Proceedings of the 35th ACM symposium on theory of computing, pp 693–699Google Scholar
  9. Dyer M, Frieze A, Jerrum M (1999) On counting independent sets in sparse graphs. In: In 40th annual symposium on foundations of computer science, pp 210–217Google Scholar
  10. Garvels MJJ (2000) The splitting method in rare event simulation. PhD thesis, EnschedeGoogle Scholar
  11. Glasserman P, Heidelberger P, Shahabuddin P, Zajic T (1996) Splitting for rare event simulation: analysis of simple cases. In: Winter simulation conference, pp 302–308Google Scholar
  12. Hoeffding W (1962) Probability inequalities for sums of bounded random variables. J Am Stat AssocGoogle Scholar
  13. Jerrum M, Sinclair A (1996) The Markov chain Monte Carlo method: an approach to approximate counting and integration. In: Hochbaum D (ed) Approximation algorithms for np-hard problems. PWS Publishing, pp 482–520Google Scholar
  14. Jerrum M, Sinclair A, Vigoda E (2004) A polynomial-time approximation algorithm for the permanent of a matrix with non-negative entries. J ACM 671–697Google Scholar
  15. Jerrum M, Valiant LG, Vazirani VV (1986) Random generation of combinatorial structures from a uniform distribution. Theor Comput Sci 43:169–188MathSciNetCrossRefzbMATHGoogle Scholar
  16. Karp RM, Luby M (1983) Monte-Carlo algorithms for enumeration and reliability problems. In: Proceedings of the 24th annual symposium on foundations of computer science, SFCS ’83. IEEE Computer Society, Washington, pp 56–64Google Scholar
  17. Knuth DE (1975) Estimating the efficiency of backtrack programs. Math Comp 29Google Scholar
  18. Liu J, Lu P (2013) FPTAS for counting monotone CNF. CoRR arXiv:1311.3728
  19. Motwani R, Raghavan P (1995) Randomized algorithms. Cambridge University Press, New YorkCrossRefzbMATHGoogle Scholar
  20. Pakes AG (1971) Some limit theorems for the total progeny of a branching process. Adv Appl Probab 3(1):176–192MathSciNetCrossRefzbMATHGoogle Scholar
  21. Polya G, Szegö G (1998) Problems and theorems in analysis I. Classics in mathematics. Springer, BerlinzbMATHGoogle Scholar
  22. Purdom PW (1978) Tree size by partial backtracking. SIAM J Comput 7(4):481–491MathSciNetCrossRefzbMATHGoogle Scholar
  23. Rasmussen LE (1997) Approximately counting cliques. Random Struct Algorithms 11(4):395–411MathSciNetCrossRefzbMATHGoogle Scholar
  24. Rubinstein RY (2009) The Gibbs cloner for combinatorial optimization, counting and sampling. Methodol Comput Appl Probab 11:491–549MathSciNetCrossRefzbMATHGoogle Scholar
  25. Rubinstein RY (2012) Stochastic enumeration method for counting NP-hard problems. Methodol Comput Appl Probab 1–42Google Scholar
  26. Rubinstein RY, Dolgin A, Vaisman R (2012) The splitting method for decision making. Communications in Statistics - Simulation and Computation 41(6):905–921MathSciNetCrossRefzbMATHGoogle Scholar
  27. Rubinstein RY, Kroese DP (2008) Simulation and the Monte Carlo Method, 2nd edn. Wiley, New YorkzbMATHGoogle Scholar
  28. Rubinstein RY, Ridder A, Vaisman R (2013) Fast sequential Monte Carlo methods for counting and optimization. Wiley, New YorkCrossRefGoogle Scholar
  29. Vadhan SP (1997) The complexity of counting in sparse, regular, and planar graphs. SIAM J Comput 31:398–427MathSciNetCrossRefzbMATHGoogle Scholar
  30. Vaisman R, Kroese DP, Gertsbakh IB (2015) Improved sampling plans for combinatorial invariants of coherent systems. IEEE Trans Reliab. doi: 10.1109/TR.2015.2446471
  31. Valiant LG (1979) The complexity of enumeration and reliability problems. SIAM J Comput 8(3):410–421Google Scholar
  32. Yuguo C, Persi D, Holmes SP, Liu JS (2005) Sequential Monte Carlo methods for statistical analysis of tables. J Am Stat Assoc 100:109–120MathSciNetCrossRefzbMATHGoogle Scholar
  33. Zhang Y, Wu H, Cheng L (2012) Some new deformation formulas about variance and covariance. In: Proceedings of 4th international conference on modelling, identification and controlGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  1. 1.The University of QueenslandBrisbaneAustralia

Personalised recommendations