Boltzmann sampling of irreducible context-free structures in linear time
We continue our program of improving the complexity of so-called Boltzmann sampling algorithms, for the exact sampling of combinatorial structures, and reach average linear-time complexity, i.e. optimality up to a multiplicative constant. Here we solve this problem for irreducible context-free structures, a broad family of structures to which the celebrated Drmota–Lalley–Woods Theorem applies. Our algorithm is a rejection algorithm. The main idea is to single out some degrees of freedom, i.e. write p(x)=p_1(y) p_2(x|y), which allows to introduce a rejection factor at the level of the y object, that is almost surely of order 1.
READ FULL TEXT