Non-redundant random generation algorithms for weighted context-free languages

Abstract : We address the non-redundant random generation of $k$ words of length $n$ 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 $k$ 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 $k$ words of length $n$ in $\mathcal{O}(k\cdot n\cdot \log{n})$ arithmetic operations, after a precomputation of $\Theta(n)$ numbers. The overall complexity is therefore dominated by the generation of $k$ words, and the non-redundancy comes at a negligible cost.
Document type :
Journal articles
Theoretical Computer Science, Elsevier, 2013, Generation of Combinatorial Structures, 502, pp.177-194. <10.1016/j.tcs.2013.01.006>


https://hal.inria.fr/inria-00607745
Contributor : Yann Ponty <>
Submitted on : Thursday, November 1, 2012 - 11:20:57 AM
Last modification on : Friday, September 13, 2013 - 9:49:17 PM

Files

NonRedundantGeneration-TCS-201...
fileSource_public_author

Identifiers

Collections

Citation

Andy Lorenz, Yann Ponty. Non-redundant random generation algorithms for weighted context-free languages. Theoretical Computer Science, Elsevier, 2013, Generation of Combinatorial Structures, 502, pp.177-194. <10.1016/j.tcs.2013.01.006>. <inria-00607745v2>

Export

Share

Metrics

Consultation de
la notice

228

Téléchargement du document

58