Boltzmann Sampling of Unlabeled Structures

Boltzmann models from statistical physics combined with methods from analytic combinatorics give rise to efficient algorithms for the random generation of unlabelled objects. The resulting algorithms generate in an unbiased manner discrete configurations that may have nontrivial symmetries, and they do so by means of real-arithmetic computations. We present a collection of construction rules for such samplers, which applies to a wide variety of combinatorial classes, including integer partitions, necklaces, unlabelled functional graphs, dictionaries, series-parallel circuits, term trees and acyclic molecules obeying a variety of constraints, and so on. Under an abstract real-arithmetic computation model, the algorithms are, for many classical structures, of linear complexity provided a small tolerance is allowed on the size of the object drawn. As opposed to many of their discrete competitors, the resulting programs routinely make it possible to generate random objects of sizes in the range 104--106.

[1]  G. Pólya,et al.  Combinatorial Enumeration Of Groups, Graphs, And Chemical Compounds , 1988 .

[2]  D. Hickerson Counting Horizontally Convex Polyominoes , 1999 .

[3]  A. Nijenhuis Combinatorial algorithms , 1975 .

[4]  Yann Ponty,et al.  Random generation of structured genomic sequences , 2003 .

[5]  Gilbert Labelle,et al.  Combinatorial species and tree-like structures , 1997, Encyclopedia of mathematics and its applications.

[6]  Éric Fusy Quadratic exact-size and linear approximate-size random generation of planar graphs , 2005 .

[7]  Alain Denise,et al.  A generic method for statistical testing , 2004, 15th International Symposium on Software Reliability Engineering.

[8]  John W. Moon,et al.  On random mapping patterns , 1984, Comb..

[9]  Michael Drmota,et al.  Special Issue on Analysis of Algorithms , 2004, Comb. Probab. Comput..

[10]  Mark Jerrum,et al.  Uniform Sampling Modulo a Group of Symmetries Using Markov Chain Simulation , 1992, Expanding Graphs.

[11]  L. Devroye Non-Uniform Random Variate Generation , 1986 .

[12]  Philippe Flajolet,et al.  A Calculus for the Random Generation of Labelled Combinatorial Structures , 1994, Theor. Comput. Sci..

[13]  Sampath Kannan,et al.  A Quasi-Polynomial-Time Algorithm for Sampling Words from a Context-Free Language , 1997, Inf. Comput..

[14]  Frank Harary,et al.  A Survey of Graphical Enumeration Problems††Work supported in part by grants from the Air Force Office of Scientific Research and the National Science Foundation. , 1973 .

[15]  Leslie Ann Goldberg,et al.  Randomly sampling molecules , 1997, SODA '97.

[16]  Alain Denise,et al.  Uniform Random Generation of Decomposable Structures Using Floating-Point Arithmetic , 1999, Theor. Comput. Sci..

[17]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[18]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[19]  Guy Louchard,et al.  Boltzmann Samplers for the Random Generation of Combinatorial Structures , 2004, Combinatorics, Probability and Computing.

[20]  I. Goulden,et al.  Combinatorial Enumeration , 2004 .