Hostname: page-component-74656f9884-kv2lp Total loading time: 0 Render date: 2026-11-06T03:46:12.115Z Has data issue: false hasContentIssue false

Tuning as convex optimisation: a polynomial tuner for multi-parametric combinatorial samplers

Published online by Cambridge University Press:  15 December 2021

Maciej Bendkowski
Affiliation:
Theoretical Computer Science Department, Faculty of Mathematics and Computer Science, Jagiellonian University, Łojasiewicza 6, 30-348 Kraków, Poland
Olivier Bodini
Affiliation:
Institut Galilée, Université Paris 13, 99 Avenue Jean Baptiste Clément, 93430 Villetaneuse, France.
Sergey Dovgal*
Affiliation:
Institut Galilée, Université Paris 13, 99 Avenue Jean Baptiste Clément, 93430 Villetaneuse, France.
*
*Corresponding author. E-mail: vit.north@gmail.com
Rights & Permissions [Opens in a new window]

Abstract

Combinatorial samplers are algorithmic schemes devised for the approximate- and exact-size generation of large random combinatorial structures, such as context-free words, various tree-like data structures, maps, tilings, RNA molecules. They can be adapted to combinatorial specifications with additional parameters, allowing for a more flexible control over the output profile of parametrised combinatorial patterns. One can control, for instance, the number of leaves, profile of node degrees in trees or the number of certain sub-patterns in generated strings. However, such a flexible control requires an additional and nontrivial tuning procedure. Using techniques of convex optimisation, we present an efficient tuning algorithm for multi-parametric combinatorial specifications. Our algorithm works in polynomial time in the system description length, the number of tuning parameters, the number of combinatorial classes in the specification, and the logarithm of the total target size. We demonstrate the effectiveness of our method on a series of practical examples, including rational, algebraic, and so-called Pólya specifications. We show how our method can be adapted to a broad range of less typical combinatorial constructions, including symmetric polynomials, labelled sets and cycles with cardinality lower bounds, simple increasing trees or substitutions. Finally, we discuss some practical aspects of our prototype tuner implementation and provide its benchmark results.

Information

Type
Paper
Copyright
© The Author(s), 2021. Published by Cambridge University Press
Figure 0

Table 1 Multivariate generating functions and corresponding Boltzmann samplers $\Gamma\mathcal{C}(\boldsymbol{z})$.

Figure 1

Table 2 Multivariate generating functions and corresponding Boltzmann samplers $\Gamma\mathcal{C}(\boldsymbol{z})$ for unlabelled constructions.

Figure 2

Table 3 Multivariate generating functions and corresponding Boltzmann samplers $\Gamma\mathcal{C}(\boldsymbol{z})$ for labelled constructions.

Figure 3

Figure 1. Dependency of parameters and expectations for multi-parametric tuning. Circle radii represent the possible values of the parameters.

Figure 4

Figure 2. Binary trees $B \geqslant z + zB^2 $ and log-exp transform of the feasible set. The black curve denotes the principal branch of the generating function B(z) corresponding to the class of binary trees.

Figure 5

Table 4 $|f^{\prime\prime\prime}(\widehat{x})| = \frac{3 \beta}{\widehat{x}} f^{\prime\prime}(\widehat{x})$ for different $\beta$ and corresponding $\widehat{x}$.

Figure 6

Figure 3. Optimal biased expectation.

Figure 7

Table 5 Pairs of values $(\delta_{\text{min}}, \kappa_c(\varepsilon,\alpha,\delta_{\text{min}}))$ for respective parameters $\varepsilon$ and $\alpha$. Numerical values are rounded up to the second decimal point.

Figure 8

Figure 4. Examples of admissible tiles.

Figure 9

Figure 5. Eight random ${n \times 7}$ tilings of areas in the interval $[500; 520]$ using in total 95 different tiles.

Figure 10

Figure 6. Two random plane trees with degrees in the set ${D = \{{0,\ldots,9}\}}$. On the left, a tree of size in between 500 and 550; on the right, a tree of size in the interval $[10, 000; 10, 050]$.

Figure 11

Table 6 Empirical frequencies of the node degree distribution.

Figure 12

Figure 7. On the left, a random $\lambda$-term of size in the interval $[500;550]$; on the right, a larger example of a random $\lambda$-term of size between 10,000 and 10,050.

Figure 13

Table 7 Empirical frequencies (with respect to the term size) of index distribution.

Figure 14

Figure 8. Young tableaux corresponding to Bose–Einstein condensates with expected numbers of different colours. Notation $[c_1, c_2, \ldots, c_k] $ provides the expected number $c_j $ of the j -th colour, $c_k^m $ is a shortcut for m occurrences of $c_k $.

Figure 15

Table 8 Empirical frequencies of colours observed in random partition.

Figure 16

Figure 9. Random coloured Cayley tree of size 1665 drawn with Kamada–Kawai algorithm [KK89].

Figure 17

Figure 10. Histogram of colour frequencies for Cayley tree.

Figure 18

Table 9 Numerical values for multi-partite rooted labelled trees parameters.

Figure 19

Figure 11. Random coloured Otter tree of size 1434 drawn with Kamada–Kawai algorithm [KK89].

Figure 20

Figure 12. Histogram of colour frequencies for Otter tree.

Figure 21

Table 10 Numerical values of tuning parameters for multicoloured Otter trees.

Figure 22

Figure 13. Visualisation of a random permutation 76512834.