Searcharxiv⌕ Search

arXiv subjects

Olivier Bodini

Publications and source records attributed to Olivier Bodini.

At least 37 records · Page 2Linked to original sources

Parallel Galton Watson Process

In this paper, we study a parallel version of Galton-Watson processes for the random generation of tree-shaped structures. Random trees are useful in many situations (testing, binary search, simulation of physics phenomena,...) as attests more than 49000 citations on Google scholar. Using standard analytic combinatorics, we first give a theoretical, average-case study of the random process in order to evaluate how parallelism can be extracted from this process, and we deduce a parallel generation algorithm. Then we present how it can be implemented in a task-based parallel paradigm for shared memory (here, Intel Cilk). This implementation faces several challenges, among which efficient, thread-safe random bit generation, memory management and algorithmic modifications for small-grain parallelism. Finally, we evaluate the performance of our implementation and the impact of different choices and parameters. We obtain a significant efficiency improvement for the generation of big trees. We also conduct empirical and theoretical studies of the average behaviour of our algorithm.

cs.DC↗

On the number of unary-binary tree-like structures with restrictions on the unary height

We consider various classes of Motzkin trees as well as lambda-terms for which we derive asymptotic enumeration results. These classes are defined through various restrictions concerning the unary nodes or abstractions, respectively: We either bound their number or the allowed levels of nesting. The enumeration is done by means of a generating function approach and singularity analysis. The generating functions are composed of nested square roots and exhibit unexpected phenomena in some of the cases. Furthermore, we present some observations obtained from generating such terms randomly and explain why usually powerful tools for random generation, such as Boltzmann samplers, face serious difficulties in generating lambda-terms.

math.CO↗

MergeShuffle: A Very Fast, Parallel Random Permutation Algorithm

This article introduces an algorithm, MergeShuffle, which is an extremely efficient algorithm to generate random permutations (or to randomly permute an existing array). It is easy to implement, runs in $n\log_2 n + O(1)$ time, is in-place, uses $n\log_2 n + Θ(n)$ random bits, and can be parallelized accross any number of processes, in a shared-memory PRAM model. Finally, our preliminary simulations using OpenMP suggest it is more efficient than the Rao-Sandelius algorithm, one of the fastest existing random permutation algorithms. We also show how it is possible to further reduce the number of random bits consumed, by introducing a second algorithm BalancedShuffle, a variant of the Rao-Sandelius algorithm which is more conservative in the way it recursively partitions arrays to be shuffled. While this algorithm is of lesser practical interest, we believe it may be of theoretical value. Our full code is available at: https://github.com/axel-bacher/mergeshuffle

cs.DS↗

Analytic Samplers and the Combinatorial Rejection Method

Boltzmann samplers, introduced by Duchon et al. in 2001, make it possible to uniformly draw approximate size objects from any class which can be specified through the symbolic method. This, through by evaluating the associated generating functions to obtain the correct branching probabilities. But these samplers require generating functions, in particular in the neighborhood of their sunglarity, which is a complex problem; they also require picking an appropriate tuning value to best control the size of generated objects. Although Pivoteau~\etal have brought a sweeping question to the first question, with the introduction of their Newton oracle, questions remain. By adapting the rejection method, a classical tool from the random, we show how to obtain a variant of the Boltzmann sampler framework, which is tolerant of approximation, even large ones. Our goal for this is twofold: this allows for exact sampling with approximate values; but this also allows much more flexibility in tuning samplers. For the class of simple trees, we will try to show how this could be used to more easily calibrate samplers.

cs.DM↗

A Quantitative Study of Pure Parallel Processes

In this paper, we study the interleaving -- or pure merge -- operator that most often characterizes parallelism in concurrency theory. This operator is a principal cause of the so-called combinatorial explosion that makes very hard - at least from the point of view of computational complexity - the analysis of process behaviours e.g. by model-checking. The originality of our approach is to study this combinatorial explosion phenomenon on average, relying on advanced analytic combinatorics techniques. We study various measures that contribute to a better understanding of the process behaviours represented as plane rooted trees: the number of runs (corresponding to the width of the trees), the expected total size of the trees as well as their overall shape. Two practical outcomes of our quantitative study are also presented: (1) a linear-time algorithm to compute the probability of a concurrent run prefix, and (2) an efficient algorithm for uniform random sampling of concurrent runs. These provide interesting responses to the combinatorial explosion problem.

cs.PL↗

Random-bit optimal uniform sampling for rooted planar trees with given sequence of degrees and Applications

In this paper, we redesign and simplify an algorithm due to Remy et al. for the generation of rooted planar trees that satisfies a given partition of degrees. This new version is now optimal in terms of random bit complexity, up to a multiplicative constant. We then apply a natural process "simulate-guess-and-proof" to analyze the height of a random Motzkin in function of its frequency of unary nodes. When the number of unary nodes dominates, we prove some unconventional height phenomenon (i.e. outside the universal square root behaviour.)

cs.DM↗

Efficient random sampling of binary and unary-binary trees via holonomic equations

We present a new uniform random sampler for binary trees with $n$ internal nodes consuming $2n + Θ(\log(n)^2)$ random bits on average. This makes it quasi-optimal and out-performs the classical Remy algorithm. We also present a sampler for unary-binary trees with $n$ nodes taking $Θ(n)$ random bits on average. Both are the first linear-time algorithms to be optimal up to a constant.

