摘要

We propose an improved algorithm for counting the number of Hamiltonian cycles in a directed graph. The basic idea of the method is sequential acceptance/rejection, which is successfully used in approximating the number of perfect matchings in dense bipartite graphs. As a consequence, a new ratio of the number of Hamiltonian cycles to the number of 1-factors is proposed. Based on this ratio, we prove that our algorithm runs in expected time of O(n(8.5)) for dense problems. This improves the Markov chain Monte Carlo method, the most powerful existing method, by a factor of at least n(4.5) (log n)(4) in running time. This class of dense problems is shown to be nontrivial in counting, in the sense that they are #P-Complete.