A universal cycle for a set S of combinatorial objects is a cyclic sequence of length |S| that contains a representative of each element in S exactly once as a substring. Despite the many universal cycle constructions known in the literature for various sets including k-ary strings of length n, permutations of order n, t-subsets of an n-set, and t-multisets of an n-set, remarkably few have efficient decoding (ranking/unranking) algorithms. In this paper we develop the first polynomial time/space decoding algorithms for bounded-weight de Bruijn sequences for strings of length nover an alphabet of size k. The results are then applied to decode universal cycles for t-subsets and t-multisets.
翻译:对于组合对象集合S,通用循环是指长度为|S|的循环序列,其中每个S中的元素恰好作为子串出现一次。尽管文献中已针对多种集合(包括长度为n的k元字符串、n阶排列、n元集的t-子集以及n元集的t-多集)提出了许多通用循环构造方法,但令人惊讶的是,其中极少具备高效的解码(排序/逆排序)算法。本文针对字母表大小为k、长度为n的字符串,首次开发了有界权重德布鲁因序列的多项式时间/空间解码算法。该结果随后被应用于解码t-子集与t-多集的通用循环。