cs.DS↗

Asymptotic Analysis and Random Sampling of Digitally Convex Polyominoes

Recent work of Brlek \textit{et al.} gives a characterization of digitally convex polyominoes using combinatorics on words. From this work, we derive a combinatorial symbolic description of digitally convex polyominoes and use it to analyze their limit properties and build a uniform sampler. Experimentally, our sampler shows a limit shape for large digitally convex polyominoes.

cs.DM↗

Enumeration of generalized $BCI$ lambda-terms

We investigate the asymptotic number of elements of size $n$ in a particular class of closed lambda-terms (so-called $BCI(p)$-terms) which are related to axiom systems of combinatory logic. By deriving a differential equation for the generating function of the counting sequence we obtain a recurrence relation which can be solved asymptotically. We derive differential equations for the generating functions of the counting sequences of other more general classes of terms as well: the class of $BCK(p)$-terms and that of closed lambda-terms. Using elementary arguments we obtain upper and lowerestimates for the number of closed lambda-terms of size $n$. Moreover, a recurrence relation is derived which allows an efficient computation of the counting sequence. $BCK(p)$-terms are discussed briefly.

math.CO↗

Distances on Rhombus Tilings

The rhombus tilings of a simply connected domain of the Euclidean plane are known to form a flip-connected space (a flip is the elementary operation on rhombus tilings which rotates 180° a hexagon made of three rhombi). Motivated by the study of a quasicrystal growth model, we are here interested in better understanding how "tight" rhombus tiling spaces are flip-connected. We introduce a lower bound (Hamming-distance) on the minimal number of flips to link two tilings (flip-distance), and we investigate whether it is sharp. The answer depends on the number n of different edge directions in the tiling: positive for n=3 (dimer tilings) or n=4 (octogonal tilings), but possibly negative for n=5 (decagonal tilings) or greater values of n. A standard proof is provided for the n=3 and n=4 cases, while the complexity of the n=5 case led to a computer-assisted proof (whose main result can however be easily checked by hand).

cs.DM↗

Stochastic Flips on Two-letter Words

This paper introduces a simple Markov process inspired by the problem of quasicrystal growth. It acts over two-letter words by randomly performing \emph{flips}, a local transformation which exchanges two consecutive different letters. More precisely, only the flips which do not increase the number of pairs of consecutive identical letters are allowed. Fixed-points of such a process thus perfectly alternate different letters. We show that the expected number of flips to converge towards a fixed-point is bounded by $O(n^3)$ in the worst-case and by $O(n^{5/2}\ln{n})$ in the average-case, where $n$ denotes the length of the initial word.

math.PR↗

Multi-dimensional Boltzmann Sampling of Languages

This paper addresses the uniform random generation of words from a context-free language (over an alphabet of size $k$), while constraining every letter to a targeted frequency of occurrence. Our approach consists in a multidimensional extension of Boltzmann samplers \cite{Duchon2004}. We show that, under mostly \emph{strong-connectivity} hypotheses, our samplers return a word of size in $[(1-\varepsilon)n, (1+\varepsilon)n]$ and exact frequency in $\mathcal{O}(n^{1+k/2})$ expected time. Moreover, if we accept tolerance intervals of width in $Ω(\sqrt{n})$ for the number of occurrences of each letters, our samplers perform an approximate-size generation of words in expected $\mathcal{O}(n)$ time. We illustrate these techniques on the generation of Tetris tessellations with uniform statistics in the different types of tetraminoes.

cs.DS↗

Boltzmann Samplers for Colored Combinatorial Objects

In this paper, we give a general framework for the Boltzmann generation of colored objects belonging to combinatorial constructible classes. We propose an intuitive notion called profiled objects which allows the sampling of size-colored objects (and also of k-colored objects) although the corresponding class cannot be described by an analytic ordinary generating function.

cs.DM↗

Boltzmann Samplers for v-balanced Colored Necklaces

This paper is devoted to the random generation of particular colored necklaces for which the number of beads of a given color is constrained (these necklaces are called v-balanced). We propose an efficient sampler (its expected time complexity is linear) which satisfies the Boltzmann model principle introduced by Duchon, Flajolet, Louchard and Schaeffer. Our main motivation is to show that the absence of a decomposable specification can be circumvented by mixing the Boltzmann samplers with other types of samplers.

cs.DM↗

Optimal Partial Tiling of Manhattan Polyominoes

Finding an efficient optimal partial tiling algorithm is still an open problem. We have worked on a special case, the tiling of Manhattan polyominoes with dominoes, for which we give an algorithm linear in the number of columns. Some techniques are borrowed from traditional graph optimisation problems.

cs.DM↗

On the Minimum Size of a Contraction-Universal Tree

A tree T_uni is m-universal for the class of trees if for every tree T of size m, T can be obtained from T_uni by successive contractions of edges. We prove that a m-universal tree for the class of trees has at least mln(m) + (gamma-1)m + O(1) edges where is the Euler's constant and we build such a tree with less than mc edges for a fixed constant c = 1.984...

cs.DM↗

The connectivity-profile of random increasing k-trees

Random increasing k-trees represent an interesting, useful class of strongly dependent graphs for which analytic-combinatorial tools can be successfully applied. We study in this paper a notion called connectivity-profile and derive asymptotic estimates for it; some interesting consequences will also be given.

math.CO↗