Polynomial tuning of multiparametric combinatorial samplers

Maciej Bendkowski, Olivier Bodini, Sergey Dovgal
8/3/2017
math.COcs.CCcs.DS

Official code: maciej-bendkowski/boltzmann-brain (31 stars, BSD-3-Clause, last commit 2022-07-10). 1 more implementation below.

Abstract

Boltzmann samplers and the recursive method are prominent algorithmic frameworks for the approximate-size and exact-size random generation of large combinatorial structures, such as maps, tilings, RNA sequences or various tree-like structures. In their multiparametric variants, these samplers allow to control the profile of expected values corresponding to multiple combinatorial parameters. One can control, for instance, the number of leaves, profile of node degrees in trees or the number of certain subpatterns in strings. However, such a flexible control requires an additional non-trivial tuning procedure. In this paper, we propose an efficient polynomial-time, with respect to the number of tuned parameters, tuning algorithm based on convex optimisation techniques. Finally, we illustrate the efficiency of our approach using several applications of rational, algebraic and Pólya structures including polyomino tilings with prescribed tile frequencies, planar trees with a given specific node degree distribution, and weighted partitions.

View on arXivView PDF

Code Implementations(2)

BSD-3-Clause

Analytic sampler compiler for combinatorial systems

315Nix, PythonOct 23, 20164 years agoBSD-3-Clause
BSD-3-Clause

Auxiliary examples of combinatorial specifications amenable to multiparametric frequency tuning

41Python, HaskellJul 27, 20179 years agoBSD-3-Clause

Cite this paper

@article{bendkowski2017polynomial,
  title  = {Polynomial tuning of multiparametric combinatorial samplers},
  author = {Maciej Bendkowski and Olivier Bodini and Sergey Dovgal},
  year   = {2017},
  eprint = {1708.01212},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1708.01212}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1708.01212.svg)](https://codeofpaper.com/paper/1708.01212)

Discussion