61 research outputs found

    An Efficient generic algorithm for the generation of unlabelled cycles

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    A universal word for a finite alphabet AA and some integer n≥1n\geq 1 is a word over AA such that every word in AnA^n appears exactly once as a subword (cyclically or linearly). It is well-known and easy to prove that universal words exist for any AA and nn. In this work we initiate the systematic study of universal partial words. These are words that in addition to the letters from AA may contain an arbitrary number of occurrences of a special `joker' symbol ◊∉A\Diamond\notin A, which can be substituted by any symbol from AA. For example, u=0◊011100u=0\Diamond 011100 is a linear partial word for the binary alphabet A={0,1}A=\{0,1\} and for n=3n=3 (e.g., the first three letters of uu yield the subwords 000000 and 010010). We present results on the existence and non-existence of linear and cyclic universal partial words in different situations (depending on the number of ◊\Diamonds 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

    Get PDF
    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)
    • …
    corecore