Abstract

We address the non-redundant random generation of kk words of length nn 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 kk 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 kk words of length nn in O(k⋅n⋅log⁡n)\mathcal{O}(k\cdot n\cdot \log{n}) arithmetic operations, after a precomputation of Θ(n)Θ(n) numbers. The overall complexity is therefore dominated by the generation of kk words, and the non-redundancy comes at a negligible cost.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.