83,412 research outputs found
Boltzmann samplers for random generation of lambda terms
Randomly generating structured objects is important in testing and optimizing
functional programs, whereas generating random -terms is more specifically
needed for testing and optimizing compilers. For that a tool called QuickCheck
has been proposed, but in this tool the control of the random generation is
left to the programmer. Ten years ago, a method called Boltzmann samplers has
been proposed to generate combinatorial structures. In this paper, we show how
Boltzmann samplers can be developed to generate lambda-terms, but also other
data structures like trees. These samplers rely on a critical value which
parameters the main random selector and which is exhibited here with
explanations on how it is computed. Haskell programs are proposed to show how
samplers are actually implemented
A Beta-splitting model for evolutionary trees
In this article, we construct a generalization of the Blum-Fran\c{c}ois
Beta-splitting model for evolutionary trees, which was itself inspired by
Aldous' Beta-splitting model on cladograms. The novelty of our approach allows
for asymmetric shares of diversification rates (or diversification `potential')
between two sister species in an evolutionarily interpretable manner, as well
as the addition of extinction to the model in a natural way. We describe the
incremental evolutionary construction of a tree with n leaves by splitting or
freezing extant lineages through the Generating, Organizing and Deleting
processes. We then give the probability of any (binary rooted) tree under this
model with no extinction, at several resolutions: ranked planar trees giving
asymmetric roles to the first and second offspring species of a given species
and keeping track of the order of the speciation events occurring during the
creation of the tree, unranked planar trees, ranked non-planar trees and
finally (unranked non-planar) trees. We also describe a continuous-time
equivalent of the Generating, Organizing and Deleting processes where tree
topology and branch-lengths are jointly modeled and provide code in
SageMath/python for these algorithms.Comment: 23 pages, 3 figures, 1 tabl
Uniform random sampling of planar graphs in linear time
This article introduces new algorithms for the uniform random generation of
labelled planar graphs. Its principles rely on Boltzmann samplers, as recently
developed by Duchon, Flajolet, Louchard, and Schaeffer. It combines the
Boltzmann framework, a suitable use of rejection, a new combinatorial bijection
found by Fusy, Poulalhon and Schaeffer, as well as a precise analytic
description of the generating functions counting planar graphs, which was
recently obtained by Gim\'enez and Noy. This gives rise to an extremely
efficient algorithm for the random generation of planar graphs. There is a
preprocessing step of some fixed small cost. Then, the expected time complexity
of generation is quadratic for exact-size uniform sampling and linear for
approximate-size sampling. This greatly improves on the best previously known
time complexity for exact-size uniform sampling of planar graphs with
vertices, which was a little over .Comment: 55 page
- …