Monte-Carlo Approximation Algorithms for Enumeration Problems