61 research outputs found
An Efficient generic algorithm for the generation of unlabelled cycles
In this report we combine two recent generation algorithms to obtain a
new algorithm for the generation of unlabelled cycles. Sawada's
algorithm lists all k-ary unlabelled cycles with fixed
content, that is, the
number of occurences of each symbol is fixed and given a priori.
The other algorithm, by the authors, generates all
multisets of objects with given total size n from any admissible
unlabelled class A. By admissible
we mean that the class can be specificied using atomic classes,
disjoints unions, products, sequences, (multi)sets, etc.
The resulting algorithm, which is the main contribution of this paper,
generates all cycles of objects with given total size n from any
admissible class A. Given the
generic nature of the algorithm, it is suitable for inclusion in
combinatorial libraries and for rapid prototyping. The new algorithm
incurs constant amortized time per generated cycle, the constant only
depending in the class A to which the objects in the cycle belong.Postprint (published version
Efficient indexing of necklaces and irreducible polynomials over finite fields
We study the problem of indexing irreducible polynomials over finite fields,
and give the first efficient algorithm for this problem. Specifically, we show
the existence of poly(n, log q)-size circuits that compute a bijection between
{1, ... , |S|} and the set S of all irreducible, monic, univariate polynomials
of degree n over a finite field F_q. This has applications in pseudorandomness,
and answers an open question of Alon, Goldreich, H{\aa}stad and Peralta[AGHP].
Our approach uses a connection between irreducible polynomials and necklaces
( equivalence classes of strings under cyclic rotation). Along the way, we give
the first efficient algorithm for indexing necklaces of a given length over a
given alphabet, which may be of independent interest
Gray code order for Lyndon words
International audienceAt the 4th Conference on Combinatorics on Words, Christophe Reutenauer posed the question of whether the dual reflected order yields a Gray code on the Lyndon family. In this paper we give a positive answer. More precisely, we present an O(1)-average-time algorithm for generating length n binary pre-necklaces, necklaces and Lyndon words in Gray code order
Efficient Ranking of Lyndon Words and Decoding Lexicographically Minimal de Bruijn Sequence
We give efficient algorithms for ranking Lyndon words of length n over an
alphabet of size {\sigma}. The rank of a Lyndon word is its position in the
sequence of lexicographically ordered Lyndon words of the same length. The
outputs are integers of exponential size, and complexity of arithmetic
operations on such large integers cannot be ignored. Our model of computations
is the word-RAM, in which basic arithmetic operations on (large) numbers of
size at most {\sigma}^n take O(n) time. Our algorithm for ranking Lyndon words
makes O(n^2) arithmetic operations (this would imply directly cubic time on
word-RAM). However, using an algebraic approach we are able to reduce the total
time complexity on the word-RAM to O(n^2 log {\sigma}). We also present an
O(n^3 log^2 {\sigma})-time algorithm that generates the Lyndon word of a given
length and rank in lexicographic order. Finally we use the connections between
Lyndon words and lexicographically minimal de Bruijn sequences (theorem of
Fredricksen and Maiorana) to develop the first polynomial-time algorithm for
decoding minimal de Bruijn sequence of any rank n (it determines the position
of an arbitrary word of length n within the de Bruijn sequence).Comment: Improved version of a paper presented at CPM 201
On universal partial words
A universal word for a finite alphabet and some integer is a
word over such that every word in appears exactly once as a subword
(cyclically or linearly). It is well-known and easy to prove that universal
words exist for any and . In this work we initiate the systematic study
of universal partial words. These are words that in addition to the letters
from may contain an arbitrary number of occurrences of a special `joker'
symbol , which can be substituted by any symbol from . For
example, is a linear partial word for the binary alphabet
and for (e.g., the first three letters of yield the
subwords and ). We present results on the existence and
non-existence of linear and cyclic universal partial words in different
situations (depending on the number of s and their positions),
including various explicit constructions. We also provide numerous examples of
universal partial words that we found with the help of a computer
Generating generalized necklaces and new quasi-cyclic codes
In many cases there is a need of exhaustive lists of combinatorial objects of a given type. We consider generation of all inequivalent polynomials from which defining polynomials for constructing quasi-cyclic (QC) codes are to be chosen. Using these defining polynomials we construct 34 new good QC codes over GF(11) and 36 such codes over GF(13)
- …