# Stochastic Enumeration Method for Counting Trees

- 161 Downloads
- 2 Citations

## Abstract

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.

## Keywords

Randomized algorithms Monte Carlo sampling Multilevel splitting## Mathematics Subject Classification (2010)

05C05 65C05 05C85 05C81 60J80## Preview

Unable to display preview. Download preview PDF.

## References

- Asmussen S, Hering H (1983) Branching processes. Progress in probability and statistics. Birkhäuser, SwitzerlandCrossRefzbMATHGoogle Scholar
- Avis David, Devroye Luc (2000) Estimating the number of vertices of a polyhedron. Inf Process Lett 73(3–4):137–143MathSciNetCrossRefzbMATHGoogle Scholar
- Blanchet J, Rudoy D (2009) Rare event simulation and counting problems. In: Rare event simulation using monte carlo methods. WileyGoogle Scholar
- Blitzstein JK, Diaconis P (2011) A sequential importance sampling algorithm for generating random graphs with prescribed degrees. Internet Math 6(4):489–522MathSciNetCrossRefzbMATHGoogle Scholar
- Botev ZI, Kroese DP (2012) Efficient monte carlo simulation via the generalized splitting method. Stat Comput 22:1–16Google Scholar
- 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
- Chen PC (1992) Heuristic sampling: a method for predicting the performance of tree searching programs. SIAM J Comput 21(2):295–315CrossRefzbMATHGoogle Scholar
- Dyer M (2003) Approximate counting by dynamic programming. In: Proceedings of the 35th ACM symposium on theory of computing, pp 693–699Google Scholar
- 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
- Garvels MJJ (2000) The splitting method in rare event simulation. PhD thesis, EnschedeGoogle Scholar
- 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
- Hoeffding W (1962) Probability inequalities for sums of bounded random variables. J Am Stat AssocGoogle Scholar
- 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
- 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
- Jerrum M, Valiant LG, Vazirani VV (1986) Random generation of combinatorial structures from a uniform distribution. Theor Comput Sci 43:169–188MathSciNetCrossRefzbMATHGoogle Scholar
- 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
- Knuth DE (1975) Estimating the efficiency of backtrack programs. Math Comp 29Google Scholar
- Liu J, Lu P (2013) FPTAS for counting monotone CNF. CoRR arXiv:1311.3728
- Motwani R, Raghavan P (1995) Randomized algorithms. Cambridge University Press, New YorkCrossRefzbMATHGoogle Scholar
- Pakes AG (1971) Some limit theorems for the total progeny of a branching process. Adv Appl Probab 3(1):176–192MathSciNetCrossRefzbMATHGoogle Scholar
- Polya G, Szegö G (1998) Problems and theorems in analysis I. Classics in mathematics. Springer, BerlinzbMATHGoogle Scholar
- Purdom PW (1978) Tree size by partial backtracking. SIAM J Comput 7(4):481–491MathSciNetCrossRefzbMATHGoogle Scholar
- Rasmussen LE (1997) Approximately counting cliques. Random Struct Algorithms 11(4):395–411MathSciNetCrossRefzbMATHGoogle Scholar
- Rubinstein RY (2009) The Gibbs cloner for combinatorial optimization, counting and sampling. Methodol Comput Appl Probab 11:491–549MathSciNetCrossRefzbMATHGoogle Scholar
- Rubinstein RY (2012) Stochastic enumeration method for counting NP-hard problems. Methodol Comput Appl Probab 1–42Google Scholar
- Rubinstein RY, Dolgin A, Vaisman R (2012) The splitting method for decision making. Communications in Statistics - Simulation and Computation 41(6):905–921MathSciNetCrossRefzbMATHGoogle Scholar
- Rubinstein RY, Kroese DP (2008) Simulation and the Monte Carlo Method, 2nd edn. Wiley, New YorkzbMATHGoogle Scholar
- Rubinstein RY, Ridder A, Vaisman R (2013) Fast sequential Monte Carlo methods for counting and optimization. Wiley, New YorkCrossRefGoogle Scholar
- Vadhan SP (1997) The complexity of counting in sparse, regular, and planar graphs. SIAM J Comput 31:398–427MathSciNetCrossRefzbMATHGoogle Scholar
- 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
- Valiant LG (1979) The complexity of enumeration and reliability problems. SIAM J Comput 8(3):410–421Google Scholar
- 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
- 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