Non-redundant random generation algorithms for weighted context-free languages
arXiv:1211.0303
Abstract
We address the non-redundant random generation of words of length in a context-free language. Additionally, we want to avoid a predefined set of words. We study a rejection-based approach, whose worst-case time complexity is shown to grow exponentially with for some specifications and in the limit case of a coupon collector. We propose two algorithms respectively based on the recursive method and on an unranking approach. We show how careful implementations of these algorithms allow for a non-redundant generation of words of length in arithmetic operations, after a precomputation of numbers. The overall complexity is therefore dominated by the generation of words, and the non-redundancy comes at a negligible cost.
arXiv admin note: text overlap with arXiv:1012.4560