boltzmann sampling and random generation of combinatorial
play

Boltzmann Sampling and Random Generation of Combinatorial Structures - PowerPoint PPT Presentation

Random Generation Boltzmann Framework Boltzmann Samplers Size Control and Complexity Boltzmann Sampling and Random Generation of Combinatorial Structures Philippe Flajolet Based on joint work with Philippe Duchon, Eric Fusy, Guy Louchard,


  1. Random Generation Boltzmann Framework Boltzmann Samplers Size Control and Complexity Boltzmann Sampling and Random Generation of Combinatorial Structures Philippe Flajolet Based on joint work with Philippe Duchon, ´ Eric Fusy, Guy Louchard, Carine Pivoteau, Gilles Schaeffer GASCOM’06 , Dijon, September 12, 2006 1 / 36

  2. Random Generation Boltzmann Framework Boltzmann Samplers Size Control and Complexity C is a class of combinatorial structures. C n = collection of objects of size n . Draw uniformly at random from C n ?: P ( γ ) = 1 , C n := | |C n | | . C n E.g.: trees, permutations, words, graphs, mappings, maps, etc. Classification theory [Van Cutsem]; image synthesis [Viennot]; random testing in software eng. [J. Fayolle], combinatorics; simulation & statistical analysis of models in genetics [Denise], ecology [de Reffie], . . . 2 / 36

  3. Bijective method Random Generation Surjective method Boltzmann Framework Rejection method Boltzmann Samplers Markov method Size Control and Complexity Recursive method Random Generation and Combinatorics Bijective method : find bijection with simpler (product) set. Surjective method : find a “multiple” set that is simpler Rejection method : find a larger set and filter. Markov method : superimpose Markov chain structure & travel! Recursive method : decompose according to counting probabilities Boltzmann : This talk! 3 / 36

  4. Bijective method Random Generation Surjective method Boltzmann Framework Rejection method Boltzmann Samplers Markov method Size Control and Complexity Recursive method Bijective method Find bijection with simpler set Class C is such that C n = | |C n | | is a product. = { a , b } n = Words: W n ∼ ⇒ n random flips. Permutations: P n ∼ = [0] × [0 . . 1] × · · · × [0 . . n − 1] = ⇒ n RVs Dyck bridges: B 2 n ∼ � 2 n � : [Vitter] = n Usually requires pure product form! 4 / 36

  5. Bijective method Random Generation Surjective method Boltzmann Framework Rejection method Boltzmann Samplers Markov method Size Control and Complexity Recursive method Surjective method Find many-to-one uniform correspondence between C n and simpler set A n . � A n . � divisibility: C n Dyck excursions: by conjugacy with bridges � Catalan trees . 1 � 2 n + 1 � C n = . 2 n + 1 n Jean-Luc R´ emy’s algorithm for binary trees . Planar maps: cf Schaeffer et al. : by tree conjugation. Usually requires pure product form! 5 / 36

  6. Bijective method Random Generation Surjective method Boltzmann Framework Rejection method Boltzmann Samplers Markov method Size Control and Complexity Recursive method Rejection method Find larger set such that C n ⊂ D n , with simpler D = ⇒ Draw δ ∈ D . Test whether δ ∈ C ; repeat if needed Problem: Probability of success is C n . D n E.g. Prime numbers; irreducible polynomials . Cf Ruskey. E.g. Florentine algorithm for Dyck/Motzkin meanders . Avoid exponentially small probabilities? 6 / 36

  7. Bijective method Random Generation Surjective method Boltzmann Framework Rejection method Boltzmann Samplers Markov method Size Control and Complexity Recursive method Markov method — View elements of a class S n as states of a Markov chain — Set up transitions (e.g, via transformations) If the graph is regular, then the stationary distribution is uniform. Reversible Markov chains, Coupling [Propp-Wilson, Jerrum,. . . ]. � Self-avoiding walks, dimer coverings , “hard” combinatorial objects. May need information on mixing speed λ 2 . 7 / 36

  8. Bijective method Random Generation Surjective method Boltzmann Framework Rejection method Boltzmann Samplers Markov method Size Control and Complexity Recursive method Recursive method • Use counting sequences to decide splitting probabilities. E.g.: Binary trees with n external nodes, class B n . n − 1 � — A. Set up recurrence B n = B k B n − k . k =1 — B. Split n �→ � k , n − 1 − k � with probability B k B n − k . B n Theorem (Recursive method) Complexity of preprocessing is O ( n 2 ) large integer operations. Complexity of boustrophedonic random generation is O ( n log n ) arithmetic operations. • ECO systems . • Wilf’s path approach . J. van der Hoeven: Preprocessing in time O ( n 1+ ε ). A. Denise & P. Zimmermann: Floating point implementations. Also: Maple Combstruct . 8 / 36

  9. Random Generation Boltzmann Framework Boltzmann Samplers Size Control and Complexity Boltzmann framework Principle: • Generate according to a distribution spread over all C , depending on control parameter x . • Size becomes a random variable (RV). • Target choice of x to get objects of size near n with fair probability . Cf Statistical Physics: P ( γ ) = 1 � − β � Z exp T E [ γ ] . 9 / 36

  10. Random Generation Boltzmann Framework Boltzmann Samplers Size Control and Complexity Ordinary (unlabelled) Boltzmann models Assign to γ ∈ C probability proportional to exponential of its size: P ( γ ) = x | γ | P ( γ ) ∝ x | γ | = ⇒ C ( x ) , n C n x n is ordinary generating function (OGF). C ( x ) = � Requires x ≤ ρ C , where ρ C is the radius of convergence of C ( x ). � Size becomes a random variable: P (Size = n ) = C n x n C ( x ) . 10 / 36

  11. Random Generation Unions, products, and sequences Boltzmann Framework Labelled models, sets and cycles Boltzmann Samplers Unlabelled sets and cycles Size Control and Complexity Boltzmann Samplers: the Plan! Develop design rules given combinatorial specifications. — Basic constructions: ∪ , × , Seq — Labelled models: add Set , Cyc — Return to unlabelled models: add MSet , Pset , Cyc Do optimization w.r.t. size at the end: complexity issues. Based on [DuFlLoSc04] in CPC for labelled; [FlFuPi06] for unlabelled. Cf. F.+Sedgewick, Analytic Combinatorics . 11 / 36

  12. Random Generation Unions, products, and sequences Boltzmann Framework Labelled models, sets and cycles Boltzmann Samplers Unlabelled sets and cycles Size Control and Complexity Unions, products Lemma (Disjoint unions) Boltzmann sampler Γ C for C = A ∪ B : A ( x ) C ( x ) do Γ A ( x ) else do Γ B ( x ) With probability Lemma (Products) Boltzmann sampler Γ C for C = A × B : Generate independent pair � Γ A ( x ) , Γ B ( x ) � . Proofs = One-liners! Using basic definitions of probability. x n A ( x ) · A ( x ) — Disjoint union: | γ | = n = ⇒ if γ ∈ A then P C ( γ ) = C ( x ) . . . A ( x ) · x n − k x k x n — Product: P C ( γ ) = B ( x ) = C ( x ). 12 / 36

  13. Random Generation Unions, products, and sequences Boltzmann Framework Labelled models, sets and cycles Boltzmann Samplers Unlabelled sets and cycles Size Control and Complexity Sequences Lemma (Sequences) Boltzmann sampler Γ C for C = Seq ( A ) : • Generate K which is geometric with parameter A ( x ) • Generate independent K -tuple � Γ A ( x ) , . . . , Γ A ( x ) � . Proof. Recursive equation: C = 1 + AC with + , × constructions. 1 With probability A ( x ) STOP; else Γ A ( x ) and continue rec. with Γ C ( x ). Number of trials of Bernoulli RV till success is Geometric. 13 / 36

  14. Random Generation Unions, products, and sequences Boltzmann Framework Labelled models, sets and cycles Boltzmann Samplers Unlabelled sets and cycles Size Control and Complexity Specifications with {∪ , × , Seq } Specs GF Sampler 1 or Z (atom) 1 or x Γ C := output 1 • or Γ C ( x ) := A ( x ) � Γ C ( x ) � C = A ∪ B C ( x ) = A ( x ) + B ( x ) C ( x ) − → Γ B ( x ) C = A × B C ( x ) = A ( x ) × B ( x ) Γ C ( x ) := � Γ B ( x ) , Γ C ( x ) � 1 C = Seq ( A ) C ( x ) = Γ C ( x ) := Geom[ A ( x )] = ⇒ Γ A ( x ) 1 − A ( x ) Compile sampler from specification automatically. 14 / 36

  15. Random Generation Unions, products, and sequences Boltzmann Framework Labelled models, sets and cycles Boltzmann Samplers Unlabelled sets and cycles Size Control and Complexity Specifications with {∪ , × , Seq } — continued Theorem (Complexity Minitheorem) Given oracle that provide the finitely many values of GFs, complexity is linear in size of object produced. Proof {∪ , × , Seq } : overhead O (1) per node of derivation tree. Complexity model: exact computations over R ; in practice, “floats” (more later). Definition Regular specification = iterative (nonrecursive) with {∪ , × , Seq } . Contex-free specification = recursive with {∪ , × , Seq } . Proposition Regular structures and context-free structures have Boltzmann samplers of linear-time complexity. 15 / 36

  16. Random Generation Unions, products, and sequences Boltzmann Framework Labelled models, sets and cycles Boltzmann Samplers Unlabelled sets and cycles Size Control and Complexity Specifications with {∪ , × , Seq } — continued (2) Regular specifications • Binary words with longest run of a ’s of length < 17. Seq < 17 ( { a } ) · Seq ( b Seq < 17 ( { a } )) . • Codes , e.g., { aba , abaaa , abba } . • Polyominos that have rational GF, e.g., Vertically convex. • Languages recognized by deterministic finite automata E.g., Strings containing three times the pattern “abracadabra”. • Paths in digraphs even in the presence of sinks . 16 / 36

Recommend


More recommend